This commit was manufactured by cvs2svn to create tag 'v201202200000'.
diff --git a/assembly/features/org.eclipse.jpt.assembly.feature/.cvsignore b/assembly/features/org.eclipse.jpt.assembly.feature/.cvsignore
deleted file mode 100644
index de8b73f..0000000
--- a/assembly/features/org.eclipse.jpt.assembly.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.jpt_1.0.0.*
diff --git a/assembly/features/org.eclipse.jpt.assembly.feature/.project b/assembly/features/org.eclipse.jpt.assembly.feature/.project
deleted file mode 100644
index 1e211af..0000000
--- a/assembly/features/org.eclipse.jpt.assembly.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.assembly.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/assembly/features/org.eclipse.jpt.assembly.feature/build.properties b/assembly/features/org.eclipse.jpt.assembly.feature/build.properties
deleted file mode 100644
index e69de29..0000000
--- a/assembly/features/org.eclipse.jpt.assembly.feature/build.properties
+++ /dev/null
diff --git a/assembly/features/org.eclipse.jpt.assembly.feature/eclipse_update_120.jpg b/assembly/features/org.eclipse.jpt.assembly.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/assembly/features/org.eclipse.jpt.assembly.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/assembly/features/org.eclipse.jpt.assembly.feature/feature.properties b/assembly/features/org.eclipse.jpt.assembly.feature/feature.properties
deleted file mode 100644
index 67207bf..0000000
--- a/assembly/features/org.eclipse.jpt.assembly.feature/feature.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - 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=Dali Java Persistence Tools 
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - Runtime
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/assembly/features/org.eclipse.jpt.assembly.feature/feature.xml b/assembly/features/org.eclipse.jpt.assembly.feature/feature.xml
deleted file mode 100644
index eb5e528..0000000
--- a/assembly/features/org.eclipse.jpt.assembly.feature/feature.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.assembly.feature"
-      label="%featureName"
-      version="2.3.1.qualifier"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates"/>
-      <discovery label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jpt.common.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.common.eclipselink.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpa.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpa.eclipselink.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.eclipselink.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.dbws.eclipselink.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpadiagrameditor.feature"
-         version="0.0.0"/>
-
-</feature>
diff --git a/assembly/features/org.eclipse.jpt.patch/.project b/assembly/features/org.eclipse.jpt.patch/.project
deleted file mode 100644
index b7a2bf5..0000000
--- a/assembly/features/org.eclipse.jpt.patch/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.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/assembly/features/org.eclipse.jpt.patch/build.properties b/assembly/features/org.eclipse.jpt.patch/build.properties
deleted file mode 100644
index c381fb2..0000000
--- a/assembly/features/org.eclipse.jpt.patch/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = feature.xml,\
-               license.html,\
-               feature.properties,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
-src.includes = eclipse_update_120.jpg,\
-               epl-v10.html,\
-               feature.properties,\
-               feature.xml,\
-               license.html
diff --git a/assembly/features/org.eclipse.jpt.patch/buildnotes_org.eclipse.jpt.patch.html b/assembly/features/org.eclipse.jpt.patch/buildnotes_org.eclipse.jpt.patch.html
deleted file mode 100644
index 0d115f4..0000000
--- a/assembly/features/org.eclipse.jpt.patch/buildnotes_org.eclipse.jpt.patch.html
+++ /dev/null
@@ -1,20 +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>Java Persistence Tools (JTP) 1.0.2 Patches</title>
-</head>
-
-<body>
-
-<h1>JTP 2.0.2 Patches</h1>
-
-<h2>Feature Patched: org.eclipse.jpt.patch</h2>
-<h3>Plugin(s) replaced:</h3>
-<ul><li>org.eclipse.jpt.gen</li></ul>
-<p>Bug <a href='https://bugs.eclipse.org/220297'>220297</a>. Entity generation creates Embeddables with compile errors in some cases.</p>
-
-
-</body></html>
\ No newline at end of file
diff --git a/assembly/features/org.eclipse.jpt.patch/eclipse_update_120.jpg b/assembly/features/org.eclipse.jpt.patch/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/assembly/features/org.eclipse.jpt.patch/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/assembly/features/org.eclipse.jpt.patch/epl-v10.html b/assembly/features/org.eclipse.jpt.patch/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/assembly/features/org.eclipse.jpt.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/assembly/features/org.eclipse.jpt.patch/feature.properties b/assembly/features/org.eclipse.jpt.patch/feature.properties
deleted file mode 100644
index a8457ea..0000000
--- a/assembly/features/org.eclipse.jpt.patch/feature.properties
+++ /dev/null
@@ -1,143 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Java Persistence Tools (JTP) Patches
-
-# "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=\
-Patch(s) for Java Persistence API (JPA) Tools. \n\
-See bug 220297 (https://bugs.eclipse.org/bugs/220297) Entity generation creates Embeddables with compile errors in some cases \n\
-
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006-08 Oracle Corporation.\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\
-    Oracle - 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\
-June 06, 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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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/assembly/features/org.eclipse.jpt.patch/feature.xml b/assembly/features/org.eclipse.jpt.patch/feature.xml
deleted file mode 100644
index 4fae92b..0000000
--- a/assembly/features/org.eclipse.jpt.patch/feature.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.patch"
-      label="%featureName"
-      version="1.0.2.qualifier"
-      provider-name="%providerName">
-
-   <description url="http://download.eclipse.org/webtools/patches/">
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="Web Tools Platform (WTP) Patches" url="http://download.eclipse.org/webtools/patches/"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.jpt.feature" version="1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD" patch="true"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.gen"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/assembly/features/org.eclipse.jpt.patch/license.html b/assembly/features/org.eclipse.jpt.patch/license.html
deleted file mode 100644
index 2347060..0000000
--- a/assembly/features/org.eclipse.jpt.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/assembly/features/org.eclipse.jpt.sdk/.cvsignore b/assembly/features/org.eclipse.jpt.sdk/.cvsignore
deleted file mode 100644
index bc2abf7..0000000
--- a/assembly/features/org.eclipse.jpt.sdk/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.bin.dist.zip
-build.xml
-features
-plugins
diff --git a/assembly/features/org.eclipse.jpt.sdk/.project b/assembly/features/org.eclipse.jpt.sdk/.project
deleted file mode 100644
index 821d453..0000000
--- a/assembly/features/org.eclipse.jpt.sdk/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.sdk</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/assembly/features/org.eclipse.jpt.sdk/build.properties b/assembly/features/org.eclipse.jpt.sdk/build.properties
deleted file mode 100644
index 7200939..0000000
--- a/assembly/features/org.eclipse.jpt.sdk/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/assembly/features/org.eclipse.jpt.sdk/eclipse_update_120.jpg b/assembly/features/org.eclipse.jpt.sdk/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/assembly/features/org.eclipse.jpt.sdk/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/assembly/features/org.eclipse.jpt.sdk/epl-v10.html b/assembly/features/org.eclipse.jpt.sdk/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/assembly/features/org.eclipse.jpt.sdk/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/assembly/features/org.eclipse.jpt.sdk/feature.properties b/assembly/features/org.eclipse.jpt.sdk/feature.properties
deleted file mode 100644
index 64b1fab..0000000
--- a/assembly/features/org.eclipse.jpt.sdk/feature.properties
+++ /dev/null
@@ -1,170 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - 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=Dali Java Persistence Tools project SDK
-
-# "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=Dali Java Persistence Tools project SDK
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 Oracle Corporation.\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\
-    Oracle - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/assembly/features/org.eclipse.jpt.sdk/feature.xml b/assembly/features/org.eclipse.jpt.sdk/feature.xml
deleted file mode 100644
index 28dc74f..0000000
--- a/assembly/features/org.eclipse.jpt.sdk/feature.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.sdk"
-      label="%featureName"
-      version="2.3.1.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates"/>
-      <discovery label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jpt_sdk.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.eclipselink_sdk.feature"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jpt"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/assembly/features/org.eclipse.jpt.sdk/license.html b/assembly/features/org.eclipse.jpt.sdk/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/assembly/features/org.eclipse.jpt.sdk/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/assembly/features/org.eclipse.jpt.tests.assembly.feature/.cvsignore b/assembly/features/org.eclipse.jpt.tests.assembly.feature/.cvsignore
deleted file mode 100644
index 2544693..0000000
--- a/assembly/features/org.eclipse.jpt.tests.assembly.feature/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.bin.dist.zip
-build.xml
-org.eclipse.jpt.tests_1.0.0.*
\ No newline at end of file
diff --git a/assembly/features/org.eclipse.jpt.tests.assembly.feature/.project b/assembly/features/org.eclipse.jpt.tests.assembly.feature/.project
deleted file mode 100644
index f34899c..0000000
--- a/assembly/features/org.eclipse.jpt.tests.assembly.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.tests.assembly.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/assembly/features/org.eclipse.jpt.tests.assembly.feature/.settings/org.eclipse.core.resources.prefs b/assembly/features/org.eclipse.jpt.tests.assembly.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 17acb65..0000000
--- a/assembly/features/org.eclipse.jpt.tests.assembly.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:11:05 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/assembly/features/org.eclipse.jpt.tests.assembly.feature/build.properties b/assembly/features/org.eclipse.jpt.tests.assembly.feature/build.properties
deleted file mode 100644
index e69de29..0000000
--- a/assembly/features/org.eclipse.jpt.tests.assembly.feature/build.properties
+++ /dev/null
diff --git a/assembly/features/org.eclipse.jpt.tests.assembly.feature/eclipse_update_120.jpg b/assembly/features/org.eclipse.jpt.tests.assembly.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/assembly/features/org.eclipse.jpt.tests.assembly.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/assembly/features/org.eclipse.jpt.tests.assembly.feature/feature.properties b/assembly/features/org.eclipse.jpt.tests.assembly.feature/feature.properties
deleted file mode 100644
index 0f26029..0000000
--- a/assembly/features/org.eclipse.jpt.tests.assembly.feature/feature.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - 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=Dali Java Persistence Tools Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools project Tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/assembly/features/org.eclipse.jpt.tests.assembly.feature/feature.xml b/assembly/features/org.eclipse.jpt.tests.assembly.feature/feature.xml
deleted file mode 100644
index 3894af9..0000000
--- a/assembly/features/org.eclipse.jpt.tests.assembly.feature/feature.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.tests.assembly.feature"
-      label="%featureName"
-      version="2.3.1.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jpt.common.tests.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpa.tests.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpa.eclipselink.tests.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.tests.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.eclipselink.tests.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpadiagrameditor.tests.feature"
-         version="0.0.0"/>
-
-</feature>
diff --git a/assembly/features/org.eclipse.jpt.tests/.project b/assembly/features/org.eclipse.jpt.tests/.project
deleted file mode 100644
index c9a282f..0000000
--- a/assembly/features/org.eclipse.jpt.tests/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.tests</name>
-	<comment>Unused Project</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/assembly/features/org.eclipse.jpt/.project b/assembly/features/org.eclipse.jpt/.project
deleted file mode 100644
index 7a69c2f..0000000
--- a/assembly/features/org.eclipse.jpt/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt</name>
-	<comment>Unused Project</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/.cvsignore b/assembly/features/org.eclipse.jpt_sdk.assembly.feature/.cvsignore
deleted file mode 100644
index bc2abf7..0000000
--- a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.bin.dist.zip
-build.xml
-features
-plugins
diff --git a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/.project b/assembly/features/org.eclipse.jpt_sdk.assembly.feature/.project
deleted file mode 100644
index e901372..0000000
--- a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt_sdk.assembly.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/build.properties b/assembly/features/org.eclipse.jpt_sdk.assembly.feature/build.properties
deleted file mode 100644
index e69de29..0000000
--- a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/build.properties
+++ /dev/null
diff --git a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/eclipse_update_120.jpg b/assembly/features/org.eclipse.jpt_sdk.assembly.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/feature.properties b/assembly/features/org.eclipse.jpt_sdk.assembly.feature/feature.properties
deleted file mode 100644
index afcb117..0000000
--- a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/feature.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - 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=Dali Java Persistence Tools SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools project SDK
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/feature.xml b/assembly/features/org.eclipse.jpt_sdk.assembly.feature/feature.xml
deleted file mode 100644
index 91dbc3a..0000000
--- a/assembly/features/org.eclipse.jpt_sdk.assembly.feature/feature.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt_sdk.assembly.feature"
-      label="%featureName"
-      version="2.3.1.qualifier"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates"/>
-      <discovery label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jpt.common_sdk.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.common.eclipselink_sdk.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpa_sdk.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpa.eclipselink_sdk.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jaxb_sdk.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.eclipselink_sdk.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.dbws.eclipselink_sdk.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpadiagrameditor_sdk.feature"
-         version="0.0.0"/>
-
-</feature>
diff --git a/assembly/plugins/org.eclipse.jpt/.cvsignore b/assembly/plugins/org.eclipse.jpt/.cvsignore
deleted file mode 100644
index c9401a2..0000000
--- a/assembly/plugins/org.eclipse.jpt/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.jpt_1.0.0.*
\ No newline at end of file
diff --git a/assembly/plugins/org.eclipse.jpt/.project b/assembly/plugins/org.eclipse.jpt/.project
deleted file mode 100644
index f51b04c..0000000
--- a/assembly/plugins/org.eclipse.jpt/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/assembly/plugins/org.eclipse.jpt/.settings/org.eclipse.core.resources.prefs b/assembly/plugins/org.eclipse.jpt/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 4aec29d..0000000
--- a/assembly/plugins/org.eclipse.jpt/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:10:09 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/assembly/plugins/org.eclipse.jpt/META-INF/MANIFEST.MF b/assembly/plugins/org.eclipse.jpt/META-INF/MANIFEST.MF
deleted file mode 100644
index a5fbedd..0000000
--- a/assembly/plugins/org.eclipse.jpt/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt; singleton:=true
-Bundle-Version: 2.3.1.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/assembly/plugins/org.eclipse.jpt/about.html b/assembly/plugins/org.eclipse.jpt/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/assembly/plugins/org.eclipse.jpt/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/assembly/plugins/org.eclipse.jpt/about.ini b/assembly/plugins/org.eclipse.jpt/about.ini
deleted file mode 100644
index 588a325..0000000
--- a/assembly/plugins/org.eclipse.jpt/about.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/assembly/plugins/org.eclipse.jpt/about.mappings b/assembly/plugins/org.eclipse.jpt/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/assembly/plugins/org.eclipse.jpt/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/assembly/plugins/org.eclipse.jpt/about.properties b/assembly/plugins/org.eclipse.jpt/about.properties
deleted file mode 100644
index c74a186..0000000
--- a/assembly/plugins/org.eclipse.jpt/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2006.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/assembly/plugins/org.eclipse.jpt/build.properties b/assembly/plugins/org.eclipse.jpt/build.properties
deleted file mode 100644
index 0ccfb0e..0000000
--- a/assembly/plugins/org.eclipse.jpt/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2007 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               eclipse32.png,\
-               plugin.properties,\
-               component.xml
diff --git a/assembly/plugins/org.eclipse.jpt/component.xml b/assembly/plugins/org.eclipse.jpt/component.xml
deleted file mode 100644
index 11f133f..0000000
--- a/assembly/plugins/org.eclipse.jpt/component.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt" fragment="false"/>
-<plugin id="org.eclipse.jpt.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.db" fragment="false"/>
-<plugin id="org.eclipse.jpt.db.ui" fragment="false"/>
-<plugin id="org.eclipse.jpt.gen" fragment="false"/>
-<plugin id="org.eclipse.jpt.ui" fragment="false"/>
-<plugin id="org.eclipse.jpt.utility" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/assembly/plugins/org.eclipse.jpt/eclipse32.gif b/assembly/plugins/org.eclipse.jpt/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/assembly/plugins/org.eclipse.jpt/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/assembly/plugins/org.eclipse.jpt/eclipse32.png b/assembly/plugins/org.eclipse.jpt/eclipse32.png
deleted file mode 100644
index 568fac1..0000000
--- a/assembly/plugins/org.eclipse.jpt/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/assembly/plugins/org.eclipse.jpt/plugin.properties b/assembly/plugins/org.eclipse.jpt/plugin.properties
deleted file mode 100644
index c3c055a..0000000
--- a/assembly/plugins/org.eclipse.jpt/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools
-providerName = Eclipse.org
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/.project b/common/features/org.eclipse.jpt.common.eclipselink.feature/.project
deleted file mode 100644
index 04b106d..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.eclipselink.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/build.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/build.properties
deleted file mode 100644
index 4f50d14..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c)  2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.eclipselink.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/feature.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/feature.properties
deleted file mode 100644
index 8a0aad2..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - EclipseLink Common
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - EclipseLink Common
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/feature.xml b/common/features/org.eclipse.jpt.common.eclipselink.feature/feature.xml
deleted file mode 100644
index 9119bbf..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/feature.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.common.eclipselink.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt.common.eclipselink.branding"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.feature" version="1.1.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.common.eclipselink.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.common.eclipselink.branding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.html b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index d4916df..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.ini b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.mappings b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index 243586d..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - EclipseLink Common Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2006, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/build.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 1c3e2eb..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse32.gif b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse32.png b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/epl-v10.html b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/license.html b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/plugin.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index 11a79f2..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - EclipseLink Common
-providerName = Eclipse Web Tools Platform
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/build.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 897839f..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               eclipse_update_120.jpg,\
-               feature.xml,\
-               feature.properties
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/feature.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 33b324c..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - 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=Dali Java Persistence Tools - EclipseLink Common
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for Dali Java Persistence Tools EclipseLink Common
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.html b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.ini b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.mappings b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index b16ba1f..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - EclipseLink Common Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2006, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/build.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 6dcfcd6..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse32.png b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/epl-v10.html b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/license.html b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/plugin.properties b/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 11a79f2..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - EclipseLink Common
-providerName = Eclipse Web Tools Platform
diff --git a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/.cvsignore b/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/.cvsignore
deleted file mode 100644
index 9d0e114..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-feature.temp.folder
-build.xml
diff --git a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/.project b/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/.project
deleted file mode 100644
index 0b73354..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.eclipselink_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/build.properties b/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/build.properties
deleted file mode 100644
index 6f317ae..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               feature.properties,\
-               eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.common.eclipselink.feature.source=org.eclipse.jpt.common.eclipselink.feature
diff --git a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/feature.properties b/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/feature.properties
deleted file mode 100644
index 465b51a..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - EclipseLink Common SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence - EclipseLink Common
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/feature.xml b/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/feature.xml
deleted file mode 100644
index 04d49b1..0000000
--- a/common/features/org.eclipse.jpt.common.eclipselink_sdk.feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.common.eclipselink_sdk.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.jpt.common.eclipselink.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.common.eclipselink.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/common/features/org.eclipse.jpt.common.feature/.project b/common/features/org.eclipse.jpt.common.feature/.project
deleted file mode 100644
index d3dad03..0000000
--- a/common/features/org.eclipse.jpt.common.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/features/org.eclipse.jpt.common.feature/build.properties b/common/features/org.eclipse.jpt.common.feature/build.properties
deleted file mode 100644
index b6886be..0000000
--- a/common/features/org.eclipse.jpt.common.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/common/features/org.eclipse.jpt.common.feature/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.feature/feature.properties b/common/features/org.eclipse.jpt.common.feature/feature.properties
deleted file mode 100644
index 05d3200..0000000
--- a/common/features/org.eclipse.jpt.common.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - Common
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - Common
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/common/features/org.eclipse.jpt.common.feature/feature.xml b/common/features/org.eclipse.jpt.common.feature/feature.xml
deleted file mode 100644
index 32c1805..0000000
--- a/common/features/org.eclipse.jpt.common.feature/feature.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.common.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt.common.branding"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <plugin
-         id="org.eclipse.jpt.common.utility"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.common.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.common.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.common.branding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.html b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index d4916df..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.ini b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.mappings b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.properties b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index e40c332..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - Common Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2006, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/build.properties b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 1c3e2eb..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse32.gif b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse32.png b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/epl-v10.html b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/license.html b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/plugin.properties b/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index 5d10675..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - Common
-providerName = Eclipse Web Tools Platform
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/build.properties b/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 897839f..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               eclipse_update_120.jpg,\
-               feature.xml,\
-               feature.properties
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/feature.properties b/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index c96ff3f..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - 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=Dali Java Persistence Tools - Common
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for Dali Java Persistence Tools Common
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.html b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.ini b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.mappings b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.properties b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index e40c332..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - Common Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2006, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/build.properties b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 6dcfcd6..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse32.gif b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse32.png b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/epl-v10.html b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/license.html b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/plugin.properties b/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 5d10675..0000000
--- a/common/features/org.eclipse.jpt.common.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - Common
-providerName = Eclipse Web Tools Platform
diff --git a/common/features/org.eclipse.jpt.common.tests.feature/.cvsignore b/common/features/org.eclipse.jpt.common.tests.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/common/features/org.eclipse.jpt.common.tests.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/common/features/org.eclipse.jpt.common.tests.feature/.project b/common/features/org.eclipse.jpt.common.tests.feature/.project
deleted file mode 100644
index 89783a7..0000000
--- a/common/features/org.eclipse.jpt.common.tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.tests.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/features/org.eclipse.jpt.common.tests.feature/build.properties b/common/features/org.eclipse.jpt.common.tests.feature/build.properties
deleted file mode 100644
index 34b9c1a..0000000
--- a/common/features/org.eclipse.jpt.common.tests.feature/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
-src.includes = \
-               feature.xml,\
-               eclipse_update_120.jpg,\
-               build.properties
diff --git a/common/features/org.eclipse.jpt.common.tests.feature/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common.tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common.tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common.tests.feature/feature.properties b/common/features/org.eclipse.jpt.common.tests.feature/feature.properties
deleted file mode 100644
index 54ef228..0000000
--- a/common/features/org.eclipse.jpt.common.tests.feature/feature.properties
+++ /dev/null
@@ -1,51 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - 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=Dali Java Persistence Tools - Common JUnit Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-# TOREVIEW - updateSiteName
-updateSiteName=Web Tools Platform (WTP) Updates
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools Common JUnit Tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2010 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/common/features/org.eclipse.jpt.common.tests.feature/feature.xml b/common/features/org.eclipse.jpt.common.tests.feature/feature.xml
deleted file mode 100644
index 70d5612..0000000
--- a/common/features/org.eclipse.jpt.common.tests.feature/feature.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.common.tests.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.feature" version="1.0.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.common.utility.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jpt.common.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/common/features/org.eclipse.jpt.common_sdk.feature/.cvsignore b/common/features/org.eclipse.jpt.common_sdk.feature/.cvsignore
deleted file mode 100644
index 9d0e114..0000000
--- a/common/features/org.eclipse.jpt.common_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-feature.temp.folder
-build.xml
diff --git a/common/features/org.eclipse.jpt.common_sdk.feature/.project b/common/features/org.eclipse.jpt.common_sdk.feature/.project
deleted file mode 100644
index 24b4574..0000000
--- a/common/features/org.eclipse.jpt.common_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/features/org.eclipse.jpt.common_sdk.feature/build.properties b/common/features/org.eclipse.jpt.common_sdk.feature/build.properties
deleted file mode 100644
index 1be2ea1..0000000
--- a/common/features/org.eclipse.jpt.common_sdk.feature/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               feature.properties,\
-               eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.common.feature.source=org.eclipse.jpt.common.feature
diff --git a/common/features/org.eclipse.jpt.common_sdk.feature/eclipse_update_120.jpg b/common/features/org.eclipse.jpt.common_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/common/features/org.eclipse.jpt.common_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/common/features/org.eclipse.jpt.common_sdk.feature/feature.properties b/common/features/org.eclipse.jpt.common_sdk.feature/feature.properties
deleted file mode 100644
index 8578168..0000000
--- a/common/features/org.eclipse.jpt.common_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - Common SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence - Common
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/common/features/org.eclipse.jpt.common_sdk.feature/feature.xml b/common/features/org.eclipse.jpt.common_sdk.feature/feature.xml
deleted file mode 100644
index 4433094..0000000
--- a/common/features/org.eclipse.jpt.common_sdk.feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.common_sdk.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.jpt.common.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.common.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/common/plugins/org.eclipse.jpt.common.branding/.cvsignore b/common/plugins/org.eclipse.jpt.common.branding/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/common/plugins/org.eclipse.jpt.common.branding/.project b/common/plugins/org.eclipse.jpt.common.branding/.project
deleted file mode 100644
index d794011..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/plugins/org.eclipse.jpt.common.branding/META-INF/MANIFEST.MF b/common/plugins/org.eclipse.jpt.common.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index f217087..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.common.branding;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/common/plugins/org.eclipse.jpt.common.branding/about.html b/common/plugins/org.eclipse.jpt.common.branding/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.branding/about.ini b/common/plugins/org.eclipse.jpt.common.branding/about.ini
deleted file mode 100644
index 6c107d4..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/about.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/common/plugins/org.eclipse.jpt.common.branding/about.mappings b/common/plugins/org.eclipse.jpt.common.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.branding/about.properties b/common/plugins/org.eclipse.jpt.common.branding/about.properties
deleted file mode 100644
index 5d9827f..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - Common\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Oracle contributors and others 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/common/plugins/org.eclipse.jpt.common.branding/build.properties b/common/plugins/org.eclipse.jpt.common.branding/build.properties
deleted file mode 100644
index 6c20e3b..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties
diff --git a/common/plugins/org.eclipse.jpt.common.branding/component.xml b/common/plugins/org.eclipse.jpt.common.branding/component.xml
deleted file mode 100644
index f437ec9..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.common.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.common.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.utility" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.branding/icons/WTP_icon_x32_v2.png b/common/plugins/org.eclipse.jpt.common.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/common/plugins/org.eclipse.jpt.common.branding/plugin.properties b/common/plugins/org.eclipse.jpt.common.branding/plugin.properties
deleted file mode 100644
index 58b4eea0..0000000
--- a/common/plugins/org.eclipse.jpt.common.branding/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - Common
-providerName = Eclipse Web Tools Platform
diff --git a/common/plugins/org.eclipse.jpt.common.core/.classpath b/common/plugins/org.eclipse.jpt.common.core/.classpath
deleted file mode 100644
index 84e5b0b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/.classpath
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<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">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jst/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/wst/**"/>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/model/value/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/common/plugins/org.eclipse.jpt.common.core/.cvsignore b/common/plugins/org.eclipse.jpt.common.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/common/plugins/org.eclipse.jpt.common.core/.project b/common/plugins/org.eclipse.jpt.common.core/.project
deleted file mode 100644
index 5513a15..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/plugins/org.eclipse.jpt.common.core/.settings/org.eclipse.jdt.core.prefs b/common/plugins/org.eclipse.jpt.common.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c84cdad..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Fri Apr 01 17:14:35 EDT 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/common/plugins/org.eclipse.jpt.common.core/META-INF/MANIFEST.MF b/common/plugins/org.eclipse.jpt.common.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 0f5bc3b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,83 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.common.core;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.jpt.common.core.JptCommonCorePlugin
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.filebuffers;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.debug.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.4.0,3.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.3.100,2.0.0)",
- org.eclipse.jst.j2ee;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.pde.core;bundle-version="[3.6.0,4.0.0)";resolution:=optional,
- org.eclipse.text;bundle-version="[3.5.100,4.0.0)",
- org.eclipse.wst.common.emf;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.wst.validation;bundle-version="[1.2.0,2.0.0)"
-Dali-Comment: We friend 'utility' to all non-EclipseLink, non-test bundles
-Export-Package: org.eclipse.jpt.common.core,
- org.eclipse.jpt.common.core.internal;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.gen;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.libprov;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.libval;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.operations;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.resource;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.resource.java;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.resource.java.binary;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.resource.java.source;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.utility;
-  x-friends:="org.eclipse.jpt.common.ui,
-   org.eclipse.jpt.jaxb.core,
-   org.eclipse.jpt.jaxb.ui,
-   org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jpa.db,
-   org.eclipse.jpt.jpa.db.ui,
-   org.eclipse.jpt.jpa.gen,
-   org.eclipse.jpt.jpa.ui",
- org.eclipse.jpt.common.core.internal.utility.command;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.internal.utility.jdt;
-  x-friends:="org.eclipse.jpt.jaxb.core,
-   org.eclipse.jpt.jpa.core",
- org.eclipse.jpt.common.core.internal.utility.translators;
-  x-friends:="org.eclipse.jpt.jpa.core,
-   org.eclipse.jpt.jaxb.core",
- org.eclipse.jpt.common.core.libprov,
- org.eclipse.jpt.common.core.libval,
- org.eclipse.jpt.common.core.resource,
- org.eclipse.jpt.common.core.resource.java,
- org.eclipse.jpt.common.core.utility,
- org.eclipse.jpt.common.core.utility.command,
- org.eclipse.jpt.common.core.utility.jdt
-Import-Package: com.ibm.icu.text;version="4.0.1"
diff --git a/common/plugins/org.eclipse.jpt.common.core/about.html b/common/plugins/org.eclipse.jpt.common.core/about.html
deleted file mode 100644
index be534ba..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/common/plugins/org.eclipse.jpt.common.core/build.properties b/common/plugins/org.eclipse.jpt.common.core/build.properties
deleted file mode 100644
index 559c6fa..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/,\
-               property_files/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.xml,\
-               plugin.properties
-jars.compile.order = .
-src.includes = schema/
diff --git a/common/plugins/org.eclipse.jpt.common.core/plugin.properties b/common/plugins/org.eclipse.jpt.common.core/plugin.properties
deleted file mode 100644
index a38a4a4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/plugin.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - Common Core
-providerName = Eclipse Web Tools Platform
-
-LIBRARY_VALIDATORS=Library Validators
-RESOURCE_LOCATORS=Resource Locators
-
-JAR_CONTENT = JAR Content
-JAVA_PACKAGE_INFO_CONTENT = package-info.java
-
-NO_OP_LIBRARY_PROVIDER_WARNING = Library configuration is disabled. The user may need to configure further classpath changes later.
diff --git a/common/plugins/org.eclipse.jpt.common.core/plugin.xml b/common/plugins/org.eclipse.jpt.common.core/plugin.xml
deleted file mode 100644
index 41368db..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/plugin.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
-  Copyright (c) 2011, 2012 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:
-    Oracle - initial API and implementation
- -->
- 
-<plugin>
-
-	<!-- ***** extension points ***** -->
-	
-	<extension-point
-		id="org.eclipse.jpt.common.core.libraryValidators"
-		name="%LIBRARY_VALIDATORS"
-		schema="schema/libraryValidators.exsd"/>
-	
-	
-	<extension-point
-		id="org.eclipse.jpt.common.core.resourceLocators"
-		name="%RESOURCE_LOCATORS"
-		schema="schema/resourceLocators.exsd"/>
-
-
-	<!-- ***** adapters ***** -->
-
-	<extension
-		point="org.eclipse.core.runtime.adapters">
-
-		<!-- IProject -> ProjectResourceLocator -->
-		<factory
-			adaptableType="org.eclipse.core.resources.IProject"
-			class="org.eclipse.jpt.common.core.internal.resource.ProjectAdapterFactory">
-			<adapter type="org.eclipse.jpt.common.core.resource.ProjectResourceLocator"/>
-		</factory>
-
-	</extension>
-	
-	
-	<!-- ***** content types ***** -->
-	
-	<extension
-		point="org.eclipse.core.contenttype.contentTypes">
-	
-		<!-- JAR content type -->
-		<content-type
-			id="org.eclipse.jpt.common.core.content.jar"
-			name="%JAR_CONTENT"
-			file-extensions="jar, zip">
-			<describer
-				class="org.eclipse.core.runtime.content.BinarySignatureDescriber">
-				<parameter name="signature" value="50 4B 03 04"/>
-			</describer>
-		</content-type>
-		
-  		<!-- package-info.java content type (for package annotations) -->
-		<content-type
-       		id="org.eclipse.jpt.common.core.content.javaPackageInfo"
-        	name="%JAVA_PACKAGE_INFO_CONTENT"
-        	base-type="org.eclipse.jdt.core.javaSource"
-       	 	file-names="package-info.java"
-        	priority="normal">
-  		</content-type>
-		
-	</extension>
-	
-	
-	<!-- ***** property testers ***** -->
-	
-	<extension 
-		point="org.eclipse.core.expressions.propertyTesters">
-		
-		<propertyTester
-			id="org.eclipse.jpt.common.core.propertyTester.libraryProvider"
-			type="org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider"
-			namespace="org.eclipse.jpt.common.core"
-			properties="id, extendsId"
-			class="org.eclipse.jpt.common.core.internal.LibraryProviderPropertyTester"/>
-		
-	</extension>
-	
-	
-	<!-- ***** Dali extensions (eat our own dogfood) ***** -->
-	
-	<extension
-		point="org.eclipse.jpt.common.core.resourceLocators">
-		
-		<resourceLocator
-			id="simpleJavaResourceLocator"
-			class="org.eclipse.jpt.common.core.internal.resource.SimpleJavaResourceLocator"
-			priority="lowest">
-			<enablement>
-				<with variable="project">
-					<test 
-						property="org.eclipse.wst.common.project.facet.core.projectFacet" 
-						value="java" 
-						forcePluginActivation="true"/>
-				</with>
-			</enablement>
-		</resourceLocator>
-		
-		<resourceLocator
-			id="moduleResourceLocator"
-			class="org.eclipse.jpt.common.core.internal.resource.ModuleResourceLocator"
-			priority="lower">
-			<enablement>
-				<with variable="project">
-					<test 
-						property="org.eclipse.core.resources.projectNature" 
-						value="org.eclipse.wst.common.modulecore.ModuleCoreNature" 
-						forcePluginActivation="true"/>
-				</with>
-			</enablement>
-		</resourceLocator>
-		
-		<resourceLocator
-			id="webModuleResourceLocator"
-			class="org.eclipse.jpt.common.core.internal.resource.WebModuleResourceLocator"
-			priority="low">
-			<enablement>
-				<with variable="project">
-					<test 
-						property="org.eclipse.wst.common.project.facet.core.projectFacet" 
-						value="jst.web" 
-						forcePluginActivation="true"/>
-				</with>
-			</enablement>
-		</resourceLocator>
-		
-		<resourceLocator
-			id="pluginResourceLocator"
-			class="org.eclipse.jpt.common.core.internal.resource.PluginResourceLocator"
-			priority="normal">
-			<enablement>
-				<with variable="project">
-					<test 
-						property="org.eclipse.core.resources.projectNature" 
-						value="org.eclipse.pde.PluginNature" 
-						forcePluginActivation="true"/>
-				</with>
-			</enablement>
-		</resourceLocator>
-		
-	</extension>
-	
-	
-	<!-- ***** WTP Library Provider Framework Integration ***** -->
-
-	<extension 
-		point="org.eclipse.jst.common.project.facet.core.libraryProviders">
-		
-		<provider 
-			id="jpt-no-op-library-provider" 
-			extends="no-op-library-provider"
-			abstract="true">
-			<param name="warning" value="%NO_OP_LIBRARY_PROVIDER_WARNING"/>
-		</provider>
-	
-	</extension>
-	
-</plugin>
diff --git a/common/plugins/org.eclipse.jpt.common.core/property_files/jpt_common_core.properties b/common/plugins/org.eclipse.jpt.common.core/property_files/jpt_common_core.properties
deleted file mode 100644
index a4eef57..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/property_files/jpt_common_core.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2012 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:
-#     Oracle - initial API and implementation
-################################################################################
-DALI_JOB_NAME=Dali
-DALI_EVENT_HANDLER_THREAD_NAME=Dali Event Handler
-GENERATION_CREATING_LAUNCH_CONFIG_TASK=Creating launch configuration
-GENERATION_SAVING_LAUNCH_CONFIG_TASK=Saving launch configuration
-GENERATION_LAUNCHING_CONFIG_TASK=Launching configuration
-REGISTRY_MISSING_ATTRIBUTE=Missing required attribute ''{0}'' for element ''{1}'' in extension ''{1}'' from plug-in ''{2}''.
-REGISTRY_INVALID_VALUE=Invalid value ''{0}'' for ''{1}'' in extension ''{2}'' from plug-in ''{3}''.
-REGISTRY_DUPLICATE=An extension of ''{0}'' with the ''{1}'' value of ''{2}'' is already registered.
-REGISTRY_FAILED_CLASS_LOAD=Unable to load the class ''{0}'' declared for the extension point ''{1}'' in the plug-in ''{2}''.
-REGISTRY_FAILED_INTERFACE_ASSIGNMENT=Unable to assign the class ''{0}'' declared for the extension point ''{1}'' in the plug-in ''{2}'' to the interface ''{3}''.
-REGISTRY_FAILED_INSTANTIATION=Unable to instantiate the class ''{0}'' declared for the extension point ''{1}'' in the plug-in ''{2}''.
-USER_LIBRARY_VALIDATOR__CLASS_NOT_FOUND=The class ''{0}'' is required to be in the selected libraries.
-VALIDATE_CONTAINER_NOT_SPECIFIED=Parent folder must be specified
-VALIDATE_FILE_NAME_NOT_SPECIFIED=File name must be specified
-VALIDATE_FILE_ALREADY_EXISTS=File already exist
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.core/schema/libraryValidators.exsd b/common/plugins/org.eclipse.jpt.common.core/schema/libraryValidators.exsd
deleted file mode 100644
index 52dacbb..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/schema/libraryValidators.exsd
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jpt.common.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.jpt.common.core" id="libraryValidators" name="Library Validators"/>
-      </appinfo>
-      <documentation>
-         Used to provide custom library validation to JPT project configuration.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="libraryValidator" 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>
-      </complexType>
-   </element>
-
-   <element name="libraryValidator">
-      <annotation>
-         <documentation>
-            Declares a library validator.  See &lt;samp&gt;org.eclipse.jpt.common.core.libval.LibraryValidator&lt;/samp&gt; for more information on library validators.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique identifier for the declared library validator.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The implementation class, which implements &lt;samp&gt;org.eclipse.jpt.common.core.libval.LibraryValidator&lt;/samp&gt;.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.jpt.core.libval.LibraryValidator"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         JPT 3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         &lt;br&gt;
-&lt;p&gt;
-The following example is the included generic library validator, which is used for user library validation for projects of the generic JPA platform group.
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension
-   point=&quot;org.eclipse.jpt.common.core.libraryValidators&quot;&gt;
-   &lt;libraryValidator
-      id=&quot;genericUserLibraryValidator&quot;
-      class=&quot;org.eclipse.jpt.core.internal.libval.GenericJpaUserLibraryValidator&quot;&gt;
-      &lt;enablement&gt;
-         &lt;with variable=&quot;libraryProvider&quot;&gt;
-            &lt;test property=&quot;org.eclipse.jpt.core.extendsId&quot; value=&quot;jpa-user-library-provider&quot;/&gt;
-         &lt;/with&gt;
-      &lt;/enablement&gt;
-   &lt;/libraryValidator&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         &lt;p&gt;
-The enablement variables include:
-&lt;ul&gt;
-&lt;li&gt;&quot;libraryProvider&quot; which gives the current ILibraryProvider.&lt;/li&gt;
-&lt;li&gt;&quot;config&quot; which gives the current JptLibraryProviderInstallOperationConfig.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2010, 2011 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:
-Oracle - initial API and implementation
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/common/plugins/org.eclipse.jpt.common.core/schema/resourceLocators.exsd b/common/plugins/org.eclipse.jpt.common.core/schema/resourceLocators.exsd
deleted file mode 100644
index d82f686..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/schema/resourceLocators.exsd
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jpt.common.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.jpt.common.core" id="resourceLocators" name="Resource Locators"/>
-      </appinfo>
-      <documentation>
-         Used to provide custom (non-Java) resource location logic to JPT projects.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="resourceLocator" 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="resourceLocator">
-      <annotation>
-         <documentation>
-            Declares a resource locator.  See &lt;samp&gt;org.eclipse.jpt.common.core.resource.ResourceLocator&lt;/samp&gt; for more information on resource locators.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique identifier for the declared resource locator.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The implementation class, which implements &lt;samp&gt;org.eclipse.jpt.common.core.resource.ResourceLocator&lt;/samp&gt;.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.jpt.common.core.resource.ResourceLocator"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="priority">
-            <annotation>
-               <documentation>
-                  Indicates the relative priority of this extension to other extensions. Used by the resource locator manager to determine which extension should be used in the case that multiple extensions apply to a given project. Defaults to &quot;normal&quot;.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="lowest">
-                  </enumeration>
-                  <enumeration value="lower">
-                  </enumeration>
-                  <enumeration value="low">
-                  </enumeration>
-                  <enumeration value="normal">
-                  </enumeration>
-                  <enumeration value="high">
-                  </enumeration>
-                  <enumeration value="higher">
-                  </enumeration>
-                  <enumeration value="highest">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         JPT 3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         &lt;br&gt;
-&lt;p&gt;
-The following example is the included simple Java resource locator, which is used for simple Java projects.  It is of &quot;lowest&quot; priority, since all JPT projects will at their roots be simple Java projects.
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension  
- point=&quot;org.eclipse.jpt.common.core.resourceLocators&quot;&gt;
- &lt;resourceLocator
-  id=&quot;simpleJavaResourceLocator&quot;
-  class=&quot;org.eclipse.jpt.common.core.internal.resource.SimpleJavaResourceLocator&quot;
-  priority=&quot;lowest&quot;
-  &lt;enablement&gt;
-   &lt;with variable=&quot;project&quot;&gt;
-    &lt;test property=&quot;org.eclipse.wst.common.project.facet.core.projectFacet&quot; value=&quot;java&quot; forcePluginActivation=&quot;true&quot;/&gt;
-   &lt;/with&gt;
-  &lt;/enablement&gt;
- &lt;/resourceLocator&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         &lt;p&gt;
-The contributed resource locator class must implement &lt;code&gt;org.eclipse.jpt.common.core.resource.ResourceLocator&lt;/code&gt;.
-&lt;p&gt;
-The enablement variables include:
-&lt;ul&gt;
-&lt;li&gt;&quot;project&quot; which gives the current &lt;code&gt;IProject&lt;/code&gt;.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         &lt;p&gt;The org.eclipse.jpt.common.core plug-in provides the following resource locators:
-&lt;ul&gt;
-&lt;li&gt;simpleJavaResourceLocator&lt;/li&gt;
-&lt;li&gt;moduleResourceLocator&lt;/li&gt;
-&lt;li&gt;webModuleResourceLocator&lt;/li&gt;
-&lt;li&gt;pluginResourceLocator&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2011 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:
-Oracle - initial API and implementation
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/AnnotationProvider.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/AnnotationProvider.java
deleted file mode 100644
index 5551329..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/AnnotationProvider.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-
-/**
- * This is used to provide annotations and nestable annotations. An exception will
- * be thrown on an attempt to build an annotation that does not exist.
- * 
- * This interface is not intended to be implemented.
- * 
- * @version 3.0
- * @since 3.0
- *  
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface AnnotationProvider {
-
-	/**
-	 * Return the names of the annotations.
-	 */
-	Iterable<String> getAnnotationNames();
-
-	Iterable<String> getContainerAnnotationNames();
-
-	Iterable<String> getNestableAnnotationNames();
-
-	String getNestableAnnotationName(String containerAnnotationName);
-
-	String getContainerAnnotationName(String nestableAnnotationName);
-
-	String getNestableElementName(String nestableAnnotationName);
-
-	/**
-	 * Build an annotation with the specified name.
-	 * Throw an IllegalArgumentException if the specified name is unsupported.
-	 * @see #getAnnotationNames()
-	 */
-	Annotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement element, String annotationName);
-
-	/**
-	 * Build a nestable annotation with the specified name and index.
-	 * Throw an IllegalArgumentException if the specified name is unsupported.
-	 * @see #getNestableAnnotationNames()
-	 */
-	NestableAnnotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement element, String annotationName, int index);
-
-	/**
-	 * Build an annotation for the specified JDT annotation.
-	 * Throw an IllegalArgumentException if the specified annotation is unsupported.
-	 * @see #getAnnotationNames()
-	 */
-	Annotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation);
-
-	/**
-	 * Build a nestable annotation for the specified JDT annotation and index.
-	 * Throw an IllegalArgumentException if the specified annotation is unsupported.
-	 * @see #getNestableAnnotationNames()
-	 */
-	NestableAnnotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation, int index);
-
-	/**
-	 * Build a null annotation with the specified name.
-	 * Throw an IllegalArgumentException if the specified annotation is unsupported.
-	 * @see #getAnnotationNames()
-	 */
-	Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent, String annotationName);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/GenericAnnotationProvider.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/GenericAnnotationProvider.java
deleted file mode 100644
index 3eee738..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/GenericAnnotationProvider.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotationDefinition;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-/**
- * Delegate to annotation definition providers.
- * The platform factory will build an instance of this annotation provider,
- * passing in the appropriate array of annotation definition providers necessary
- * to build the annotations for the platform (vendor and/or version).
- */
-public final class GenericAnnotationProvider
-	implements AnnotationProvider
-{
-	private final AnnotationDefinition[] annotationDefinitions;
-
-	private final NestableAnnotationDefinition[] nestableAnnotationDefinitions;
-	
-	public GenericAnnotationProvider(AnnotationDefinition[] annotationDefinitions, NestableAnnotationDefinition[] nestableAnnotationDefinitions) {
-		super();
-		this.annotationDefinitions = annotationDefinitions;
-		this.nestableAnnotationDefinitions = nestableAnnotationDefinitions;
-	}
-	
-	
-	protected Iterable<AnnotationDefinition> getAnnotationDefinitions() {
-		return new ArrayIterable<AnnotationDefinition>(this.annotationDefinitions);
-	}
-	
-	protected AnnotationDefinition getAnnotationDefinition(String annotationName) {
-		for (AnnotationDefinition annotationDefinition : this.annotationDefinitions) {
-			if (annotationDefinition.getAnnotationName().equals(annotationName)) {
-				return annotationDefinition;
-			}
-		}
-		return null;
-	}
-	
-	public Iterable<String> getAnnotationNames() {
-		return new TransformationIterable<AnnotationDefinition, String>(getAnnotationDefinitions()) {
-			@Override
-			protected String transform(AnnotationDefinition annotationDefinition) {
-				return annotationDefinition.getAnnotationName();
-			}
-		};
-	}
-
-	public Iterable<String> getContainerAnnotationNames() {
-		return new TransformationIterable<NestableAnnotationDefinition, String>(getNestableAnnotationDefinitions()) {
-			@Override
-			protected String transform(NestableAnnotationDefinition annotationDefinition) {
-				return annotationDefinition.getContainerAnnotationName();
-			}
-		};
-	}
-
-	public Iterable<String> getNestableAnnotationNames() {
-		return new TransformationIterable<NestableAnnotationDefinition, String>(getNestableAnnotationDefinitions()) {
-			@Override
-			protected String transform(NestableAnnotationDefinition annotationDefinition) {
-				return annotationDefinition.getNestableAnnotationName();
-			}
-		};
-	}
-
-	public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement element, String annotationName) {
-		return this.getAnnotationDefinition(annotationName).buildAnnotation(parent, element);
-	}
-	
-	public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) {
-		return this.getAnnotationDefinition(jdtAnnotation.getElementName()).buildAnnotation(parent, jdtAnnotation);
-	}
-
-	public NestableAnnotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation, int index) {
-		return this.getNestableAnnotationDefinition(jdtAnnotation.getElementName()).buildAnnotation(parent, jdtAnnotation, index);
-	}
-
-	public Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent, String annotationName) {
-		return this.getAnnotationDefinition(annotationName).buildNullAnnotation(parent);
-	}
-
-	protected Iterable<NestableAnnotationDefinition> getNestableAnnotationDefinitions() {
-		return new ArrayIterable<NestableAnnotationDefinition>(this.nestableAnnotationDefinitions);
-	}
-
-	protected NestableAnnotationDefinition getNestableAnnotationDefinition(String annotationName) {
-		for (NestableAnnotationDefinition annotationDefinition : this.nestableAnnotationDefinitions) {
-			if (annotationDefinition.getNestableAnnotationName().equals(annotationName)) {
-				return annotationDefinition;
-			}
-		}
-		return null;
-	}
-
-	public NestableAnnotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement element, String annotationName, int index) {
-		return this.getNestableAnnotationDefinition(annotationName).buildAnnotation(parent, element, index);
-	}
-
-	public String getNestableAnnotationName(String containerAnnotationName) {
-		return getNestableAnnotationDefinitionForContainer(containerAnnotationName).getNestableAnnotationName();
-	}
-
-	public String getContainerAnnotationName(String nestableAnnotationName) {
-		return getNestableAnnotationDefinition(nestableAnnotationName).getContainerAnnotationName();
-	}
-
-	public String getNestableElementName(String nestableAnnotationName) {
-		return getNestableAnnotationDefinition(nestableAnnotationName).getElementName();		
-	}
-
-	private NestableAnnotationDefinition getNestableAnnotationDefinitionForContainer(String containerAnnotationName) {
-		for (NestableAnnotationDefinition nestableAnnotationDefinition : getNestableAnnotationDefinitions()) {
-			if (nestableAnnotationDefinition.getContainerAnnotationName().equals(containerAnnotationName)) {
-				return nestableAnnotationDefinition;
-			}
-		}
-		return null;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptCommonCorePlugin.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptCommonCorePlugin.java
deleted file mode 100644
index ccbb34d..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptCommonCorePlugin.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.core.internal.libval.LibraryValidatorManager;
-import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
-import org.eclipse.jpt.common.core.libval.LibraryValidator;
-import org.osgi.framework.BundleContext;
-
-public class JptCommonCorePlugin
-	extends Plugin
-{
-
-	// ********** public constants **********
-
-	/**
-	 * The plug-in identifier of the jpt common core support
-	 * (value <code>"org.eclipse.jpt.common.core"</code>).
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jpt.common.core";  //$NON-NLS-1$
-	public static final String PLUGIN_ID_ = PLUGIN_ID + '.';
-
-
-	/**
-	 * The content type for Java source code files.
-	 */
-	public static final IContentType JAVA_SOURCE_CONTENT_TYPE = getContentType(JavaCore.JAVA_SOURCE_CONTENT_TYPE);
-	
-	/**
-	 * The resource type for Java source code files
-	 */
-	public static final JptResourceType JAVA_SOURCE_RESOURCE_TYPE = new JptResourceType(JAVA_SOURCE_CONTENT_TYPE);
-	
-	/**
-	 * The content type for Java archives (JARs).
-	 */
-	public static final IContentType JAR_CONTENT_TYPE = getJptContentType("jar"); //$NON-NLS-1$
-	
-	/**
-	 * The resource type for Java archives (JARs).
-	 */
-	public static final JptResourceType JAR_RESOURCE_TYPE = new JptResourceType(JptCommonCorePlugin.JAR_CONTENT_TYPE);
-
-	/**
-	 * The content type for package-info Java code files.
-	 */
-	public static final IContentType JAVA_SOURCE_PACKAGE_INFO_CONTENT_TYPE = getJptContentType("javaPackageInfo"); //$NON-NLS-1$
-
-	/**
-	 * The resource type for package-info Java code files
-	 */
-	public static final JptResourceType JAVA_SOURCE_PACKAGE_INFO_RESOURCE_TYPE = new JptResourceType(JAVA_SOURCE_PACKAGE_INFO_CONTENT_TYPE);
-	
-
-	private static final String JPT_CONTENT_PREFIX = PLUGIN_ID_ + "content"; //$NON-NLS-1$
-	
-	private static final String JPT_CONTENT_PREFIX_ = JPT_CONTENT_PREFIX + '.';
-	
-	private static IContentType getJptContentType(String jptContentType) {
-		return getContentType(JPT_CONTENT_PREFIX_ + jptContentType);
-	}
-	
-	private static IContentType getContentType(String contentType) {
-		return Platform.getContentTypeManager().getContentType(contentType);
-	}
-	
-	public static Iterable<LibraryValidator> getLibraryValidators(
-			JptLibraryProviderInstallOperationConfig config) {
-		return LibraryValidatorManager.instance().getLibraryValidators(config);
-	}
-
-	// ********** singleton **********
-
-	private static JptCommonCorePlugin INSTANCE;
-
-	/**
-	 * Return the singleton Dali common core plug-in.
-	 */
-	public static JptCommonCorePlugin instance() {
-		return INSTANCE;
-	}
-
-
-	// ********** public static methods **********
-
-	/**
-	 * Log the specified message.
-	 */
-	public static void log(String msg) {
-        log(msg, null);
-    }
-
-	/**
-	 * Log the specified exception or error.
-	 */
-	public static void log(Throwable throwable) {
-		log(throwable.getLocalizedMessage(), throwable);
-	}
-
-	/**
-	 * Log the specified message and exception or error.
-	 */
-	public static void log(String msg, Throwable throwable) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, throwable));
-	}
-
-	/**
-	 * Log the specified status.
-	 */
-	public static void log(IStatus status) {
-        INSTANCE.getLog().log(status);
-    }
-
-
-	// ********** plug-in implementation **********
-
-	public JptCommonCorePlugin() {
-		super();
-		if (INSTANCE != null) {
-			throw new IllegalStateException();
-		}
-		// this convention is *wack*...  ~bjv
-		INSTANCE = this;
-	}
-
-
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		// nothing yet...
-	}
-
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		// nothing yet...		
-	}
-}
-
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceModel.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceModel.java
deleted file mode 100644
index f183add..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceModel.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * Listeners are notified whenever anything in the JPT resource model changes.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 2.3
- * @since 2.2
- */
-public interface JptResourceModel {
-	/**
-	 * Return the model's resource type. This can change.
-	 * Return <code>null</code> if the resource type cannot be determined,
-	 * the content type is <code>null</code> or the version is <code>null</code>.
-	 */
-	JptResourceType getResourceType();
-
-	/**
-	 * Return the model's file.
-	 */
-	IFile getFile();
-
-	/**
-	 * Changes to the resource model result in events.
-	 * In particular, the JPA project performs an "update" whenever a resource
-	 * model changes.
-	 */
-	void addResourceModelListener(JptResourceModelListener listener);
-
-	/**
-	 * @see #addResourceModelListener(JptResourceModelListener)
-	 */
-	void removeResourceModelListener(JptResourceModelListener listener);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceModelListener.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceModelListener.java
deleted file mode 100644
index a0d0d3f..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceModelListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core;
-
-import java.util.EventListener;
-
-/**
- * The listener is notified whenever anything in the JPA resource model changes.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 2.3
- * @since 2.2
- */
-public interface JptResourceModelListener
-	extends EventListener
-{
-	void resourceModelChanged(JptResourceModel jpaResourceModel);
-	
-	void resourceModelReverted(JptResourceModel jpaResourceModel);
-	
-	void resourceModelUnloaded(JptResourceModel jpaResourceModel);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceType.java
deleted file mode 100644
index e86355e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/JptResourceType.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core;
-
-import org.eclipse.core.runtime.content.IContentType;
-
-/**
- * Describes the file content type and version for JPA resources.
- * This is a value object that defines an {@link #equals(Object)} method.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 2.3
- * @since 2.3
- */
-public class JptResourceType
-{
-	private final IContentType contentType;
-
-	private final String version;
-
-
-	/**
-	 * Version used when version can not be determined or when there is no
-	 * sense of version (e.g. Java).
-	 */
-	public static final String UNDETERMINED_VERSION = "<undetermined>"; //$NON-NLS-1$
-
-
-	public JptResourceType(IContentType contentType) {
-		this(contentType, UNDETERMINED_VERSION);
-	}
-
-	public JptResourceType(IContentType contentType, String version) {
-		super();
-		if (contentType == null) {
-			throw new NullPointerException("content type"); //$NON-NLS-1$
-		}
-		if (version == null) {
-			throw new NullPointerException("version"); //$NON-NLS-1$
-		}
-		this.contentType = contentType;
-		this.version = version;
-	}
-
-
-	public IContentType getContentType() {
-		return this.contentType;
-	}
-
-	public String getVersion() {
-		return this.version;
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		if (obj == this) {
-			return true;
-		}
-		if ((obj == null) || (obj.getClass() != this.getClass())) {
-			return false;
-		}
-		JptResourceType other = (JptResourceType) obj;
-		return this.contentType.equals(other.contentType) && this.version.equals(other.version);
-	}
-
-	@Override
-	public int hashCode() {
-		final int prime = 31;
-		int hash = 17;
-		hash = hash * prime + this.contentType.hashCode();
-		hash = hash * prime + this.version.hashCode();
-		return hash;
-	}
-
-	@Override
-	public String toString() {
-		StringBuilder sb = new StringBuilder();
-		sb.append(this.getClass().getSimpleName());
-		sb.append("(content = "); //$NON-NLS-1$
-		sb.append(this.contentType);
-		sb.append(", "); //$NON-NLS-1$
-		sb.append("version = "); //$NON-NLS-1$
-		sb.append(this.version);
-		sb.append(')');
-		return sb.toString();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/JptCommonCoreMessages.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/JptCommonCoreMessages.java
deleted file mode 100644
index b9e6e40..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/JptCommonCoreMessages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Localized messages used by Dali common core.
- */
-public class JptCommonCoreMessages {
-
-	public static String DALI_JOB_NAME;
-	public static String DALI_EVENT_HANDLER_THREAD_NAME;
-	public static String GENERATION_CREATING_LAUNCH_CONFIG_TASK;
-	public static String GENERATION_SAVING_LAUNCH_CONFIG_TASK;
-	public static String GENERATION_LAUNCHING_CONFIG_TASK;
-	public static String REGISTRY_MISSING_ATTRIBUTE;
-	public static String REGISTRY_INVALID_VALUE;
-	public static String REGISTRY_DUPLICATE;
-	public static String REGISTRY_FAILED_CLASS_LOAD;
-	public static String REGISTRY_FAILED_INTERFACE_ASSIGNMENT;
-	public static String REGISTRY_FAILED_INSTANTIATION;
-	public static String USER_LIBRARY_VALIDATOR__CLASS_NOT_FOUND;
-	public static String VALIDATE_CONTAINER_NOT_SPECIFIED;
-	public static String VALIDATE_FILE_NAME_NOT_SPECIFIED;
-	public static String VALIDATE_FILE_ALREADY_EXISTS;
-	
-	private static final String BUNDLE_NAME = "jpt_common_core"; //$NON-NLS-1$
-	private static final Class<?> BUNDLE_CLASS = JptCommonCoreMessages.class;
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, BUNDLE_CLASS);
-	}
-	
-	private JptCommonCoreMessages() {
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/LibraryProviderPropertyTester.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/LibraryProviderPropertyTester.java
deleted file mode 100644
index 0f3e21f..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/LibraryProviderPropertyTester.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-
-/**
- * Property tester for {@link ILibraryProvider}.
- * See <code>org.eclipse.jpt.common.core/plugin.xml</code>
- */
-public class LibraryProviderPropertyTester
-	extends PropertyTester
-{
-	public static final String ID = "id"; //$NON-NLS-1$
-	public static final String EXTENDS_ID = "extendsId"; //$NON-NLS-1$
-
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		if (receiver instanceof ILibraryProvider) {
-			return this.test((ILibraryProvider) receiver, property, expectedValue);
-		}
-		return false;
-	}
-
-	private boolean test(ILibraryProvider libraryProvider, String property, Object expectedValue) {
-		if (property.equals(ID)) {
-			return libraryProvider.getId().equals(expectedValue);
-		}
-		if (property.equals(EXTENDS_ID)) {
-			while (libraryProvider != null) {
-				if (libraryProvider.getId().equals(expectedValue)) {
-					return true;
-				}
-				libraryProvider = libraryProvider.getBaseProvider();
-			}
-			return false;
-		}
-		return false;	
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/gen/AbstractJptGenerator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/gen/AbstractJptGenerator.java
deleted file mode 100644
index e6b352d..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/gen/AbstractJptGenerator.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.common.core.internal.gen;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-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.core.runtime.Platform;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.internal.JptCommonCoreMessages;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.osgi.framework.Bundle;
-
-public abstract class AbstractJptGenerator
-{
-	public static final String PLUGINS_DIR = "plugins/";	  //$NON-NLS-1$
-
-	private IVMInstall jre;
-	protected ILaunchConfigurationWorkingCopy launchConfig;
-	private ILaunch launch;
-	
-	protected final IJavaProject javaProject;
-	protected final String projectLocation;
-
-	private boolean isDebug = false;
-
-	// ********** constructors **********
-
-	protected AbstractJptGenerator(IJavaProject javaProject) {
-		super();
-		this.javaProject = javaProject;
-		this.projectLocation = javaProject.getProject().getLocation().toString();
-		this.initialize();
-	}
-
-	// ********** abstract methods **********
-	
-	protected abstract String getMainType();
-
-	protected abstract String getLaunchConfigName();
-
-	protected String getBootstrapJarPrefix() {
-		throw new RuntimeException("Bootstrap JAR not specified.");   //$NON-NLS-1$;
-	}
-	
-	protected abstract void specifyProgramArguments();
-
-	protected abstract List<String> buildClasspath() throws CoreException;
-
-	// ********** behavior **********
-	
-	protected void initialize() {
-		try {
-			this.jre = this.getProjectJRE();
-			if (this.jre == null) {
-				String message = "Could not identify the VM."; //$NON-NLS-1$
-				throw new RuntimeException(message);
-			}
-			this.launchConfig = this.buildLaunchConfiguration();
-		} 
-		catch (CoreException e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	protected void generate(IProgressMonitor monitor) {
-		SubMonitor sm = SubMonitor.convert(monitor, 10);
-		this.preGenerate(sm.newChild(2));
-		if (sm.isCanceled()) {
-			throw new OperationCanceledException();
-		}
-		sm.subTask(JptCommonCoreMessages.GENERATION_CREATING_LAUNCH_CONFIG_TASK);
-		this.initializeLaunchConfiguration();
-		sm.worked(1);
-		if (sm.isCanceled()) {
-			throw new OperationCanceledException();
-		}
-
-		this.addLaunchListener();
-		sm.worked(1);
-
-		if (sm.isCanceled()) {
-			throw new OperationCanceledException();
-		}
-		this.launch = this.saveAndLaunchConfig(sm.newChild(6));
-	}
-	
-	private void initializeLaunchConfiguration() {
-		this.specifyJRE();
-		
-		this.specifyProject(); 
-		this.specifyMainType();	
-		
-		this.specifyProgramArguments();
-		this.specifyWorkingDir(); 
-
-		this.specifyClasspathProperties();
-	}
-	
-	private void addLaunchListener() {
-
-		this.getLaunchManager().addLaunchListener(this.buildLaunchListener());
-	}
-	
-	protected abstract void preGenerate(IProgressMonitor monitor);
-	
-	protected void postGenerate() {
-		try {
-			if( ! this.isDebug) {
-				this.removeLaunchConfiguration();
-			}
-			this.getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-		}
-		catch(CoreException e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	private ILaunchesListener2 buildLaunchListener() {
-		return new ILaunchesListener2() {
-			
-			public void launchesTerminated(ILaunch[] launches) {
-				for(int i = 0; i < launches.length; i++) {
-					ILaunch launch = launches[i];
-					if (launch.equals(AbstractJptGenerator.this.getLaunch())) {
-						try {
-							AbstractJptGenerator.this.postGenerate();
-							AbstractJptGenerator.this.launch = null;
-						}
-						finally {
-							AbstractJptGenerator.this.getLaunchManager().removeLaunchListener(this);
-						}
-						return;
-					}
-				}
-			}
-
-			public void launchesAdded(ILaunch[] launches) {
-				// not interested to this event
-			}
-
-			public void launchesChanged(ILaunch[] launches) {
-				// not interested to this event
-			}
-
-			public void launchesRemoved(ILaunch[] launches) {
-				// not interested to this event
-			}
-		};
-	}
-
-	// ********** Setting Launch Configuration **********
-	
-	protected void specifyJRE() {
-		String jreName = this.jre.getName(); 
-		String vmId = this.jre.getVMInstallType().getId();
-		this.launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, jreName);
-		this.launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, vmId);
-	}
-	
-	private void specifyProject() {
-		String projectName = this.getProject().getName();
-		this.launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, projectName);
-	}
-
-	protected IProject getProject() {
-		return this.javaProject.getProject();
-	}
-	
-	private void specifyMainType() {
-		this.launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, this.getMainType());
-	}
-
-	protected void specifyClasspathProperties()  {
-		List<String> classpath;
-		try {
-			classpath = this.buildClasspath();
-		}
-		catch (CoreException e) {
-			throw new RuntimeException("An error occured generating a memento", e); //$NON-NLS-1$
-		}
-		this.launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, classpath);
-		this.launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
-	}
-
-	// ********** ClasspathEntry **********
-	
-	protected IRuntimeClasspathEntry getSystemLibraryClasspathEntry() throws CoreException {
-
-		IPath systemLibsPath = new Path(JavaRuntime.JRE_CONTAINER);
-		return JavaRuntime.newRuntimeContainerClasspathEntry(systemLibsPath, IRuntimeClasspathEntry.STANDARD_CLASSES);
-	}
-	
-	protected IRuntimeClasspathEntry getDefaultProjectClasspathEntry() {
-
-		IRuntimeClasspathEntry projectEntry = JavaRuntime.newDefaultProjectClasspathEntry(this.javaProject);
-		projectEntry.setClasspathProperty(IRuntimeClasspathEntry.USER_CLASSES);
-		
-		return projectEntry;
-	}
-
-	protected static IRuntimeClasspathEntry getArchiveClasspathEntry(IPath archivePath) {
-		IRuntimeClasspathEntry archiveEntry = JavaRuntime.newArchiveRuntimeClasspathEntry(archivePath);
-		archiveEntry.setClasspathProperty(IRuntimeClasspathEntry.USER_CLASSES);
-		
-		return archiveEntry;
-	}
-	
-
-	// ********** LaunchConfig **********
-	
-	private ILaunch saveAndLaunchConfig(IProgressMonitor monitor) {
-		SubMonitor sm = SubMonitor.convert(monitor, 10);
-		ILaunchConfiguration configuration = null;
-		ILaunch result = null;
-		try {
-			sm.subTask(JptCommonCoreMessages.GENERATION_SAVING_LAUNCH_CONFIG_TASK);
-			configuration = this.launchConfig.doSave();
-		}
-		catch (CoreException saveException) {
-			throw new RuntimeException("Could not save LaunchConfig", saveException); //$NON-NLS-1$
-		}
-		sm.worked(1);
-		if (sm.isCanceled()) {
-			throw new OperationCanceledException();
-		}
-		try {
-			sm.subTask(JptCommonCoreMessages.GENERATION_LAUNCHING_CONFIG_TASK);
-			result = configuration.launch(ILaunchManager.RUN_MODE, sm.newChild(9));
-		}
-		catch (CoreException launchException) {
-			throw new RuntimeException("An error occured during launch", launchException); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	// ********** Main arguments **********
-	
-	protected void appendDebugArgument(StringBuffer sb) {
-		if (this.isDebug) {
-			sb.append(" -debug"); //$NON-NLS-1$
-		}
-	}
-
-	// ********** Queries **********
-	
-	protected ILaunch getLaunch() {
-		return this.launch;
-	}
-	
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	private IVMInstall getProjectJRE() throws CoreException {
-		return JavaRuntime.getVMInstall(this.javaProject);
-	}
-
-	// ********** Utilities **********
-
-	protected IRuntimeClasspathEntry getBootstrapJarClasspathEntry() {
-		return getArchiveClasspathEntry(this.buildBootstrapJarPath());
-	}
-
-	protected IPath buildBootstrapJarPath() {
-		return this.findGenJarStartingWith(this.getBootstrapJarPrefix());
-	}
-	
-	protected IPath findGenJarStartingWith(String genJarName) {
-		try {
-			File jarInstallDir = this.getBundleParentDir(JptCommonCorePlugin.PLUGIN_ID);
-
-			List<File> result = new ArrayList<File>();
-			this.findFileStartingWith(genJarName, jarInstallDir, result);
-			if (result.isEmpty()) {
-				throw new RuntimeException("Could not find: " + genJarName + "#.#.#v###.jar in: " + jarInstallDir);   //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			File genJarFile = result.get(0);
-			String genJarPath = genJarFile.getCanonicalPath();
-			return new Path(genJarPath);
-		}
-		catch (IOException e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	// ********** private methods **********
-
-	private File getBundleParentDir(String bundleName) throws IOException {
-	
-		if (Platform.inDevelopmentMode()) {
-			Location eclipseHomeLoc = Platform.getInstallLocation();
-			String eclipseHome = eclipseHomeLoc.getURL().getPath();
-			if ( ! eclipseHome.endsWith(PLUGINS_DIR)) {
-				eclipseHome += PLUGINS_DIR;
-			}
-			return new File(eclipseHome);
-		}
-		Bundle bundle = Platform.getBundle(bundleName);
-		return FileLocator.getBundleFile(bundle).getParentFile();
-	}
-
-	private ILaunchConfigurationWorkingCopy buildLaunchConfiguration() throws CoreException {
-		this.removeLaunchConfiguration();
-
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType type = manager.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
-
-		return type.newInstance(null, this.getLaunchConfigName());
-	}
-	
-	private void removeLaunchConfiguration() throws CoreException {
-
-		ILaunchManager manager = this.getLaunchManager();
-		ILaunchConfigurationType type = manager.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
-	
-		ILaunchConfiguration[] configurations = manager.getLaunchConfigurations(type);
-				for (int i = 0; i < configurations.length; i++) {
-			ILaunchConfiguration configuration = configurations[i];
-			if (configuration.getName().equals(this.getLaunchConfigName())) {
-				configuration.delete();
-				break;
-			}
-		}
-	}
-
-	private void findFileStartingWith(String fileName, File directory, List<? super File> list) {
-		if(directory.listFiles() == null) {
-			throw new RuntimeException("Could not find directory: " + directory);   //$NON-NLS-1$
-		}
-		for (File file : directory.listFiles()) {
-			if (file.getName().startsWith(fileName)) {
-				list.add(file);
-			}
-			if (file.isDirectory()) {
-				this.findFileStartingWith(fileName, file, list);
-			}
-		}
-	}
-	
-	private void specifyWorkingDir() {
-		File workingDir = new Path(this.projectLocation).toFile();
-		this.launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, workingDir.getAbsolutePath());
-	}
-
-	protected void setDebug(boolean isDebug) {
-		this.isDebug = isDebug;
-	}
-	
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libprov/JptOsgiBundlesLibraryProviderInstallOperationConfig.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libprov/JptOsgiBundlesLibraryProviderInstallOperationConfig.java
deleted file mode 100644
index b91c73b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libprov/JptOsgiBundlesLibraryProviderInstallOperationConfig.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2010, 2011 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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.libprov;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
-import org.eclipse.jpt.common.core.libval.LibraryValidator;
-import org.eclipse.jst.j2ee.internal.common.classpath.WtpOsgiBundlesLibraryProviderInstallOperationConfig;
-
-
-public abstract class JptOsgiBundlesLibraryProviderInstallOperationConfig
-		extends WtpOsgiBundlesLibraryProviderInstallOperationConfig
-		implements JptLibraryProviderInstallOperationConfig {
-	
-	protected JptOsgiBundlesLibraryProviderInstallOperationConfig() {
-		super();
-	}
-	
-	
-	@Override
-	public synchronized IStatus validate() {
-		IStatus status = super.validate();
-		if (! status.isOK()) {
-			return status;
-		}
-		
-		for (LibraryValidator libraryValidator : JptCommonCorePlugin.getLibraryValidators(this)) {
-			status = libraryValidator.validate(this);
-			if (! status.isOK()) {
-				return status;
-			}
-		}
-		
-		return Status.OK_STATUS;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libprov/JptUserLibraryProviderInstallOperationConfig.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libprov/JptUserLibraryProviderInstallOperationConfig.java
deleted file mode 100644
index 224f52a..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libprov/JptUserLibraryProviderInstallOperationConfig.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2010, 2011 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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.libprov;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
-import org.eclipse.jpt.common.core.libval.LibraryValidator;
-import org.eclipse.jst.j2ee.internal.common.classpath.WtpUserLibraryProviderInstallOperationConfig;
-
-
-public abstract class JptUserLibraryProviderInstallOperationConfig
-		extends WtpUserLibraryProviderInstallOperationConfig
-		implements JptLibraryProviderInstallOperationConfig {
-	
-	protected JptUserLibraryProviderInstallOperationConfig() {
-		super();
-	}
-	
-	
-	@Override
-	public synchronized IStatus validate() {
-		IStatus status = super.validate();
-		if (! status.isOK()) {
-			return status;
-		}
-		
-		for (LibraryValidator libraryValidator : JptCommonCorePlugin.getLibraryValidators(this)) {
-			status = libraryValidator.validate(this);
-			if (! status.isOK()) {
-				return status;
-			}
-		}
-		
-		return Status.OK_STATUS;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibValUtil.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibValUtil.java
deleted file mode 100644
index 34afb0c..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibValUtil.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.libval;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.PLUGIN_ID;
-import java.io.File;
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jpt.common.core.internal.JptCommonCoreMessages;
-import org.eclipse.osgi.util.NLS;
-
-
-public class LibValUtil {
-	
-	public static IStatus validate(Iterable<IPath> libraryPaths, Set<String> classNames) {
-		Set<String> classFileNames = new HashSet<String>();
-		Map<String,String> classFileNameToClassName = new HashMap<String,String>();
-		for (String className : classNames) {
-			String classFileName = className.replace('.', '/') + ".class"; //$NON-NLS-1$
-			classFileNames.add(classFileName);
-			classFileNameToClassName.put(classFileName, className);
-		}
-		
-		final Map<String,Integer> classAppearanceCounts = new HashMap<String,Integer>();
-		
-		for (String classFileName : classFileNames) {
-			classAppearanceCounts.put(classFileName, 0);
-		}
-		
-		for (IPath libraryPath : libraryPaths) {
-			final File file = libraryPath.toFile();
-			
-			if (file.exists()) {
-				ZipFile zip = null;
-				
-				try {
-					zip = new ZipFile(file);
-					
-					for (Enumeration<? extends ZipEntry> itr = zip.entries(); itr.hasMoreElements(); ) {
-						final ZipEntry zipEntry = itr.nextElement();
-						final String name = zipEntry.getName();
-						
-						Integer count = classAppearanceCounts.get(name);
-						
-						if (count != null) {
-							classAppearanceCounts.put(name, count + 1);
-						}
-					}
-				}
-				catch (IOException e) {}
-				finally {
-					if (zip != null) {
-						try {
-							zip.close();
-						}
-						catch (IOException e) {}
-					}
-				}
-			}
-		}
-		
-		for (Map.Entry<String,Integer> entry : classAppearanceCounts.entrySet()) {
-			final int count = entry.getValue();
-			
-			if (count == 0) {
-				final String classFileName = entry.getKey();
-				final String className = classFileNameToClassName.get(classFileName);
-				final String message = 
-						NLS.bind(JptCommonCoreMessages.USER_LIBRARY_VALIDATOR__CLASS_NOT_FOUND, className);
-				return new Status(IStatus.ERROR, PLUGIN_ID, message);
-			}
-		}
-		
-		return Status.OK_STATUS;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibraryValidatorConfig.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibraryValidatorConfig.java
deleted file mode 100644
index 27a84ae..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibraryValidatorConfig.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.libval;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jpt.common.core.internal.utility.XPointTools;
-import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
-import org.eclipse.jpt.common.core.libval.LibraryValidator;
-
-public class LibraryValidatorConfig {
-	
-	public static final String CONFIG_EXPR_VAR = "config";  //$NON-NLS-1$
-	public static final String LIBRARY_PROVIDER_EXPR_VAR = "libraryProvider"; //$NON-NLS-1$
-	
-	
-	private String id;
-	private String pluginId;
-	private String className;
-	private Expression enablementCondition;
-	
-	
-	LibraryValidatorConfig() {
-		super();
-	}
-	
-	
-	public String getId() {
-		return this.id;
-	}
-	
-	void setId(String id) {
-		this.id = id;
-	}
-	
-	public String getPluginId() {
-		return this.pluginId;
-	}
-	
-	void setPluginId(String pluginId) {
-		this.pluginId = pluginId;
-	}
-	
-	public String getClassName() {
-		return this.className;
-	}
-	
-	void setClassName(String className) {
-		this.className = className;
-	}
-	
-	public Expression getEnablementCondition() {
-		return this.enablementCondition;
-	}
-	
-	void setEnablementCondition(Expression enablementCondition) {
-		this.enablementCondition = enablementCondition;
-	}
-	
-	public LibraryValidator getLibraryValidator() {
-		return XPointTools.instantiate(
-				this.pluginId, LibraryValidatorManager.QUALIFIED_EXTENSION_POINT_ID, 
-				this.className, LibraryValidator.class);
-	}
-	
-	public boolean isEnabledFor(JptLibraryProviderInstallOperationConfig config) {
-		EvaluationContext evalContext = new EvaluationContext(null, config);
-		evalContext.setAllowPluginActivation(true);
-		evalContext.addVariable(CONFIG_EXPR_VAR, config);
-		evalContext.addVariable(LIBRARY_PROVIDER_EXPR_VAR, config.getLibraryProvider());
-		
-		if (this.enablementCondition != null) {
-			try {
-				EvaluationResult evalResult = this.enablementCondition.evaluate(evalContext);
-				
-				if (evalResult == EvaluationResult.FALSE) {
-					return false;
-				}
-			}
-			catch (CoreException e) {
-				log(e);
-			}
-		}
-		
-		return true;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibraryValidatorManager.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibraryValidatorManager.java
deleted file mode 100644
index ce7c2eb..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/libval/LibraryValidatorManager.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.libval;
-
-import static org.eclipse.jpt.common.core.internal.utility.XPointTools.*;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.internal.utility.XPointTools.XPointException;
-import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
-import org.eclipse.jpt.common.core.libval.LibraryValidator;
-import org.eclipse.jpt.common.utility.internal.KeyedSet;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-public class LibraryValidatorManager {
-	
-	public static final String EXTENSION_POINT_ID = "libraryValidators"; //$NON-NLS-1$
-	public static final String QUALIFIED_EXTENSION_POINT_ID = JptCommonCorePlugin.PLUGIN_ID_ + EXTENSION_POINT_ID;
-	public static final String LIBRARY_VALIDATOR_ELEMENT = "libraryValidator"; //$NON-NLS-1$
-	public static final String ID_ATTRIBUTE = "id"; //$NON-NLS-1$
-	public static final String CLASS_ATTRIBUTE = "class"; //$NON-NLS-1$
-	public static final String ENABLEMENT_ELEMENT = "enablement"; //$NON-NLS-1$
-	
-	
-	private static LibraryValidatorManager INSTANCE = new LibraryValidatorManager();
-	
-	
-	public static LibraryValidatorManager instance() {
-		return INSTANCE;
-	}
-	
-	
-	private KeyedSet<String, LibraryValidatorConfig> libraryValidatorConfigs;
-	
-	
-	private LibraryValidatorManager() {
-		this.libraryValidatorConfigs = new KeyedSet<String, LibraryValidatorConfig>();
-		readExtensions();
-	}
-	
-	
-	/**
-	 * Return the {@link LibraryValidator}s 
-	 */
-	public Iterable<LibraryValidator> getLibraryValidators(final JptLibraryProviderInstallOperationConfig config) {
-		return new FilteringIterable<LibraryValidator>(
-				new TransformationIterable<LibraryValidatorConfig, LibraryValidator>(
-						new FilteringIterable<LibraryValidatorConfig>(
-								this.libraryValidatorConfigs.getItemSet()) {
-							@Override
-							protected boolean accept(LibraryValidatorConfig o) {
-								return o.isEnabledFor(config);
-							}
-						}) {
-					@Override
-					protected LibraryValidator transform(LibraryValidatorConfig o) {
-						return o.getLibraryValidator();
-					}
-				}) {
-			@Override
-			protected boolean accept(LibraryValidator o) {
-				return o != null;
-			}
-		};
-	}
-	
-	private void readExtensions() {
-		final IExtensionRegistry registry = Platform.getExtensionRegistry();
-		
-		final IExtensionPoint xpoint 
-				= registry.getExtensionPoint(QUALIFIED_EXTENSION_POINT_ID);
-		
-		if (xpoint == null) {
-			throw new IllegalStateException();
-		}
-		
-		final List<IConfigurationElement> configs = new ArrayList<IConfigurationElement>();
-		
-		for (IExtension extension : xpoint.getExtensions()) {
-        	for (IConfigurationElement element : extension.getConfigurationElements()) {
-        		configs.add(element);
-        	}
-		}
-		
-		for (IConfigurationElement element : configs) {
-			if (element.getName().equals(LIBRARY_VALIDATOR_ELEMENT)) {
-                readExtension(element);
-			}
-		}
-	}
-	
-	private void readExtension(IConfigurationElement element) {
-		try {
-			final LibraryValidatorConfig lvConfig = new LibraryValidatorConfig();
-			
-			// plug-in id
-			lvConfig.setPluginId(element.getContributor().getName());
-			
-			// resource locator id
-			lvConfig.setId(findRequiredAttribute(element, ID_ATTRIBUTE));
-			
-			if (this.libraryValidatorConfigs.containsKey(lvConfig.getId())) {
-				logDuplicateExtension(QUALIFIED_EXTENSION_POINT_ID, ID_ATTRIBUTE, lvConfig.getId());
-				throw new XPointException();
-			}
-			
-			// resource locator class name
-			lvConfig.setClassName(findRequiredAttribute(element, CLASS_ATTRIBUTE));
-			
-			// enablement
-			for (IConfigurationElement child : element.getChildren()) {
-				String childName = child.getName();
-				if (childName.equals(ENABLEMENT_ELEMENT)) {
-					Expression expr;
-					try {
-						expr = ExpressionConverter.getDefault().perform(child);
-					}
-					catch (CoreException e) {
-						log(e);
-						throw new XPointException();
-					}
-					lvConfig.setEnablementCondition(expr);
-				}
-			}
-			
-			this.libraryValidatorConfigs.addItem(lvConfig.getId(), lvConfig);
-		}
-		catch (XPointException e) {
-			// Ignore and continue. The problem has already been reported to the user
-			// in the log.
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/operations/AbstractJptFileCreationDataModelProvider.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/operations/AbstractJptFileCreationDataModelProvider.java
deleted file mode 100644
index 1106f12..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/operations/AbstractJptFileCreationDataModelProvider.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.operations;
-
-import java.util.Set;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-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.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.internal.JptCommonCoreMessages;
-import org.eclipse.jpt.common.core.internal.utility.PlatformTools;
-import org.eclipse.jpt.common.core.resource.ProjectResourceLocator;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-
-public abstract class AbstractJptFileCreationDataModelProvider
-	extends AbstractDataModelProvider
-	implements JptFileCreationDataModelProperties
-{
-	protected AbstractJptFileCreationDataModelProvider() {
-		super();
-	}
-
-
-	@Override
-	public Set<String> getPropertyNames() {
-		@SuppressWarnings("unchecked")
-		Set<String> propertyNames = super.getPropertyNames();
-		propertyNames.add(PROJECT);
-		propertyNames.add(CONTAINER_PATH);
-		propertyNames.add(FILE_NAME);
-		return propertyNames;
-	}
-
-	@Override
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(CONTAINER_PATH)) {
-			IContainer sourceLocation = getDefaultContainer();
-			if (sourceLocation != null && sourceLocation.exists()) {
-				return sourceLocation.getFullPath();
-			}
-		}
-		else if (propertyName.equals(FILE_NAME)) {
-			return getDefaultFileName();
-		}
-		return super.getDefaultProperty(propertyName);
-	}
-
-	protected abstract String getDefaultFileName();
-
-
-	// **************** validation *********************************************
-
-	@Override
-	public IStatus validate(String propertyName) {
-		IStatus status = Status.OK_STATUS;
-		if (propertyName.equals(CONTAINER_PATH)
-				|| propertyName.equals(FILE_NAME)) {
-			status = validateContainerPathAndFileName();
-		}
-		if (! status.isOK()) {
-			return status;
-		}
-		
-		return status;
-	}
-
-	protected IStatus validateContainerPathAndFileName() {
-		IContainer container = getContainer();
-		if (container == null) {
-			// verifies container has been specified, but should be unnecessary in most cases.
-			// there is almost always a default, and the new file wizard does this validation as well.
-			return new Status(
-				IStatus.ERROR, JptCommonCorePlugin.PLUGIN_ID, 
-				JptCommonCoreMessages.VALIDATE_CONTAINER_NOT_SPECIFIED);
-		}
-		String fileName = getStringProperty(FILE_NAME);
-		if (StringTools.stringIsEmpty(fileName)) {
-			// verifies file name has been specified, but should be unnecessary in most cases.
-			// there is almost always a default, and the new file wizard does this validation as well.
-			return new Status(
-				IStatus.ERROR, JptCommonCorePlugin.PLUGIN_ID,
-				JptCommonCoreMessages.VALIDATE_FILE_NAME_NOT_SPECIFIED);
-		}
-		if (container.getFile(new Path(fileName)).exists()) {
-			// verifies file does not exist, but should be unnecessary in most cases.
-			// the new file wizard does this validation as well.
-			return new Status(
-				IStatus.ERROR, JptCommonCorePlugin.PLUGIN_ID,
-				JptCommonCoreMessages.VALIDATE_FILE_ALREADY_EXISTS);
-		}
-		return Status.OK_STATUS;
-	}
-
-
-	// **************** helper methods *****************************************
-
-	protected IPath getContainerPath() {
-		return (IPath) this.model.getProperty(CONTAINER_PATH);
-	}
-
-	protected IContainer getContainer() {
-		IPath containerPath = getContainerPath();
-		if (containerPath == null) {
-			return null; 
-		}
-		return PlatformTools.getContainer(containerPath);
-	}
-
-	protected IProject getProject() {
-		return getProject(getContainer());
-	}
-
-	protected IProject getProject(IContainer container) {
-		return (container == null) ? null : container.getProject();
-	}
-
-	/**
-	 * Return a best guess source location for the for the specified project
-	 */
-	protected IContainer getDefaultContainer() {
-		IProject project = (IProject) this.model.getProperty(PROJECT);
-		if (project != null) {
-			ProjectResourceLocator locator = (ProjectResourceLocator) project.getAdapter(ProjectResourceLocator.class);
-			return locator.getDefaultResourceLocation();
-		}
-		return null;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/operations/JptFileCreationDataModelProperties.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/operations/JptFileCreationDataModelProperties.java
deleted file mode 100644
index 5c635c9..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/operations/JptFileCreationDataModelProperties.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009, 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.operations;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-
-public interface JptFileCreationDataModelProperties
-{
-	/**
-	 * Optional, type {@link IProject}, gives a clue as to the default container path
-	 */
-	String PROJECT = "JptFileCreationDataModelProperties.PROJECT"; //$NON-NLS-1$
-
-	/**
-	 * Required, type {@link IPath}, identifies the full path to the container in which 
-	 * the file should be created
-	 */
-	String CONTAINER_PATH = "JptFileCreationDataModelProperties.CONTAINER_PATH"; //$NON-NLS-1$
-
-	/**
-	 * Required, type {@link String}, identifies the file name
-	 */
-	String FILE_NAME = "JptFileCreationDataModelProperties.FILE_NAME"; //$NON-NLS-1$
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ModuleResourceLocator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ModuleResourceLocator.java
deleted file mode 100644
index d76318d..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ModuleResourceLocator.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource;
-
-import org.eclipse.core.resources.IContainer;
-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.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.internal.utility.PlatformTools;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-public class ModuleResourceLocator
-	extends SimpleJavaResourceLocator
-{
-	/**
-	 * Return the folder representing the <code>META-INF</code> runtime location.
-	 */
-	@Override
-	public IContainer getDefaultResourceLocation(IProject project) {
-		return this.getRootFolder(project).getFolder(META_INF_PATH).getUnderlyingFolder();
-	}
-	
-	@Override
-	public IPath getResourcePath(IProject project, IPath runtimePath) {
-		return this.getRootFolder(project).getFile(runtimePath).getWorkspaceRelativePath();
-	}
-	
-	@Override
-	public IPath getRuntimePath(IProject project, IPath resourcePath) {
-		IVirtualFolder rootFolder = this.getRootFolder(project);
-		IFile file = PlatformTools.getFile(resourcePath);
-		IVirtualFile vFile = this.getVirtualFile(rootFolder, file);
-		if (vFile != null) {
-			return vFile.getRuntimePath().makeRelative();
-		}
-		// couldn't find it - try the super-case
-		return super.getRuntimePath(project, resourcePath);
-	}
-	
-	protected IVirtualFile getVirtualFile(IVirtualFolder vFolder, IFile file) {
-		try {
-			return this.getVirtualFile_(vFolder, file);
-		} catch (CoreException ex) {
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-
-	protected IVirtualFile getVirtualFile_(IVirtualFolder vFolder, IFile file) throws CoreException {
-		for (IVirtualResource vResource : vFolder.members()) {
-			IVirtualFile vFile = this.getVirtualFile(vResource, file);
-			if (vFile != null) {
-				return vFile;
-			}
-		}
-		return null;
-	}
-
-	protected IVirtualFile getVirtualFile(IVirtualResource vResource, IFile file) throws CoreException {
-		switch (vResource.getType()) {
-			case IVirtualResource.FILE:
-				IVirtualFile vFile = (IVirtualFile) vResource;
-				return file.equals(vFile.getUnderlyingResource()) ? vFile : null;
-			case IVirtualResource.FOLDER:
-				// recurse
-				return this.getVirtualFile_((IVirtualFolder) vResource, file);
-			default:
-				return null;
-		}
-	}
-
-	protected IVirtualFolder getRootFolder(IProject project) {
-		return ComponentCore.createComponent(project).getRootFolder();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/PluginResourceLocator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/PluginResourceLocator.java
deleted file mode 100644
index 2e8f070..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/PluginResourceLocator.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource;
-
-import org.eclipse.core.resources.IContainer;
-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.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.internal.utility.PlatformTools;
-import org.eclipse.pde.core.project.IBundleProjectService;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-public class PluginResourceLocator
-	extends SimpleJavaResourceLocator
-{
-	@Override
-	public IContainer getDefaultResourceLocation(IProject project) {
-		IContainer bundleRoot = this.getBundleRoot(project);
-		return (bundleRoot != null) ?
-				bundleRoot.getFolder(META_INF_PATH) :
-				super.getDefaultResourceLocation(project);
-	}
-
-	@Override
-	public IPath getResourcePath(IProject project, IPath runtimePath) {
-		IContainer bundleRoot = this.getBundleRoot(project);
-		if (bundleRoot != null) {
-			IPath resourcePath = bundleRoot.getFullPath().append(runtimePath);
-			if (project.getWorkspace().getRoot().getFile(resourcePath).exists()) {
-				return resourcePath;
-			}
-		}
-		return super.getResourcePath(project, runtimePath);
-	}
-
-	@Override
-	public IPath getRuntimePath(IProject project, IPath resourcePath) {
-		IContainer bundleRoot = this.getBundleRoot(project);
-		if (bundleRoot != null) {
-			IFile file = PlatformTools.getFile(resourcePath);
-			if (bundleRoot.contains(file)) {
-				return resourcePath.makeRelativeTo(bundleRoot.getFullPath());
-			}
-		}
-		return super.getRuntimePath(project, resourcePath);
-	}
-
-	protected IContainer getBundleRoot(IProject project) {
-		try {
-			return this.getBundleRoot_(project);
-		} catch (CoreException ex) {
-			// problem creating description on an existing project
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-
-	protected IContainer getBundleRoot_(IProject project) throws CoreException {
-		BundleContext bundleContext = JptCommonCorePlugin.instance().getBundle().getBundleContext();
-		if (bundleContext == null) {
-			return project;
-		}
-		ServiceReference<IBundleProjectService> serviceRef = bundleContext.getServiceReference(IBundleProjectService.class);
-		if (serviceRef == null) {
-			return project;
-		}
-		IBundleProjectService service = bundleContext.getService(serviceRef);
-		if (service == null) {
-			bundleContext.ungetService(serviceRef);
-			return project;
-		}
-		IPath bundleRoot = service.getDescription(project).getBundleRoot();
-		bundleContext.ungetService(serviceRef);
-		return (bundleRoot == null) ? project : project.getFolder(bundleRoot);
-	}
-
-	protected IBundleProjectService getBundleProjectService() {
-		BundleContext context = JptCommonCorePlugin.instance().getBundle().getBundleContext();
-		ServiceReference<IBundleProjectService> reference = context.getServiceReference(IBundleProjectService.class);
-		if (reference == null) {
-			return null;
-		}
-		IBundleProjectService service = context.getService(reference);
-		if (service != null) {
-			context.ungetService(reference);
-		}
-		return service;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ProjectAdapterFactory.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ProjectAdapterFactory.java
deleted file mode 100644
index 1b0e356..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ProjectAdapterFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jpt.common.core.resource.ProjectResourceLocator;
-
-/**
- * Factory to build Dali adapters for an {@link IProject}:<ul>
- * <li>{@link org.eclipse.jpt.common.core.resource.ProjectResourceLocator}
- * </ul>
- * See <code>org.eclipse.jpt.common.core/plugin.xml</code>.
- */
-public class ProjectAdapterFactory
-	implements IAdapterFactory
-{
-	private static final Class<?>[] ADAPTER_LIST = new Class[] {
-			ProjectResourceLocator.class
-		};
-
-	public Class<?>[] getAdapterList() {
-		return ADAPTER_LIST;
-	}
-
-	public Object getAdapter(Object adaptableObject, @SuppressWarnings("rawtypes") Class adapterType) {
-		if (adaptableObject instanceof IProject) {
-			return this.getAdapter((IProject) adaptableObject, adapterType);
-		}
-		return null;
-	}
-	
-	private Object getAdapter(IProject project, Class<?> adapterType) {
-		if (adapterType == ProjectResourceLocator.class) {
-			return this.getProjectResourceLocator(project);
-		}
-		return null;
-	}
-	
-	private ProjectResourceLocator getProjectResourceLocator(IProject project) {
-		return new SimpleProjectResourceLocator(project);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ResourceLocatorConfig.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ResourceLocatorConfig.java
deleted file mode 100644
index 22a1b19..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ResourceLocatorConfig.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jpt.common.core.internal.utility.XPointTools;
-import org.eclipse.jpt.common.core.resource.ResourceLocator;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-public class ResourceLocatorConfig 
-		implements Comparable<ResourceLocatorConfig> {
-	
-	public static final String PROJECT_ENABLEMENT_VARIABLE = "project";  //$NON-NLS-1$
-	
-	private String id;
-	private String pluginId;
-	private String className;
-	private Priority priority;
-	private Expression enablementCondition;
-	
-	
-	ResourceLocatorConfig() {
-		super();
-	}
-	
-	
-	public String getId() {
-		return this.id;
-	}
-	
-	void setId(String id) {
-		this.id = id;
-	}
-	
-	public String getPluginId() {
-		return this.pluginId;
-	}
-	
-	void setPluginId(String pluginId) {
-		this.pluginId = pluginId;
-	}
-	
-	public String getClassName() {
-		return this.className;
-	}
-	
-	void setClassName(String className) {
-		this.className = className;
-	}
-	
-	public Priority getPriority() {
-		return this.priority;
-	}
-	
-	void setPriority(Priority priority) {
-		this.priority = priority;
-	}
-	
-	public Expression getEnablementCondition() {
-		return this.enablementCondition;
-	}
-	
-	void setEnablementCondition(Expression enablementCondition) {
-		this.enablementCondition = enablementCondition;
-	}
-	
-	public ResourceLocator getResourceLocator() {
-		return XPointTools.instantiate(
-				this.pluginId, ResourceLocatorManager.QUALIFIED_EXTENSION_POINT_ID, 
-				this.className, ResourceLocator.class);
-	}
-	
-	public boolean isEnabledFor(IProject project) {
-		EvaluationContext evalContext = new EvaluationContext(null, project);
-		evalContext.setAllowPluginActivation(true);
-		evalContext.addVariable(PROJECT_ENABLEMENT_VARIABLE, project);
-		
-		if (this.enablementCondition != null) {
-			try {
-				EvaluationResult evalResult = this.enablementCondition.evaluate(evalContext);
-				
-				if (evalResult == EvaluationResult.FALSE) {
-					return false;
-				}
-			}
-			catch (CoreException e) {
-				log(e);
-			}
-		}
-		
-		return true;
-	}
-	
-	public int compareTo(ResourceLocatorConfig other) {
-		return Priority.compare(this.priority, other.priority);
-	}
-	
-	
-	public static enum Priority {
-		
-		/* The lowest priority for a resource locator */
-		LOWEST(6, "lowest"), //$NON-NLS-1$
-		
-		/* The second lowest priority for a resource locator */
-		LOWER(5, "lower"), //$NON-NLS-1$
-		
-		/* The third lowest priority for a resource locator */
-		LOW(4, "low"), //$NON-NLS-1$
-		
-		/* The default priority for a resource locator */
-		NORMAL(3, "normal"), //$NON-NLS-1$
-		
-		/* The third highest priority for a resource locator */
-		HIGH(2, "high"), //$NON-NLS-1$
-		
-		/* The second highest priority for a resource locator */
-		HIGHER(1, "higher"), //$NON-NLS-1$
-		
-		/* The highest priority for a resource locator */
-		HIGHEST(0, "highest"); //$NON-NLS-1$
-		
-		
-		public static int compare(Priority priority1, Priority priority2) {
-			return priority1.value.compareTo(priority2.value);
-		}
-		
-		public static Priority get(String literal) {
-			if (literal == null) {
-				return NORMAL;
-			}
-			for (Priority priority : values()) {
-				if (StringTools.stringsAreEqual(literal, priority.literal)) {
-					return priority;
-				}
-			}
-			return null;
-		}
-		
-		
-		private Integer value;
-		private String literal;
-		
-		
-		private Priority(int value, String literal) {
-			this.value = Integer.valueOf(value);
-			this.literal = literal;
-		}
-		
-		
-		@Override
-		public String toString() {
-			return this.literal;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ResourceLocatorManager.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ResourceLocatorManager.java
deleted file mode 100644
index 51fb9d5..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/ResourceLocatorManager.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource;
-
-import static org.eclipse.jpt.common.core.internal.utility.XPointTools.findRequiredAttribute;
-import static org.eclipse.jpt.common.core.internal.utility.XPointTools.log;
-import static org.eclipse.jpt.common.core.internal.utility.XPointTools.logDuplicateExtension;
-import static org.eclipse.jpt.common.core.internal.utility.XPointTools.logInvalidValue;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.TreeSet;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.internal.resource.ResourceLocatorConfig.Priority;
-import org.eclipse.jpt.common.core.internal.utility.XPointTools.XPointException;
-import org.eclipse.jpt.common.core.resource.ResourceLocator;
-import org.eclipse.jpt.common.utility.internal.KeyedSet;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-public class ResourceLocatorManager {
-	
-	public static final String EXTENSION_POINT_ID = "resourceLocators"; //$NON-NLS-1$
-	public static final String QUALIFIED_EXTENSION_POINT_ID = JptCommonCorePlugin.PLUGIN_ID_ + EXTENSION_POINT_ID;
-	public static final String RESOURCE_LOCATOR_ELEMENT = "resourceLocator"; //$NON-NLS-1$
-	public static final String ID_ATTRIBUTE = "id"; //$NON-NLS-1$
-	public static final String CLASS_ATTRIBUTE = "class"; //$NON-NLS-1$
-	public static final String PRIORITY_ATTRIBUTE = "priority"; //$NON-NLS-1$
-	public static final String ENABLEMENT_ELEMENT = "enablement"; //$NON-NLS-1$
-	
-	
-	private static ResourceLocatorManager INSTANCE = new ResourceLocatorManager();
-	
-	
-	public static ResourceLocatorManager instance() {
-		return INSTANCE;
-	}
-	
-	
-	private KeyedSet<String, ResourceLocatorConfig> resourceLocatorConfigs;
-	
-	
-	private ResourceLocatorManager() {
-		this.resourceLocatorConfigs = new KeyedSet<String, ResourceLocatorConfig>();
-		readExtensions();
-	}
-	
-	
-	/**
-	 * Return the {@link ResourceLocator} of highest priority that is acceptable
-	 * for the given project
-	 */
-	public ResourceLocator getResourceLocator(final IProject project) {
-		Iterator<ResourceLocator> stream = new FilteringIterable<ResourceLocator>(
-				new TransformationIterable<ResourceLocatorConfig, ResourceLocator>(
-						new FilteringIterable<ResourceLocatorConfig>(
-								new TreeSet<ResourceLocatorConfig>(this.resourceLocatorConfigs.getItemSet())) {
-							@Override
-							protected boolean accept(ResourceLocatorConfig o) {
-								return o.isEnabledFor(project);
-							}
-						}) {
-					@Override
-					protected ResourceLocator transform(ResourceLocatorConfig o) {
-						return o.getResourceLocator();
-					}
-				}) {
-			@Override
-			protected boolean accept(ResourceLocator o) {
-				return o != null;
-			}
-		}.iterator();
-		return (stream.hasNext()) ? stream.next() : null;
-	}
-	
-	private void readExtensions() {
-		final IExtensionRegistry registry = Platform.getExtensionRegistry();
-		
-		final IExtensionPoint xpoint 
-				= registry.getExtensionPoint(QUALIFIED_EXTENSION_POINT_ID);
-		
-		if (xpoint == null) {
-			throw new IllegalStateException();
-		}
-		
-		final List<IConfigurationElement> configs = new ArrayList<IConfigurationElement>();
-		
-		for (IExtension extension : xpoint.getExtensions()) {
-        	for (IConfigurationElement element : extension.getConfigurationElements()) {
-        		configs.add(element);
-        	}
-		}
-		
-		for (IConfigurationElement element : configs) {
-			if (element.getName().equals(RESOURCE_LOCATOR_ELEMENT)) {
-                readExtension(element);
-			}
-		}
-	}
-	
-	private void readExtension(IConfigurationElement element) {
-		try {
-			final ResourceLocatorConfig rlConfig = new ResourceLocatorConfig();
-			
-			// plug-in id
-			rlConfig.setPluginId(element.getContributor().getName());
-			
-			// resource locator id
-			rlConfig.setId(findRequiredAttribute(element, ID_ATTRIBUTE));
-			
-			if (this.resourceLocatorConfigs.containsKey(rlConfig.getId())) {
-				logDuplicateExtension(QUALIFIED_EXTENSION_POINT_ID, ID_ATTRIBUTE, rlConfig.getId());
-				throw new XPointException();
-			}
-			
-			// resource locator class name
-			rlConfig.setClassName(findRequiredAttribute(element, CLASS_ATTRIBUTE));
-			
-			// priority
-			String priorityString = element.getAttribute(PRIORITY_ATTRIBUTE).trim();
-			Priority priority = Priority.get(priorityString);
-			if (priority == null) {
-				logInvalidValue(element, PRIORITY_ATTRIBUTE, priorityString);
-				throw new XPointException();
-			}
-			rlConfig.setPriority(priority);
-			
-			// enablement
-			for (IConfigurationElement child : element.getChildren()) {
-				String childName = child.getName();
-				if (childName.equals(ENABLEMENT_ELEMENT)) {
-					Expression expr;
-					try {
-						expr = ExpressionConverter.getDefault().perform(child);
-					}
-					catch (CoreException e) {
-						log(e);
-						throw new XPointException();
-					}
-					rlConfig.setEnablementCondition(expr);
-				}
-			}
-			
-			this.resourceLocatorConfigs.addItem(rlConfig.getId(), rlConfig);
-		}
-		catch (XPointException e) {
-			// Ignore and continue. The problem has already been reported to the user
-			// in the log.
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/SimpleJavaResourceLocator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/SimpleJavaResourceLocator.java
deleted file mode 100644
index a409df8..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/SimpleJavaResourceLocator.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource;
-
-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.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.internal.utility.PlatformTools;
-import org.eclipse.jpt.common.core.resource.ResourceLocator;
-import org.eclipse.jpt.common.utility.Filter;
-import org.eclipse.jpt.common.utility.internal.Transformer;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-public class SimpleJavaResourceLocator
-	implements ResourceLocator
-{
-	protected static final IPath META_INF_PATH = new Path(J2EEConstants.META_INF);
-
-	/**
-	 * Return whether the specified container is either:<ul>
-	 * <li>on the corresponding Java project's classpath; or
-	 * <li>in the non-Java resources, but not in the project output location
-	 * </ul>
-	 */
-	public boolean resourceLocationIsValid(IProject project, IContainer container) {
-		try {
-			return this.resourceLocationIsValid_(project, container);
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			// happens if the Java project does not exist
-			return false;
-		}
-	}
-
-	protected boolean resourceLocationIsValid_(IProject project, IContainer container) throws JavaModelException {
-		IJavaProject javaProject = this.getJavaProject(project);
-		if (javaProject.isOnClasspath(container)) {
-			return true;
-		}
-
-		IPath outputPath = javaProject.getOutputLocation();
-		IPath containerPath = container.getFullPath();
-		if (container.equals(project) && outputPath.isPrefixOf(containerPath)) {
-			return true;
-		}
-
-		if (outputPath.isPrefixOf(containerPath)) {
-			return false;
-		}
-		for (Object resource : javaProject.getNonJavaResources()) {
-			if (resource instanceof IFolder) {
-				IFolder folder = (IFolder) resource;
-				if (folder.getFullPath().isPrefixOf(containerPath)) {
-					return true;
-				}
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Return the default resource location for the specified project:<ul>
-	 * <li>the first package fragment root (source folder) <code>META-INF</code>
-	 *     folder if it exists; or
-	 * <li>the project rooted <code>META-INF</code> folder if it exists; or
-	 * <li>the non-existent <code>META-INF</code> folder in the first package
-	 *     fragment root (source folder)
-	 * </ul>
-	 */
-	public IContainer getDefaultResourceLocation(IProject project) {
-		try {
-			return this.getDefaultResourceLocation_(project);
-		} catch (Exception ex) {
-			JptCommonCorePlugin.log(ex);
-			// happens if the Java project does not exist or there is a problem with the
-			// Java resources
-			return null;
-		}
-	}
-
-	protected IContainer getDefaultResourceLocation_(IProject project) throws JavaModelException {
-		IContainer defaultLocation = null;
-		for (IContainer sourceFolder : this.getSourceFolders(project)) {
-			IFolder metaInfFolder = sourceFolder.getFolder(META_INF_PATH);
-			if (metaInfFolder.exists()) {
-				return metaInfFolder;
-			}
-			if (defaultLocation == null) {
-				// save the first one, to use if none found
-				defaultLocation = metaInfFolder;
-			}
-		}
-		IFolder metaInfFolder = project.getFolder(META_INF_PATH);
-		if (metaInfFolder.exists()) {
-			return metaInfFolder;
-		}
-		return defaultLocation;
-	}
-
-	public IPath getResourcePath(IProject project, IPath runtimePath) {
-		try {
-			return this.getResourcePath_(project, runtimePath);
-		} catch (Exception ex) {
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-
-	protected IPath getResourcePath_(IProject project, IPath runtimePath) throws JavaModelException {
-		IPath defaultResourcePath = null;
-		for (IContainer sourceFolder : this.getSourceFolders(project)) {
-			IPath resourcePath = sourceFolder.getFullPath().append(runtimePath);
-			IFile file = project.getWorkspace().getRoot().getFile(resourcePath);
-			if (file.exists()) {
-				return file.getFullPath();
-			}
-			if (defaultResourcePath == null) {
-				// save the first one, to use if none found
-				defaultResourcePath = resourcePath;
-			}
-		}
-		return defaultResourcePath;
-	}
-
-	public IPath getRuntimePath(IProject project, IPath resourcePath) {
-		try {
-			return this.getRuntimePath_(project, resourcePath);
-		} catch (Exception ex) {
-			JptCommonCorePlugin.log(ex);
-			return resourcePath.makeRelativeTo(project.getFullPath());
-		}
-	}
-
-	protected IPath getRuntimePath_(IProject project, IPath resourcePath) throws JavaModelException {
-		IFile file = PlatformTools.getFile(resourcePath);
-		for (IContainer sourceFolder : this.getSourceFolders(project)) {
-			if (sourceFolder.contains(file)) {
-				return resourcePath.makeRelativeTo(sourceFolder.getFullPath());
-			}
-		}
-		return resourcePath.makeRelativeTo(project.getFullPath());
-	}
-
-	protected Iterable<IContainer> getSourceFolders(IProject project) throws JavaModelException {
-		return new TransformationIterable<IPackageFragmentRoot, IContainer>(this.getSourcePackageFragmentRoots(project), ROOT_CONTAINER_TRANSFORMER);
-	}
-
-	protected static final Transformer<IPackageFragmentRoot, IContainer> ROOT_CONTAINER_TRANSFORMER = new RootContainerTransformer();
-
-	protected static class RootContainerTransformer
-		implements Transformer<IPackageFragmentRoot, IContainer>
-	{
-		public IContainer transform(IPackageFragmentRoot pfr) {
-			try {
-				return this.transform_(pfr);
-			} catch (JavaModelException ex) {
-				throw new RuntimeException(ex);
-			}
-		}
-		protected IContainer transform_(IPackageFragmentRoot pfr) throws JavaModelException {
-			return (IContainer) pfr.getUnderlyingResource();
-		}
-	}
-
-	protected Iterable<IPackageFragmentRoot> getSourcePackageFragmentRoots(IProject project) throws JavaModelException {
-		return new FilteringIterable<IPackageFragmentRoot>(this.getPackageFragmentRoots(project), SOURCE_ROOT_FILTER);
-	}
-
-	protected static final Filter<IPackageFragmentRoot> SOURCE_ROOT_FILTER = new SourceRootFilter();
-
-	protected static class SourceRootFilter
-		implements Filter<IPackageFragmentRoot>
-	{
-		public boolean accept(IPackageFragmentRoot pfr) {
-			try {
-				return this.accept_(pfr);
-			} catch (JavaModelException ex) {
-				throw new RuntimeException(ex);
-			}
-		}
-		protected boolean accept_(IPackageFragmentRoot pfr) throws JavaModelException {
-			return pfr.getKind() == IPackageFragmentRoot.K_SOURCE;
-		}
-	}
-
-	protected Iterable<IPackageFragmentRoot> getPackageFragmentRoots(IProject project) throws JavaModelException {
-		return new ArrayIterable<IPackageFragmentRoot>(this.getPackageFragmentRootsArray(project));
-	}
-
-	protected IPackageFragmentRoot[] getPackageFragmentRootsArray(IProject project) throws JavaModelException {
-		return this.getJavaProject(project).getPackageFragmentRoots();
-	}
-
-	protected IJavaProject getJavaProject(IProject project) {
-		return JavaCore.create(project);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/SimpleProjectResourceLocator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/SimpleProjectResourceLocator.java
deleted file mode 100644
index 71b1d52..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/SimpleProjectResourceLocator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jpt.common.core.resource.ProjectResourceLocator;
-import org.eclipse.jpt.common.core.resource.ResourceLocator;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * @see org.eclipse.jpt.common.core.internal.resource.ProjectAdapterFactory
- * @see ResourceLocatorManager
- */
-public class SimpleProjectResourceLocator
-	implements ProjectResourceLocator
-{
-	protected final IProject project;
-
-
-	public SimpleProjectResourceLocator(IProject project) {
-		super();
-		this.project = project;
-	}
-
-	public boolean resourceLocationIsValid(IContainer container) {
-		ResourceLocator resourceLocator = this.getResourceLocator();
-		return (resourceLocator != null) && resourceLocator.resourceLocationIsValid(this.project, container);
-	}
-
-	public IContainer getDefaultResourceLocation() {
-		ResourceLocator resourceLocator = this.getResourceLocator();
-		return (resourceLocator == null) ? null : resourceLocator.getDefaultResourceLocation(this.project);
-	}
-
-	public IPath getResourcePath(IPath runtimePath) {
-		ResourceLocator resourceLocator = this.getResourceLocator();
-		return (resourceLocator == null) ? null : resourceLocator.getResourcePath(this.project, runtimePath);
-	}
-
-	public IPath getRuntimePath(IPath resourcePath) {
-		ResourceLocator resourceLocator = this.getResourceLocator();
-		return (resourceLocator == null) ? null : resourceLocator.getRuntimePath(this.project, resourcePath);
-	}
-
-	public IFile getPlatformFile(IPath runtimePath) {
-		IPath sourcePath = this.getResourcePath(runtimePath);
-		return (sourcePath == null) ? null : this.project.getWorkspace().getRoot().getFile(sourcePath);
-	}
-
-	protected ResourceLocator getResourceLocator() {
-		return ResourceLocatorManager.instance().getResourceLocator(this.project);
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.project);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/WebModuleResourceLocator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/WebModuleResourceLocator.java
deleted file mode 100644
index 7d1cb6b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/WebModuleResourceLocator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
-
-public class WebModuleResourceLocator
-	extends ModuleResourceLocator
-{
-	protected static final IPath WEB_INF_CLASSES_PATH = new Path(J2EEConstants.WEB_INF_CLASSES);
-	protected static final IPath WEB_META_INF_PATH = WEB_INF_CLASSES_PATH.append(META_INF_PATH);
-
-	/**
-	 * Return the folder representing the <code>WEB-INF/classes/META-INF</code>
-	 * location.
-	 */
-	@Override
-	public IContainer getDefaultResourceLocation(IProject project) {
-		return this.getRootFolder(project).getFolder(WEB_META_INF_PATH).getUnderlyingFolder();
-	}
-
-	/**
-	 * Return the full resource path representing the specified runtime location
-	 * appended to the <code>WEB-INF/classes</code> location.
-	 */
-	@Override
-	public IPath getResourcePath(IProject project, IPath runtimePath) {
-		return super.getResourcePath(project, WEB_INF_CLASSES_PATH.append(runtimePath));
-	}
-
-	/**
-	 * 
-	 */
-	@Override
-	public IPath getRuntimePath(IProject project, IPath resourcePath) {
-		IPath runtimePath = super.getRuntimePath(project, resourcePath);
-		return WEB_INF_CLASSES_PATH.isPrefixOf(runtimePath) ?
-				runtimePath.makeRelativeTo(WEB_INF_CLASSES_PATH) :
-				runtimePath;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/AbstractJavaResourceNode.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/AbstractJavaResourceNode.java
deleted file mode 100644
index d5aad36..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/AbstractJavaResourceNode.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.AspectChangeSupport;
-import org.eclipse.jpt.common.utility.internal.model.ChangeSupport;
-
-/**
- * Java resource containment hierarchy
- */
-public abstract class AbstractJavaResourceNode
-	extends AbstractModel
-	implements JavaResourceNode
-{
-	protected final JavaResourceNode parent;
-
-
-	// ********** constructor **********
-	
-	protected AbstractJavaResourceNode(JavaResourceNode parent) {
-		super();
-		this.checkParent(parent);
-		this.parent = parent;
-	}
-
-	public JavaResourceNode getParent() {
-		return this.parent;
-	}
-
-	// ********** parent **********
-
-	protected void checkParent(JavaResourceNode p) {
-		if (p == null) {
-			if (this.requiresParent()) {
-				throw new IllegalArgumentException("'parent' cannot be null"); //$NON-NLS-1$
-			}
-		} else {
-			if (this.forbidsParent()) {
-				throw new IllegalArgumentException("'parent' must be null"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	protected boolean requiresParent() {
-		return true;
-	}
-
-	protected boolean forbidsParent() {
-		return ! this.requiresParent();  // assume 'parent' is not optional
-	}
-
-
-	// ********** change support callback hook **********
-
-	@Override
-	protected final ChangeSupport buildChangeSupport() {
-		return new AspectChangeSupport(this, this.buildChangeSupportListener());
-	}
-
-	private AspectChangeSupport.Listener buildChangeSupportListener() {
-		return new AspectChangeSupport.Listener() {
-			public void aspectChanged(String aspectName) {
-				AbstractJavaResourceNode.this.aspectChanged(aspectName);
-			}
-		};
-	}
-
-	/**
-	 * ignore the aspect name, we notify listeners of *every* change
-	 */
-	protected void aspectChanged(@SuppressWarnings("unused") String aspectName) {
-		this.getRoot().resourceModelChanged();
-	}
-
-
-	// ********** JavaResourceNode implementation **********
-
-	/**
-	 * @see org.eclipse.jpt.common.core.internal.resource.java.source.core.internal.resource.java.source.SourceCompilationUnit#getRoot()
-	 * @see org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryPackageFragmentRoot#getRoot()
-	 * @see org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryTypeCache#getRoot()
-	 */
-	public Root getRoot() {
-		return this.parent.getRoot();
-	}
-
-	public IFile getFile() {
-		return this.getRoot().getFile();
-	}
-
-
-	// ********** convenience methods **********
-
-	protected AnnotationProvider getAnnotationProvider() {
-		return this.getRoot().getAnnotationProvider();
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/NullAnnotation.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/NullAnnotation.java
deleted file mode 100644
index 5a7e7b7..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/NullAnnotation.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.utility.TextRange;
-
-/**
- * Simplify null annotation classes
- */
-public abstract class NullAnnotation<A extends Annotation>
-	extends AbstractJavaResourceNode
-	implements Annotation
-{
-
-	protected NullAnnotation(JavaResourceNode parent) {
-		super(parent);
-	}
-	
-	public void initialize(CompilationUnit astRoot) {
-		// do nothing
-	}
-
-	public org.eclipse.jdt.core.dom.Annotation getAstAnnotation(CompilationUnit astRoot) {
-		return null;
-	}
-
-	public JavaResourceCompilationUnit getJavaResourceCompilationUnit() {
-		throw new UnsupportedOperationException();
-	}
-
-	public boolean isMappingAnnotation() {
-		return false;
-	}
-
-	public void newAnnotation() {
-		throw new UnsupportedOperationException();
-	}
-
-	public void removeAnnotation() {
-		throw new UnsupportedOperationException();
-	}
-
-	public void moveAnnotation(int index) {
-		throw new UnsupportedOperationException();
-	}
-
-	public boolean isUnset() {
-		throw new UnsupportedOperationException();
-	}
-
-	public TextRange getTextRange(CompilationUnit astRoot) {
-		return null;
-	}
-
-	public void synchronizeWith(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * Convenience method: Cast the annotation's parent to a
-	 * persistent member.
-	 */
-	protected JavaResourceAnnotatedElement getAnnotatedElement() {
-		return (JavaResourceAnnotatedElement) this.parent;
-	}
-	
-	/**
-	 * Convenience method: Add the type or attribute's annotation
-	 * and return it.
-	 * Pre-condition: The annotation's parent must be a persistent member
-	 * (type or attribute).
-	 */
-	protected A addAnnotation() {
-		return this.addAnnotation_();
-	}
-
-	@SuppressWarnings("unchecked")
-	protected A addAnnotation_() {
-		return (A) this.getAnnotatedElement().addAnnotation(this.getAnnotationName());
-	}
-	
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAbstractType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAbstractType.java
deleted file mode 100644
index fa59446..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAbstractType.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeParameter;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnum;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-
-/**
- * binary persistent type
- */
-abstract class BinaryAbstractType
-	extends BinaryMember
-	implements JavaResourceAbstractType
-{
-	private String name;
-
-	private String qualifiedName;
-
-	private String packageName;
-
-	private String declaringTypeName;
-
-	private boolean memberType;
-
-
-	// ********** construction/initialization **********
-
-	protected BinaryAbstractType(JavaResourceNode parent, IType type) {
-		super(parent, new TypeAdapter(type));
-		this.name = this.buildName();
-		this.qualifiedName = this.buildQualifiedName();
-		this.packageName = this.buildPackageName();
-		this.declaringTypeName = this.buildDeclaringTypeName();
-		this.memberType = this.buildMemberType();
-	}
-
-
-	// ********** overrides **********
-
-	@Override
-	public void update() {
-		super.update();
-		this.setName(this.buildName());
-		this.setQualifiedName(this.buildQualifiedName());
-		this.setPackageName(this.buildPackageName());
-		this.setDeclaringTypeName(this.buildDeclaringTypeName());
-		this.setMemberType(this.buildMemberType());
-	}
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.name);
-	}
-
-	
-	// ********** JavaResourceAbstractType implementation **********
-
-	// ***** name
-	public String getName() {
-		return this.name;
-	}
-
-	private void setName(String name) {
-		String old = this.name;
-		this.name = name;
-		this.firePropertyChanged(NAME_PROPERTY, old, name);
-	}
-
-	private String buildName() {
-		return this.getMember().getElementName();
-	}
-
-	// ***** qualified name
-	public String getQualifiedName() {
-		return this.qualifiedName;
-	}
-
-	private void setQualifiedName(String qualifiedName) {
-		String old = this.qualifiedName;
-		this.qualifiedName = qualifiedName;
-		this.firePropertyChanged(QUALIFIED_NAME_PROPERTY, old, qualifiedName);
-	}
-
-	private String buildQualifiedName() {
-		return this.getMember().getFullyQualifiedName('.');  // no parameters are included here
-	}
-
-	// ***** package
-	public String getPackageName() {
-		return this.packageName;
-	}
-
-	private void setPackageName(String packageName) {
-		String old = this.packageName;
-		this.packageName = packageName;
-		this.firePropertyChanged(PACKAGE_NAME_PROPERTY, old, packageName);
-	}
-
-	private String buildPackageName() {
-		return this.getMember().getPackageFragment().getElementName();
-	}
-
-	public boolean isIn(IPackageFragment packageFragment) {
-		return StringTools.stringsAreEqual(packageFragment.getElementName(), this.packageName);
-	}
-
-	// ***** source folder
-	public boolean isIn(IPackageFragmentRoot sourceFolder) {
-		return getSourceFolder().equals(sourceFolder);
-	}
-
-	private IPackageFragmentRoot getSourceFolder() {
-		return (IPackageFragmentRoot) this.getMember().getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
-	}
-
-	// ***** declaring type name
-	public String getDeclaringTypeName() {
-		return this.declaringTypeName;
-	}
-
-	private void setDeclaringTypeName(String declaringTypeName) {
-		String old = this.declaringTypeName;
-		this.declaringTypeName = declaringTypeName;
-		this.firePropertyChanged(DECLARING_TYPE_NAME_PROPERTY, old, declaringTypeName);
-	}
-
-	private String buildDeclaringTypeName() {
-		IType declaringType = this.getMember().getDeclaringType();
-		return (declaringType == null) ? null : declaringType.getFullyQualifiedName('.');  // no parameters are included here
-	}
-
-
-	// ***** member
-	public boolean isMemberType() {
-		return this.memberType;
-	}
-
-	private void setMemberType(boolean memberType) {
-		boolean old = this.memberType;
-		this.memberType = memberType;
-		this.firePropertyChanged(MEMBER_TYPE_PROPERTY, old, memberType);
-	}
-
-	private boolean buildMemberType() {
-		try {
-			return this.getMember().isMember();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-
-	// ********** misc **********
-
-	@Override
-	public IType getMember() {
-		return (IType) super.getMember();
-	}
-
-	public Iterable<JavaResourceType> getTypes() {
-		throw new UnsupportedOperationException();
-	}
-	
-	public Iterable<JavaResourceEnum> getEnums() {
-		throw new UnsupportedOperationException();
-	}
-
-	public Iterable<JavaResourceType> getAllTypes() {
-		throw new UnsupportedOperationException();
-	}
-	
-	public Iterable<JavaResourceEnum> getAllEnums() {
-		throw new UnsupportedOperationException();
-	}
-
-	// ********** IType adapter **********
-
-	static class TypeAdapter
-			implements Adapter {
-		
-		private final IType type;
-		
-		TypeAdapter(IType type) {
-			super();
-			this.type = type;
-		}
-		
-		public IType getElement() {
-			return this.type;
-		}
-		
-		public Iterable<ITypeParameter> getTypeParameters() {
-			try {
-				return new ArrayIterable<ITypeParameter>(this.type.getTypeParameters());
-			}
-			catch (JavaModelException jme) {
-				JptCommonCorePlugin.log(jme);
-			}
-			return EmptyIterable.instance();
-		}
-		
-		public IAnnotation[] getAnnotations() throws JavaModelException {
-			return this.type.getAnnotations();
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAnnotatedElement.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAnnotatedElement.java
deleted file mode 100644
index 59335c8..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAnnotatedElement.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Vector;
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMemberValuePair;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-/**
- * binary annotated element
- */
-abstract class BinaryAnnotatedElement
-	extends BinaryNode
-	implements JavaResourceAnnotatedElement
-{
-	/** JDT annotated element adapter */
-	final Adapter adapter;
-
-	/** annotations */
-	final Vector<Annotation> annotations = new Vector<Annotation>();
-	
-	/**
-	 * Annotation containers keyed on nestable annotation name.
-	 * This is used to store annotations that can be both standalone and nested
-	 * and are moved back and forth between the 2.
-	 */
-	final Map<String, AnnotationContainer> annotationContainers = new HashMap<String, AnnotationContainer>();
-
-	/**
-	 * these are built as needed
-	 */
-	private final HashMap<String, Annotation> nullAnnotationsCache = new HashMap<String, Annotation>();
-
-
-	// ********** construction/initialization **********
-
-	public BinaryAnnotatedElement(JavaResourceNode parent, Adapter adapter) {
-		super(parent);
-		this.adapter = adapter;
-		this.initializeAnnotations();
-	}
-
-	private void initializeAnnotations() {
-		for (IAnnotation annotation : this.getJdtAnnotations()) {
-			this.addAnnotation(annotation);
-		}
-	}
-
-	private void addAnnotation(IAnnotation jdtAnnotation) {
-		String jdtAnnotationName = jdtAnnotation.getElementName();
-		if (this.annotationIsValid(jdtAnnotationName)) {
-			this.annotations.add(this.getAnnotationProvider().buildAnnotation(this, jdtAnnotation));
-		}
-		if (this.annotationIsValidNestable(jdtAnnotationName)) {
-			AnnotationContainer container = new AnnotationContainer();
-			container.initializeFromNestableAnnotation(jdtAnnotation);
-			this.annotationContainers.put(jdtAnnotationName, container);
-		}
-		if (this.annotationIsValidContainer(jdtAnnotationName)) {
-			String nestableAnnotationName = this.getNestableAnnotationName(jdtAnnotationName);
-			AnnotationContainer container = new AnnotationContainer();
-			container.initializeFromContainerAnnotation(jdtAnnotation);
-			this.annotationContainers.put(nestableAnnotationName, container);
-		}
-	}
-
-	private boolean annotationIsValid(String annotationName) {
-		return CollectionTools.contains(this.getValidAnnotationNames(), annotationName);
-	}
-
-	private boolean annotationIsValidContainer(String annotationName) {
-		return CollectionTools.contains(this.getValidContainerAnnotationNames(), annotationName);
-	}
-
-	private boolean annotationIsValidNestable(String annotationName) {
-		return CollectionTools.contains(this.getValidNestableAnnotationNames(), annotationName);
-	}
-
-	Iterable<String> getValidAnnotationNames() {
-		return this.getAnnotationProvider().getAnnotationNames();
-	}
-
-	Iterable<String> getValidContainerAnnotationNames() {
-		return this.getAnnotationProvider().getContainerAnnotationNames();
-	}
-
-	Iterable<String> getValidNestableAnnotationNames() {
-		return this.getAnnotationProvider().getNestableAnnotationNames();
-	}
-
-
-	private String getNestableAnnotationName(String containerAnnotationName) {
-		return getAnnotationProvider().getNestableAnnotationName(containerAnnotationName);
-	}
-
-
-	// ********** updating **********
-
-	@Override
-	public void update() {
-		super.update();
-		this.updateAnnotations();
-	}
-
-	// TODO
-	private void updateAnnotations() {
-		throw new UnsupportedOperationException();
-	}
-	
-	
-	// ********** annotations **********
-
-	public Iterable<Annotation> getAnnotations() {
-		return new LiveCloneIterable<Annotation>(this.annotations);
-	}
-
-	public int getAnnotationsSize() {
-		return this.annotations.size();
-	}
-
-	protected Iterable<NestableAnnotation> getNestableAnnotations() {
-		return new CompositeIterable<NestableAnnotation>(this.getNestableAnnotationLists());
-	}
-
-	private Iterable<Iterable<NestableAnnotation>> getNestableAnnotationLists() {
-		return new TransformationIterable<AnnotationContainer, Iterable<NestableAnnotation>>(this.annotationContainers.values()) {
-			@Override
-			protected Iterable<NestableAnnotation> transform(AnnotationContainer container) {
-				return container.getNestedAnnotations();
-			}
-		};
-	}
-
-	public Annotation getAnnotation(String annotationName) {
-		return this.selectAnnotationNamed(this.getAnnotations(), annotationName);
-	}
-
-	public Annotation getNonNullAnnotation(String annotationName) {
-		Annotation annotation = this.getAnnotation(annotationName);
-		return (annotation != null) ? annotation : this.getNullAnnotation(annotationName);
-	}
-
-	private synchronized Annotation getNullAnnotation(String annotationName) {
-		Annotation annotation = this.nullAnnotationsCache.get(annotationName);
-		if (annotation == null) {
-			annotation = this.buildNullAnnotation(annotationName);
-			this.nullAnnotationsCache.put(annotationName, annotation);
-		}
-		return annotation;
-	}
-
-	private Annotation buildNullAnnotation(String annotationName) {
-		return getAnnotationProvider().buildNullAnnotation(this, annotationName);
-	}
-
-	// ********** nestable annotations **********
-
-	public ListIterable<NestableAnnotation> getAnnotations(String nestableAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		return container != null ? container.getNestedAnnotations() : EmptyListIterable.<NestableAnnotation> instance();
-	}
-
-
-	public int getAnnotationsSize(String nestableAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		return container == null ? 0 : container.getNestedAnnotationsSize();
-	}
-
-	public NestableAnnotation getAnnotation(int index, String nestableAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		return container == null ? null : container.nestedAnnotationAt(index);
-	}
-
-	// ***** queries *****
-	
-	public Iterable<Annotation> getAllAnnotations() {
-		return new CompositeIterable<Annotation>(
-				getAnnotations(),
-				getContainerOrNestableAnnotations());
-	}
-	
-	protected Iterable<Annotation> getContainerOrNestableAnnotations() {
-		return new TransformationIterable<AnnotationContainer, Annotation>(this.annotationContainers.values()) {
-			@Override
-			protected Annotation transform(AnnotationContainer o) {
-				return (o.getContainerAnnotation() != null) ? o.getContainerAnnotation() : CollectionTools.get(o.getNestedAnnotations(), 0);
-			}
-		};
-	}
-	
-	public boolean isAnnotated() {
-		return ! (this.annotations.isEmpty() && this.annotationContainers.isEmpty());
-	}
-
-	public boolean isAnnotatedWith(Iterable<String> annotationNames) {
-		for (Annotation annotation : this.getAnnotations()) {
-			if (CollectionTools.contains(annotationNames, annotation.getAnnotationName())) {
-				return true;
-			}
-		}
-		for (Annotation annotation : this.getNestableAnnotations()) {
-			if (CollectionTools.contains(annotationNames, annotation.getAnnotationName())) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-
-	// ********** misc **********
-
-	IJavaElement getAnnotatedElement() {
-		return this.adapter.getElement();
-	}
-
-	private Annotation selectAnnotationNamed(Iterable<Annotation> annotationList, String annotationName) {
-		for (Annotation annotation : annotationList) {
-			if (annotation.getAnnotationName().equals(annotationName)) {
-				return annotation;
-			}
-		}
-		return null;
-	}
-
-	private IAnnotation[] getJdtAnnotations() {
-		try {
-			return this.adapter.getAnnotations();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return EMPTY_JDT_ANNOTATION_ARRAY;
-		}
-	}
-	private static final IAnnotation[] EMPTY_JDT_ANNOTATION_ARRAY = new IAnnotation[0];
-
-
-	// ********** IJavaElement adapter **********
-
-	interface Adapter {
-		/**
-		 * Return the adapter's JDT element (IPackageFragment, IType, IField, IMethod).
-		 */
-		IJavaElement getElement();
-
-		/**
-		 * Return the adapter's element's JDT annotations.
-		 */
-		IAnnotation[] getAnnotations() throws JavaModelException;
-	}
-
-
-	// ********** unsupported JavaResourcePersistentMember implementation **********
-
-	public Annotation addAnnotation(String annotationName) {
-		throw new UnsupportedOperationException();
-	}
-
-	public NestableAnnotation addAnnotation(int index, String nestableAnnotationName) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void moveAnnotation(int targetIndex, int sourceIndex, String nestableAnnotationName) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void removeAnnotation(String annotationName) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void removeAnnotation(int index, String nestableAnnotationName) {
-		throw new UnsupportedOperationException();
-	}
-
-	public TextRange getNameTextRange(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-
-	public TextRange getTextRange(String nestableAnnotationName, CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-
-	private static final IMemberValuePair[] EMPTY_MEMBER_VALUE_PAIR_ARRAY = new IMemberValuePair[0];
-	
-	
-	class AnnotationContainer {
-		
-		private Annotation containerAnnotation;
-		
-		private final Vector<NestableAnnotation> nestedAnnotations = new Vector<NestableAnnotation>();
-		
-		protected AnnotationContainer() {
-			super();
-		}		
-		
-		
-		// ***** init from container *****
-		
-		protected void initializeFromContainerAnnotation(IAnnotation jdtContainerAnnotation) {
-			this.containerAnnotation = 
-					BinaryAnnotatedElement.this.getAnnotationProvider().buildAnnotation(
-							BinaryAnnotatedElement.this, jdtContainerAnnotation);
-			initializeNestedAnnotations(jdtContainerAnnotation);
-		}
-		
-		protected void initializeNestedAnnotations(IAnnotation jdtContainerAnnotation) {
-			int index = 0;
-			for (IMemberValuePair valuePair : this.getJdtMemberValuePairs(jdtContainerAnnotation)) {
-				IAnnotation jdtNestedAnnotation = (IAnnotation) valuePair.getValue();
-				this.nestedAnnotations.add(
-						BinaryAnnotatedElement.this.getAnnotationProvider().buildAnnotation(
-								BinaryAnnotatedElement.this, jdtNestedAnnotation, index++));
-			}
-		}
-		
-		private IMemberValuePair[] getJdtMemberValuePairs(IAnnotation jdtContainerAnnotation) {
-			try {
-				return jdtContainerAnnotation.getMemberValuePairs();
-			} 
-			catch (JavaModelException ex) {
-				JptCommonCorePlugin.log(ex);
-				return EMPTY_MEMBER_VALUE_PAIR_ARRAY;
-			}
-		}
-		
-		
-		// ***** init from nestable *****
-		
-		protected void initializeFromNestableAnnotation(IAnnotation jdtNestableAnnotation) {
-			this.nestedAnnotations.add(
-					BinaryAnnotatedElement.this.getAnnotationProvider().buildAnnotation(
-							BinaryAnnotatedElement.this, jdtNestableAnnotation, 0));
-		}
-		
-		
-		// ***** queries *****
-		
-		protected Annotation getContainerAnnotation() {
-			return this.containerAnnotation;
-		}
-		
-		protected ListIterable<NestableAnnotation> getNestedAnnotations() {
-			return new LiveCloneListIterable<NestableAnnotation>(this.nestedAnnotations);
-		}
-		
-		protected int getNestedAnnotationsSize() {
-			return this.nestedAnnotations.size();
-		}
-		
-		protected NestableAnnotation nestedAnnotationAt(int index) {
-			return this.nestedAnnotations.get(index);
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAnnotation.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAnnotation.java
deleted file mode 100644
index 63af604..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAnnotation.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.IMemberValuePair;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-
-/**
- * JAR annotation
- */
-public abstract class BinaryAnnotation
-	extends BinaryNode
-	implements Annotation
-{
-	final IAnnotation jdtAnnotation;
-
-	protected BinaryAnnotation(JavaResourceNode parent, IAnnotation jdtAnnotation) {
-		super(parent);
-		this.jdtAnnotation = jdtAnnotation;
-	}
-
-	// ********** convenience methods **********
-
-	/**
-	 * Return the values of the JDT annotation's member with the specified name.
-	 */
-	protected Object[] getJdtMemberValues(String memberName) {
-		Object[] values = (Object[]) this.getJdtMemberValue(memberName);
-		return (values != null) ? values : EMPTY_OBJECT_ARRAY;
-	}
-	private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
-
-	/**
-	 * Return the value of the JDT annotation's member with the specified name.
-	 */
-	protected Object getJdtMemberValue(String memberName) {
-		IMemberValuePair pair = this.getJdtMemberValuePair(memberName);
-		return (pair == null) ? null : pair.getValue();
-	}
-
-	/**
-	 * Return the JDT annotation's member-value pair with the specified name.
-	 */
-	private IMemberValuePair getJdtMemberValuePair(String memberName) {
-		for (IMemberValuePair pair : this.getJdtMemberValuePairs()) {
-			if (pair.getMemberName().equals(memberName)) {
-				return pair;
-			}
-		}
-		return null;
-	}
-
-	private IMemberValuePair[] getJdtMemberValuePairs() {
-		try {
-			return this.jdtAnnotation.getMemberValuePairs();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return EMPTY_MEMBER_VALUE_PAIR_ARRAY;
-		}
-	}
-	private static final IMemberValuePair[] EMPTY_MEMBER_VALUE_PAIR_ARRAY = new IMemberValuePair[0];
-
-
-	// ********** Annotation implementation **********
-
-	public org.eclipse.jdt.core.dom.Annotation getAstAnnotation(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-	public void newAnnotation() {
-		throw new UnsupportedOperationException();
-	}
-	public void removeAnnotation() {
-		throw new UnsupportedOperationException();
-	}
-	public boolean isUnset() {
-		throw new UnsupportedOperationException();
-	}
-
-	// ********** NestableAnnotation implementation **********
-	public void moveAnnotation(@SuppressWarnings("unused") int index) {
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAttribute.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAttribute.java
deleted file mode 100644
index 4db7f3e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryAttribute.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Vector;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeParameter;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.utility.internal.ClassName;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
-
-/**
- * binary attribute (field or property)
- */
-abstract class BinaryAttribute
-	extends BinaryMember
-	implements JavaResourceAttribute
-{
-	private int modifiers;
-
-	private String typeName;
-
-	private boolean typeIsInterface;
-
-	private boolean typeIsEnum;
-
-	private boolean typeIsArray;
-	
-	private int typeArrayDimensionality;
-	
-	private String typeArrayComponentTypeName;
-
-	private final Vector<String> typeSuperclassNames = new Vector<String>();
-
-	private final Vector<String> typeInterfaceNames = new Vector<String>();
-
-	private final Vector<String> typeTypeArgumentNames = new Vector<String>();
-
-
-	protected BinaryAttribute(JavaResourceType parent, Adapter adapter) {
-		super(parent, adapter);
-		this.modifiers = this.buildModifiers();
-		
-		String typeSignature = getTypeSignature();
-		Iterable<ITypeParameter> typeParameters = getAdapter().getTypeParameters();
-		this.typeName = buildTypeName(typeSignature, typeParameters);
-		this.typeIsArray = buildTypeIsArray(typeSignature);
-		this.typeArrayDimensionality = buildTypeArrayDimensionality(typeSignature);
-		this.typeArrayComponentTypeName = buildTypeArrayComponentTypeName(typeSignature, typeParameters);
-		this.typeTypeArgumentNames.addAll(buildTypeTypeArgumentNames(typeSignature, typeParameters));
-		
-		IType type = getType();
-		// if the type is an array, then the following will be false or empty
-		this.typeIsInterface = this.buildTypeIsInterface(type);
-		this.typeIsEnum = this.buildTypeIsEnum(type);
-		this.typeSuperclassNames.addAll(this.buildTypeSuperclassNames(type));
-		this.typeInterfaceNames.addAll(this.buildTypeInterfaceNames(type));
-	}
-
-
-	// ******** overrides ********
-
-	@Override
-	public void update() {
-		super.update();
-		this.setModifiers(this.buildModifiers());
-		
-		String typeSignature = getTypeSignature();
-		Iterable<ITypeParameter> typeParameters = getAdapter().getTypeParameters();
-		setTypeName(buildTypeName(typeSignature, typeParameters));
-		setTypeIsArray(buildTypeIsArray(typeSignature));
-		setTypeArrayDimensionality(buildTypeArrayDimensionality(typeSignature));
-		setTypeArrayComponentTypeName(buildTypeArrayComponentTypeName(typeSignature, typeParameters));
-		setTypeTypeArgumentNames(buildTypeTypeArgumentNames(typeSignature, typeParameters));
-		
-		IType type = this.getType();  // if the type is an array, then the following will be false or empty
-		this.setTypeIsInterface(this.buildTypeIsInterface(type));
-		this.setTypeIsEnum(this.buildTypeIsEnum(type));
-		this.setTypeSuperclassNames(this.buildTypeSuperclassNames(type));
-		this.setTypeInterfaceNames(this.buildTypeInterfaceNames(type));
-	}
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.getName());
-	}
-
-
-	// ********** BinaryPersistentMember implementation **********
-	
-	private Adapter getAdapter() {
-		return (Adapter) this.adapter;
-	}
-	
-	
-	// ********** JavaResourceAttribute implementation **********
-	
-	@Override
-	public JavaResourceType getParent() {
-		return (JavaResourceType) super.getParent();
-	}
-
-	public JavaResourceType getResourceType() {
-		return this.getParent();
-	}
-
-	public String getName() {
-		return this.getAdapter().getAttributeName();
-	}
-
-	public boolean typeIsSubTypeOf(String tn) {
-		return ((this.typeName != null) && this.typeName.equals(tn))
-				|| this.typeInterfaceNames.contains(tn)
-				|| this.typeSuperclassNames.contains(tn);
-	}
-
-	public boolean typeIsVariablePrimitive() {
-		return (this.typeName != null) && ClassName.isVariablePrimitive(this.typeName);
-	}
-
-	// ***** modifiers
-	public int getModifiers() {
-		return this.modifiers;
-	}
-
-	private void setModifiers(int modifiers) {
-		int old = this.modifiers;
-		this.modifiers = modifiers;
-		this.firePropertyChanged(MODIFIERS_PROPERTY, old, modifiers);
-	}
-
-	/**
-	 * zero seems like a reasonable default...
-	 */
-	private int buildModifiers() {
-		try {
-			return this.getMember().getFlags();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return 0;
-		}
-	}
-
-	// ***** type name
-	public String getTypeName() {
-		return this.typeName;
-	}
-
-	private void setTypeName(String typeName) {
-		String old = this.typeName;
-		this.typeName = typeName;
-		this.firePropertyChanged(TYPE_NAME_PROPERTY, old, typeName);
-	}
-	
-	private String buildTypeName(String typeSignature, Iterable<ITypeParameter> typeParameters) {
-		return convertTypeSignatureToTypeName(typeSignature, typeParameters);
-	}
-
-	// ***** type is interface
-	public boolean typeIsInterface() {
-		return this.typeIsInterface;
-	}
-
-	private void setTypeIsInterface(boolean typeIsInterface) {
-		boolean old = this.typeIsInterface;
-		this.typeIsInterface = typeIsInterface;
-		this.firePropertyChanged(TYPE_IS_INTERFACE_PROPERTY, old, typeIsInterface);
-	}
-
-	private boolean buildTypeIsInterface(IType type) {
-		try {
-			return (type != null) && type.isInterface();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	// ***** type is enum
-	public boolean typeIsEnum() {
-		return this.typeIsEnum;
-	}
-
-	private void setTypeIsEnum(boolean typeIsEnum) {
-		boolean old = this.typeIsEnum;
-		this.typeIsEnum = typeIsEnum;
-		this.firePropertyChanged(TYPE_IS_ENUM_PROPERTY, old, typeIsEnum);
-	}
-
-	private boolean buildTypeIsEnum(IType type) {
-		try {
-			return (type != null) && type.isEnum();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	// ***** type is array
-	public boolean typeIsArray() {
-		return this.typeIsArray;
-	}
-
-	private void setTypeIsArray(boolean typeIsArray) {
-		boolean old = this.typeIsArray;
-		this.typeIsArray = typeIsArray;
-		this.firePropertyChanged(TYPE_IS_ARRAY_PROPERTY, old, typeIsArray);
-	}
-
-	private boolean buildTypeIsArray(String typeSignature) {
-		return convertTypeSignatureToTypeIsArray(typeSignature);
-	}
-	
-	// ***** type array dimensionality
-	public int getTypeArrayDimensionality() {
-		return this.typeArrayDimensionality;
-	}
-	
-	private void setTypeArrayDimensionality(int typeArrayDimensionality) {
-		int old = this.typeArrayDimensionality;
-		this.typeArrayDimensionality = typeArrayDimensionality;
-		firePropertyChanged(TYPE_ARRAY_DIMENSIONALITY_PROPERTY, old, typeArrayDimensionality);
-	}
-	
-	private int buildTypeArrayDimensionality(String typeSignature) {
-		return convertTypeSignatureToTypeArrayDimensionality(typeSignature);
- 	}
-	
-	// ***** type array component type name
-	public String getTypeArrayComponentTypeName() {
-		return this.typeArrayComponentTypeName;
-	}
-	
-	private void setTypeArrayComponentTypeName(String typeArrayComponentTypeName) {
-		String old = this.typeArrayComponentTypeName;
-		this.typeArrayComponentTypeName = typeArrayComponentTypeName;
-		firePropertyChanged(TYPE_ARRAY_COMPONENT_TYPE_NAME_PROPERTY, old, typeArrayComponentTypeName);
-	}
-	
-	private String buildTypeArrayComponentTypeName(String typeSignature, Iterable<ITypeParameter> typeParameters) {
-		int arrayDimensionality = convertTypeSignatureToTypeArrayDimensionality(typeSignature);
-		return (arrayDimensionality == 0) ? null : convertTypeSignatureToTypeArrayComponentTypeName(typeSignature, typeParameters);
- 	}
-
-	// ***** type superclass hierarchy
-	public ListIterable<String> getTypeSuperclassNames() {
-		return new LiveCloneListIterable<String>(this.typeSuperclassNames);
-	}
-
-	public boolean typeSuperclassNamesContains(String superclassName) {
-		return this.typeSuperclassNames.contains(superclassName);
-	}
-
-	private void setTypeSuperclassNames(List<String> typeSuperclassNames) {
-		this.synchronizeList(typeSuperclassNames, this.typeSuperclassNames, TYPE_SUPERCLASS_NAMES_LIST);
-	}
-
-	private List<String> buildTypeSuperclassNames(IType type) {
-		if (type == null) {
-			return Collections.emptyList();
-		}
-
-		ArrayList<String> names = new ArrayList<String>();
-		type = this.findSuperclass(type);
-		while (type != null) {
-			names.add(type.getFullyQualifiedName('.'));  // no parameters are included here
-			type = this.findSuperclass(type);
-		}
-		return names;
-	}
-
-	// ***** type interface hierarchy
-	public Iterable<String> getTypeInterfaceNames() {
-		return new LiveCloneIterable<String>(this.typeInterfaceNames);
-	}
-
-	public boolean typeInterfaceNamesContains(String interfaceName) {
-		return this.typeInterfaceNames.contains(interfaceName);
-	}
-
-	private void setTypeInterfaceNames(Collection<String> typeInterfaceNames) {
-		this.synchronizeCollection(typeInterfaceNames, this.typeInterfaceNames, TYPE_INTERFACE_NAMES_COLLECTION);
-	}
-
-	private Collection<String> buildTypeInterfaceNames(IType type) {
-		if (type == null) {
-			return Collections.emptySet();
-		}
-
-		HashSet<String> names = new HashSet<String>();
-		while (type != null) {
-			this.addInterfaceNamesTo(type, names);
-			type = this.findSuperclass(type);
-		}
-		return names;
-	}
-
-	private void addInterfaceNamesTo(IType type, HashSet<String> names) {
-		for (String interfaceSignature : this.getSuperInterfaceTypeSignatures(type)) {
-			String interfaceName = convertTypeSignatureToTypeName(interfaceSignature);
-			names.add(interfaceName);
-			IType interfaceType = this.findType(interfaceName);
-			if (interfaceType != null) {
-				this.addInterfaceNamesTo(interfaceType, names);  // recurse
-			}
-		}
-	}
-
-	// ***** type type argument names
-	public ListIterable<String> getTypeTypeArgumentNames() {
-		return new LiveCloneListIterable<String>(this.typeTypeArgumentNames);
-	}
-
-	public int getTypeTypeArgumentNamesSize() {
-		return this.typeTypeArgumentNames.size();
-	}
-
-	public String getTypeTypeArgumentName(int index) {
-		return this.typeTypeArgumentNames.get(index);
-	}
-
-	private void setTypeTypeArgumentNames(List<String> typeTypeArgumentNames) {
-		this.synchronizeList(typeTypeArgumentNames, this.typeTypeArgumentNames, TYPE_TYPE_ARGUMENT_NAMES_LIST);
-	}
-	
-	private List<String> buildTypeTypeArgumentNames(String typeSignature, Iterable<ITypeParameter> typeParameters) {
-		int arrayDimensionality = convertTypeSignatureToTypeArrayDimensionality(typeSignature);
-		return (arrayDimensionality != 0) ? Collections.<String>emptyList() : convertTypeSignatureToTypeTypeArgumentNames(typeSignature, typeParameters);
-	}
-
-
-	// ********** convenience methods **********
-	
-	private String getTypeSignature() {
-		try {
-			return this.getAdapter().getTypeSignature();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-
-	private IType findSuperclass(IType type) {
-		return this.findTypeBySignature(this.getSuperclassSignature(type));
-	}
-
-	private String getSuperclassSignature(IType type) {
-		try {
-			return type.getSuperclassTypeSignature();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-
-	private String[] getSuperInterfaceTypeSignatures(IType type) {
-		try {
-			return type.getSuperInterfaceTypeSignatures();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return StringTools.EMPTY_STRING_ARRAY;
-		}
-	}
-
-	private IType findTypeBySignature(String typeSignature) {
-		return (typeSignature == null) ? null : this.findType(convertTypeSignatureToTypeName_(typeSignature));
-	}
-
-	private IType getType() {
-		return (this.typeName == null) ? null : this.findType(this.typeName);
-	}
-
-	private IType findType(String fullyQualifiedName) {
-		try {
-			return this.getJavaProject().findType(fullyQualifiedName);
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-
-	private IJavaProject getJavaProject() {
-		return this.getMember().getJavaProject();
-	}
-
-
-
-	// ********** adapters **********
-
-	/**
-	 * Adapt an IField or IMethod.
-	 */
-	interface Adapter
-			extends BinaryMember.Adapter {
-		
-		/**
-		 * Return the field or getter method's "attribute" name
-		 * (e.g. field "foo" -> "foo"; method "getFoo" -> "foo").
-		 */
-		String getAttributeName();
-		
-		/**
-		 * Return the attribute's type signature.
-		 */
-		String getTypeSignature() throws JavaModelException;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryClassFile.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryClassFile.java
deleted file mode 100644
index 3c4d009..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryClassFile.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceClassFile;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageFragment;
-
-/**
- * binary class file
- */
-final class BinaryClassFile
-	extends BinaryNode
-	implements JavaResourceClassFile
-{
-	/** JDT class file */
-	private final IClassFile classFile;
-
-	/** class file's type */
-	private final JavaResourceAbstractType type;
-
-
-	// ********** construction/initialization **********
-
-	/**
-	 * The JDT type gets passed in because the package fragment inspects it
-	 * beforehand to determine whether it exists and is relevant.
-	 */
-	BinaryClassFile(JavaResourcePackageFragment parent, IClassFile classFile, IType jdtType) {
-		super(parent);
-		this.classFile = classFile;
-		this.type = this.buildType(jdtType);
-	}
-
-	private JavaResourceAbstractType buildType(IType jdtType) {
-		try {
-			if (jdtType.isEnum()) {
-				return new BinaryEnum(this, jdtType);
-			}
-		}
-		catch (JavaModelException e) {
-			JptCommonCorePlugin.log(e);
-		}
-		return new BinaryType(this, jdtType);
-	}
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.classFile.getElementName());
-	}
-
-
-	// ********** JavaResourceClassFile implementation **********
-
-	public JavaResourceAbstractType getType() {
-		return this.type;
-	}
-
-	// TODO
-	@Override
-	public void update() {
-		super.update();
-//		type(this.classFile.getType());
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryEnum.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryEnum.java
deleted file mode 100644
index c41524b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryEnum.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.Collection;
-import java.util.Vector;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnum;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnumConstant;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-
-/**
- * binary enum
- */
-final class BinaryEnum
-	extends BinaryAbstractType
-	implements JavaResourceEnum
-{
-	private final Vector<JavaResourceEnumConstant> enumConstants;
-
-
-	// ********** construction/initialization **********
-
-	BinaryEnum(JavaResourceNode parent, IType type) {
-		super(parent, type);
-		this.enumConstants = this.buildEnumConstants();
-	}
-
-	public Kind getKind() {
-		return JavaResourceAnnotatedElement.Kind.ENUM;
-	}
-	// ********** overrides **********
-
-	@Override
-	public void update() {
-		super.update();
-		this.updateEnumConstants();
-	}
-
-	// TODO
-	private void updateEnumConstants() {
-		throw new UnsupportedOperationException();
-	}
-
-	
-	
-	// ********** JavaResourceEnum implementation **********
-
-
-
-	// ********** enum constants **********
-
-	public Iterable<JavaResourceEnumConstant> getEnumConstants() {
-		return new LiveCloneIterable<JavaResourceEnumConstant>(this.enumConstants);
-	}
-
-	private void addEnumConstant(JavaResourceEnumConstant enumConstants) {
-		this.addItemToCollection(enumConstants, this.enumConstants, ENUMS_COLLECTION);
-	}
-
-	private JavaResourceEnumConstant getEnumConstant(String enumConstantName, int occurrence) {
-		for (JavaResourceEnumConstant enumConstant : this.getEnumConstants()) {
-			if (enumConstant.isFor(enumConstantName, occurrence)) {
-				return enumConstant;
-			}
-		}
-		return null;
-	}
-
-	private void removeEnumConstants(Collection<JavaResourceEnumConstant> remove) {
-		this.removeItemsFromCollection(remove, this.enumConstants, ENUMS_COLLECTION);
-	}
-
-	private Vector<JavaResourceEnumConstant> buildEnumConstants() {
-		Iterable<IField> jdtEnumConstants = this.getEnumConstants(this.getMember());
-		Vector<JavaResourceEnumConstant> result = new Vector<JavaResourceEnumConstant>(CollectionTools.size(jdtEnumConstants));
-		for (IField jdtEnumConstant : jdtEnumConstants) {
-			result.add(this.buildEnumConstant(jdtEnumConstant));
-		}
-		return result;
-	}
-
-	private Iterable<IField> getEnumConstants(IType type) {
-		return new FilteringIterable<IField>(CollectionTools.iterable(this.getFields(type))) {
-			@Override
-			protected boolean accept(IField jdtField) {
-				return isEnumConstant(jdtField);
-			}
-		};
-	}
-
-	private IField[] getFields(IType type) {
-		try {
-			return type.getFields();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return EMPTY_FIELD_ARRAY;
-		}
-	}
-	private static final IField[] EMPTY_FIELD_ARRAY = new IField[0];
-
-	private boolean isEnumConstant(IField field) {
-		try {
-			return field.isEnumConstant();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	private JavaResourceEnumConstant buildEnumConstant(IField jdtEnumConstant) {
-		return new BinaryEnumConstant(this, jdtEnumConstant);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryEnumConstant.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryEnumConstant.java
deleted file mode 100644
index eae0c24..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryEnumConstant.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.ITypeParameter;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnum;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnumConstant;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-
-/**
- * Java binary enum constant, IField that returns true to isEnumConstant
- */
-final class BinaryEnumConstant
-		extends BinaryMember
-		implements JavaResourceEnumConstant {
-	
-	
-	
-	BinaryEnumConstant(JavaResourceEnum parent, IField enumConstant){
-		super(parent, new EnumConstantAdapter(enumConstant));
-	}
-
-	@Override
-	IField getMember() {
-		return (IField) super.getMember();
-	}
-
-	// ******** JavaResourceAnnotatedElement implementation ********
-	
-	public Kind getKind() {
-		return Kind.ENUM_CONSTANT;
-	}
-	
-	
-	// ******** JavaResourceEnumConstant implementation ********
-	
-	public String getName() {
-		return this.getMember().getElementName();
-	}
-	
-	
-	// ********** IField adapter **********
-
-	static class EnumConstantAdapter 
-			implements Adapter {
-		
-		private final IField enumConstant;
-		
-		EnumConstantAdapter(IField enumConstant) {
-			super();
-			this.enumConstant = enumConstant;
-		}
-		
-		public IField getElement() {
-			return this.enumConstant;
-		}
-		
-		public Iterable<ITypeParameter> getTypeParameters() {
-			try {
-				return new ArrayIterable<ITypeParameter>(this.enumConstant.getDeclaringType().getTypeParameters());
-			}
-			catch (JavaModelException jme) {
-				JptCommonCorePlugin.log(jme);
-			}
-			return EmptyIterable.instance();
-		}
-		
-		public IAnnotation[] getAnnotations() throws JavaModelException {
-			return this.enumConstant.getAnnotations();
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryField.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryField.java
deleted file mode 100644
index ea20715..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryField.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.ITypeParameter;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-
-/**
- * binary field
- */
-final class BinaryField
-	extends BinaryAttribute
-	implements JavaResourceField
-{
-
-	BinaryField(JavaResourceType parent, IField field) {
-		super(parent, new FieldAdapter(field));
-	}
-
-	
-	// ******** JavaResourceAnnotatedElement implementation ********
-	
-	public Kind getKind() {
-		return Kind.FIELD;
-	}
-
-	// ********** adapters **********
-
-	/**
-	 * IField adapter
-	 */
-	static class FieldAdapter
-			implements BinaryAttribute.Adapter {
-		
-		final IField field;
-		
-		FieldAdapter(IField field) {
-			super();
-			this.field = field;
-		}
-		
-		public IField getElement() {
-			return this.field;
-		}
-		
-		public Iterable<ITypeParameter> getTypeParameters() {
-			try {
-				return new ArrayIterable<ITypeParameter>(this.field.getDeclaringType().getTypeParameters());
-			}
-			catch (JavaModelException jme) {
-				JptCommonCorePlugin.log(jme);
-			}
-			return EmptyIterable.instance();
-		}
-		
-		public IAnnotation[] getAnnotations() throws JavaModelException {
-			return this.field.getAnnotations();
-		}
-		
-		public String getAttributeName() {
-			return this.field.getElementName();
-		}
-		
-		public String getTypeSignature() throws JavaModelException {
-			return this.field.getTypeSignature();
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryMember.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryMember.java
deleted file mode 100644
index d8cb8f1..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryMember.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.ITypeParameter;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceMember;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-
-/**
- * binary persistent member
- */
-abstract class BinaryMember
-	extends BinaryAnnotatedElement
-	implements JavaResourceMember
-{
-
-	private boolean final_;  // 'final' is a reserved word
-	private boolean transient_;  // 'transient' is a reserved word
-	private boolean public_;  // 'public' is a reserved word
-	private boolean static_;  // 'static' is a reserved word
-	private boolean protected_; // 'protected' is a reserved word
-
-
-	// ********** construction/initialization **********
-
-	public BinaryMember(JavaResourceNode parent, Adapter adapter) {
-		super(parent, adapter);
-		this.final_ = this.buildFinal();
-		this.transient_ = this.buildTransient();
-		this.public_ = this.buildPublic();
-		this.static_ = this.buildStatic();
-		this.protected_ = this.buildProtected();
-	}
-
-
-	// ********** updating **********
-
-	@Override
-	public void update() {
-		super.update();
-		this.setFinal(this.buildFinal());
-		this.setTransient(this.buildTransient());
-		this.setPublic(this.buildPublic());
-		this.setStatic(this.buildStatic());
-		this.setProtected(this.buildProtected());
-	}
-
-
-	// ********** simple state **********
-
-	// ***** final
-	public boolean isFinal() {
-		return this.final_;
-	}
-
-	private void setFinal(boolean final_) {
-		boolean old = this.final_;
-		this.final_ = final_;
-		this.firePropertyChanged(FINAL_PROPERTY, old, final_);
-	}
-
-	private boolean buildFinal() {
-		try {
-			return Flags.isFinal(this.getMember().getFlags());
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	// ***** transient
-	public boolean isTransient() {
-		return this.transient_;
-	}
-
-	private void setTransient(boolean transient_) {
-		boolean old = this.transient_;
-		this.transient_ = transient_;
-		this.firePropertyChanged(TRANSIENT_PROPERTY, old, transient_);
-	}
-
-	private boolean buildTransient() {
-		try {
-			return Flags.isTransient(this.getMember().getFlags());
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	// ***** public
-	public boolean isPublic() {
-		return this.public_;
-	}
-
-	private void setPublic(boolean public_) {
-		boolean old = this.public_;
-		this.public_ = public_;
-		this.firePropertyChanged(PUBLIC_PROPERTY, old, public_);
-	}
-
-	private boolean buildPublic() {
-		try {
-			return Flags.isPublic(this.getMember().getFlags());
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	// ***** static
-	public boolean isStatic() {
-		return this.static_;
-	}
-
-	private void setStatic(boolean static_) {
-		boolean old = this.static_;
-		this.static_ = static_;
-		this.firePropertyChanged(STATIC_PROPERTY, old, static_);
-	}
-
-	private boolean buildStatic() {
-		try {
-			return Flags.isStatic(this.getMember().getFlags());
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	// ***** protected
-	public boolean isProtected() {
-		return this.protected_;
-	}
-
-	private void setProtected(boolean protected_) {
-		boolean old = this.protected_;
-		this.protected_ = protected_;
-		this.firePropertyChanged(PROTECTED_PROPERTY, old, protected_);
-	}
-
-	private boolean buildProtected() {
-		try {
-			return Flags.isProtected(this.getMember().getFlags());
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	// ********** miscellaneous **********
-
-	IMember getMember() {
-		return this.getAdapter().getElement();
-	}
-
-	private Adapter getAdapter() {
-		return (Adapter) this.adapter;
-	}
-
-	/**
-	 * Strip off the type signature's parameters if present.
-	 * Convert to a readable string.
-	 */
-	static String convertTypeSignatureToTypeName(String typeSignature) {
-		return convertTypeSignatureToTypeName(typeSignature, EmptyIterable.<ITypeParameter>instance());
-	}
-	
-	/**
-	 * Strip off the type signature's parameters if present.
-	 * Convert to a readable string.
-	 */
-	static String convertTypeSignatureToTypeName(String typeSignature, Iterable<ITypeParameter> typeParameters) {
-		return (typeSignature == null) ? null : convertTypeSignatureToTypeName_(typeSignature, typeParameters);
-	}
-	
-	/**
-	 * no null check
-	 */
-	static String convertTypeSignatureToTypeName_(String typeSignature) {
-		return convertTypeSignatureToTypeName(typeSignature, EmptyIterable.<ITypeParameter>instance());
-	}
-	
-	/**
-	 * no null check
-	 */
-	static String convertTypeSignatureToTypeName_(String typeSignature, Iterable<ITypeParameter> typeParameters) {
-		String erasureSignature = Signature.getTypeErasure(typeSignature);
-		if (Signature.getTypeSignatureKind(erasureSignature) == Signature.TYPE_VARIABLE_SIGNATURE) {
-			try {
-				String typeParameterName = Signature.toString(erasureSignature);
-				for (ITypeParameter typeParameter : typeParameters) {
-					if (typeParameterName.equals(typeParameter.getElementName())) {
-						String[] bounds = (typeParameter == null) ? new String[0] : typeParameter.getBoundsSignatures();
-						if (bounds.length > 0) {
-							return convertTypeSignatureToTypeName_(bounds[0], typeParameters);
-						}
-					}
-				}
-			}
-			catch (JavaModelException jme) {
-				JptCommonCorePlugin.log(jme);
-			}
-		}
-		else if (Signature.getTypeSignatureKind(erasureSignature) == Signature.ARRAY_TYPE_SIGNATURE) {
-			int dim = Signature.getArrayCount(erasureSignature);
-			String arrayTypeName = convertTypeSignatureToTypeName(Signature.getElementType(erasureSignature), typeParameters);
-			return Signature.toString(Signature.createArraySignature(Signature.createTypeSignature(arrayTypeName, true), dim));
-		}
-		else if (Signature.getTypeSignatureKind(erasureSignature) == Signature.WILDCARD_TYPE_SIGNATURE) {
-			// if signature is ? (wildcard) or ? super X (bottom bounded), return top bound, which is Object
-			if (String.valueOf(Signature.C_STAR).equals(erasureSignature) || erasureSignature.startsWith(String.valueOf(Signature.C_SUPER))) {
-				return "java.lang.Object";
-			}
-			// else return top bound
-			else {
-				return Signature.toString(erasureSignature.substring(1));
-			}
-		}
-		return Signature.toString(erasureSignature);
-	}
-	
-	static boolean convertTypeSignatureToTypeIsArray(String typeSignature) {
-		return (typeSignature == null) ? false : Signature.getTypeSignatureKind(typeSignature) == Signature.ARRAY_TYPE_SIGNATURE;
-	}
-	
-	static int convertTypeSignatureToTypeArrayDimensionality(String typeSignature) {
-		return (typeSignature == null) ? 0 : Signature.getArrayCount(typeSignature);
-	}
-	
-	static String convertTypeSignatureToTypeArrayComponentTypeName(String typeSignature, Iterable<ITypeParameter> typeParameters) {
-		return (typeSignature == null) ? null : convertTypeSignatureToTypeName(Signature.getElementType(typeSignature), typeParameters);
-	}
-	
-	/**
-	 * these types can be arrays (e.g. "java.lang.String[]");
-	 * but they won't have any further nested generic type arguments
-	 * (e.g. "java.util.Collection<java.lang.String>")
-	 */
-	static List<String> convertTypeSignatureToTypeTypeArgumentNames(String typeSignature, Iterable<ITypeParameter> typeParameters) {
-		if (typeSignature == null) {
-			return Collections.emptyList();
-		}
-		
-		String[] typeArgumentSignatures = Signature.getTypeArguments(typeSignature);
-		if (typeArgumentSignatures.length == 0) {
-			return Collections.emptyList();
-		}
-		
-		ArrayList<String> names = new ArrayList<String>(typeArgumentSignatures.length);
-		for (String typeArgumentSignature : typeArgumentSignatures) {
-			names.add(convertTypeSignatureToTypeName(typeArgumentSignature, typeParameters));
-		}
-		return names;
-	}
-	
-	public boolean isPublicOrProtected() {
-		return this.isPublic() || this.isProtected();
-	}
-	
-	// ********** IMember adapter **********
-
-	interface Adapter extends BinaryAnnotatedElement.Adapter {
-		/**
-		 * Return the adapter's JDT member (IType, IField, IMethod).
-		 */
-		IMember getElement();
-		
-		Iterable<ITypeParameter> getTypeParameters();
-	}
-
-
-	// ********** unsupported JavaResourceMember implementation **********
-
-	public Annotation setPrimaryAnnotation(String primaryAnnotationName, Iterable<String> supportingAnnotationNames) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void resolveTypes(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-
-	public boolean isFor(String memberName, int occurrence) {
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryMethod.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryMethod.java
deleted file mode 100644
index ef034a1..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryMethod.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Vector;
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.ILocalVariable;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.ITypeParameter;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceMethod;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.utility.MethodSignature;
-import org.eclipse.jpt.common.utility.internal.NameTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
-
-/**
- * binary method
- */
-final class BinaryMethod
-		extends BinaryAttribute
-		implements JavaResourceMethod {
-	
-	private boolean constructor;
-	
-	private final Vector<String> parameterTypeNames = new Vector<String>();
-	
-	
-	BinaryMethod(JavaResourceType parent, IMethod method) {
-		super(parent, new MethodAdapter(method));
-	}
-	
-	public Kind getKind() {
-		return JavaResourceAnnotatedElement.Kind.METHOD;
-	}
-	
-	// ***** overrides *****
-	
-	@Override
-	public void update() {
-		super.update();
-		this.setConstructor(this.buildConstructor());
-
-		this.setParameterTypeNames(this.buildParameterTypeNames());
-	}
-	
-	@Override
-	IMethod getMember() {
-		return (IMethod) super.getMember();
-	}
-	
-	
-	// ***** method name *****
-	
-	public String getMethodName() {
-		return getMember().getElementName();
-	}
-	
-	
-	// ***** parameter type names *****
-	
-	public ListIterable<String> getParameterTypeNames() {
-		return new LiveCloneListIterable<String>(this.parameterTypeNames);
-	}
-	
-	public String getParameterTypeName(int index) {
-		return this.parameterTypeNames.get(index);
-	}
-	
-	public int getParametersSize() {
-		return this.parameterTypeNames.size();
-	}
-	
-	private List<String> buildParameterTypeNames() {
-		ArrayList<String> names = new ArrayList<String>();
-		for (ILocalVariable parameter : this.getParameters(this.getMember())) {
-			names.add(parameter.getElementName());//TODO is this right?
-		}
-		return names;
-	}
-	
-	private ILocalVariable[] getParameters(IMethod jdtMethod) {
-		try {
-			return jdtMethod.getParameters();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-	
-	private void setParameterTypeNames(List<String> parameterTypeNames) {
-		this.synchronizeList(parameterTypeNames, this.parameterTypeNames, PARAMETER_TYPE_NAMES_LIST);
-	}
-	
-	
-	// ***** constructor *****
-	
-	public boolean isConstructor() {
-		return this.constructor;
-	}
-	
-	private void setConstructor(boolean isConstructor) {
-		boolean old = this.constructor;
-		this.constructor = isConstructor;
-		this.firePropertyChanged(CONSTRUCTOR_PROPERTY, old, isConstructor);
-	}
-	
-	private boolean buildConstructor() {
-		try {
-			return this.getMember().isConstructor();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-	
-	
-	// ***** misc *****
-	
-	public boolean isFor(MethodSignature methodSignature, int occurrence) {
-		throw new UnsupportedOperationException();
-	}
-	
-	
-	// ********** adapters **********
-
-	/**
-	 * IMethod adapter
-	 */
-	static class MethodAdapter
-			implements BinaryAttribute.Adapter {
-		
-		final IMethod method;
-		static final IMethod[] EMPTY_METHOD_ARRAY = new IMethod[0];
-		
-		MethodAdapter(IMethod method) {
-			super();
-			this.method = method;
-		}
-		
-		public IMethod getElement() {
-			return this.method;
-		}
-		
-		public Iterable<ITypeParameter> getTypeParameters() {
-			try {
-				return new CompositeIterable<ITypeParameter>(
-						new ArrayIterable<ITypeParameter>(this.method.getTypeParameters()),
-						new ArrayIterable<ITypeParameter>(this.method.getDeclaringType().getTypeParameters()));
-			}
-			catch (JavaModelException jme) {
-				JptCommonCorePlugin.log(jme);
-			}
-			return EmptyIterable.instance();
-		}
-		
-		public IAnnotation[] getAnnotations() throws JavaModelException {
-			return this.method.getAnnotations();
-		}
-		
-		public String getAttributeName() {
-			return NameTools.convertGetterSetterMethodNameToPropertyName(this.method.getElementName());
-		}
-		
-		public String getTypeSignature() throws JavaModelException {
-			return this.method.getReturnType();
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryNamedAnnotation.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryNamedAnnotation.java
deleted file mode 100644
index 3e3b3f8..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryNamedAnnotation.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-
-/**
- * Used for annotations that have no behavior, just a name
- */
-public final class BinaryNamedAnnotation
-	extends BinaryAnnotation
-{
-
-	private final String annotationName;
-
-	public BinaryNamedAnnotation(JavaResourceNode parent, IAnnotation jdtAnnotation, String annotationName) {
-		super(parent, jdtAnnotation);
-		this.annotationName = annotationName;
-	}
-
-	public String getAnnotationName() {
-		return this.annotationName;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryNode.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryNode.java
deleted file mode 100644
index 5bb0ad0..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryNode.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.AbstractJavaResourceNode;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.utility.TextRange;
-
-/**
- * Binary convenience methods
- */
-// TODO hopefully this class can go away with some sort of refactoring of the
-// source and binary hierarchies...
-public abstract class BinaryNode
-	extends AbstractJavaResourceNode
-{
-
-	// ********** construction **********
-	
-	protected BinaryNode(JavaResourceNode parent) {
-		super(parent);
-	}
-
-
-	// ********** JavaResourceNode implementation **********
-
-	@Override
-	public IFile getFile() {
-		return null;  // only BinaryPackageFragmentRoot has a file...
-	}
-
-	public void update() {
-		// nothing by default
-	}
-
-	public JavaResourceCompilationUnit getJavaResourceCompilationUnit() {
-		throw new UnsupportedOperationException();
-	}
-
-	public TextRange getTextRange(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void initialize(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-
-	public void synchronizeWith(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryPackageFragment.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryPackageFragment.java
deleted file mode 100644
index 5550d24..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryPackageFragment.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Vector;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceClassFile;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageFragment;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageFragmentRoot;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-/**
- * binary package fragment
- */
-final class BinaryPackageFragment
-	extends BinaryNode
-	implements JavaResourcePackageFragment
-{
-	/** JDT package fragment */
-	private final IPackageFragment packageFragment;
-
-	/**
-	 * class files in the package fragment;
-	 * we only hold class files/types that are actually annotated;
-	 * if the unannotated types are needed (e.g. for orm.xml or an
-	 * inheritance tree) they can be discovered on the classpath as needed
-	 */
-	private final Vector<JavaResourceClassFile> classFiles = new Vector<JavaResourceClassFile>();
-
-
-	// ********** construction/initialization **********
-
-	BinaryPackageFragment(JavaResourcePackageFragmentRoot parent, IPackageFragment packageFragment) {
-		super(parent);
-		this.packageFragment = packageFragment;
-		this.classFiles.addAll(this.buildClassFiles());
-	}
-
-	private Collection<JavaResourceClassFile> buildClassFiles() {
-		IJavaElement[] children = this.getJDTChildren();
-		ArrayList<JavaResourceClassFile> result = new ArrayList<JavaResourceClassFile>(children.length);
-		for (IJavaElement child : children) {
-			IClassFile jdtClassFile = (IClassFile) child;
-			IType jdtType = jdtClassFile.getType();
-			if (typeIsRelevant(jdtType)) {
-				JavaResourceClassFile classFile = new BinaryClassFile(this, jdtClassFile, jdtType);
-				if (classFile.getType().isAnnotated()) {  // we only hold annotated types
-					result.add(classFile);
-				}
-			}
-		}
-		return result;
-	}
-
-	//we will limit to classes, interfaces, and enums. Annotation types will be ignored.
-	static boolean typeIsRelevant(IType type) {
-		try {
-			return (type != null)
-					&& type.exists()
-					&& (type.isClass() || type.isInterface()|| type.isEnum());
-		}
-		catch (JavaModelException e) {
-			return false;
-		}
-	}
-
-	// ********** JarResourceNode implementation **********
-
-	@Override
-	public void update() {
-		super.update();
-		this.updateClassFiles();
-	}
-
-	// TODO
-	private void updateClassFiles() {
-		throw new UnsupportedOperationException();
-	}
-
-
-	// ********** JavaResourcePackageFragment implementation **********
-
-	public ListIterable<JavaResourceClassFile> getClassFiles() {
-		return new LiveCloneListIterable<JavaResourceClassFile>(this.classFiles);
-	}
-
-	public int getClassFilesSize() {
-		return this.classFiles.size();
-	}
-
-	public Iterable<JavaResourceAbstractType> getTypes() {
-		return new TransformationIterable<JavaResourceClassFile, JavaResourceAbstractType>(this.getClassFiles()) {
-			@Override
-			protected JavaResourceAbstractType transform(JavaResourceClassFile classFile) {
-				return classFile.getType();  // we only hold annotated types
-			}
-		};
-	}
-
-
-	// ********** misc **********
-
-	private IJavaElement[] getJDTChildren() {
-		try {
-			return this.packageFragment.getChildren();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return EMPTY_JAVA_ELEMENT_ARRAY;
-		}
-	}
-	protected static final IJavaElement[] EMPTY_JAVA_ELEMENT_ARRAY = new IJavaElement[0];
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.packageFragment.getElementName());
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryPackageFragmentRoot.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryPackageFragmentRoot.java
deleted file mode 100644
index 42865f3..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryPackageFragmentRoot.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Vector;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.internal.utility.JDTTools;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageFragment;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageFragmentRoot;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-/**
- * binary package fragment root
- */
-public final class BinaryPackageFragmentRoot
-	extends RootBinaryNode
-	implements JavaResourcePackageFragmentRoot
-{
-	/** JDT package fragment root */
-	private final IPackageFragmentRoot packageFragmentRoot;
-
-	/** package fragments in the JAR */
-	private final Vector<JavaResourcePackageFragment> packageFragments = new Vector<JavaResourcePackageFragment>();
-
-
-	// ********** construction/initialization **********
-
-	public BinaryPackageFragmentRoot(IPackageFragmentRoot packageFragmentRoot, AnnotationProvider annotationProvider) {
-		super(null, annotationProvider);  // the package fragment root is the root of its sub-tree
-		this.packageFragmentRoot = packageFragmentRoot;
-		this.packageFragments.addAll(this.buildPackageFragments());
-	}
-
-	private Collection<JavaResourcePackageFragment> buildPackageFragments() {
-		IJavaElement[] jdtChildren = this.getJDTChildren();
-		ArrayList<JavaResourcePackageFragment> result = new ArrayList<JavaResourcePackageFragment>(jdtChildren.length);
-		for (IJavaElement child : jdtChildren) {
-			result.add(new BinaryPackageFragment(this, (IPackageFragment) child));
-		}
-		return result;
-	}
-
-
-	// ********** overrides **********
-
-	@Override
-	public IFile getFile() {
-		return (IFile) this.packageFragmentRoot.getResource();
-	}
-
-	@Override
-	public void update() {
-		super.update();
-		this.updatePackageFragments();
-	}
-
-	// TODO
-	private void updatePackageFragments() {
-		throw new UnsupportedOperationException();
-	}
-
-
-	// ********** JavaResourceNode.Root implementation **********
-
-	/**
-	 * NB: we hold only annotated types
-	 */
-	public Iterable<JavaResourceAbstractType> getTypes() {
-		return new CompositeIterable<JavaResourceAbstractType>(this.persistedTypesLists());
-	}
-
-	private Iterable<Iterable<JavaResourceAbstractType>> persistedTypesLists() {
-		return new TransformationIterable<JavaResourcePackageFragment, Iterable<JavaResourceAbstractType>>(this.getPackageFragments()) {
-			@Override
-			protected Iterable<JavaResourceAbstractType> transform(JavaResourcePackageFragment fragment) {
-				return fragment.getTypes();
-			}
-		};
-	}
-
-
-	// ********** JavaResourcePackageFragmentRoot implementation **********
-
-	public Iterable<JavaResourcePackageFragment> getPackageFragments() {
-		return new LiveCloneIterable<JavaResourcePackageFragment>(this.packageFragments);
-	}
-
-	public int getPackageFragmentsSize() {
-		return this.packageFragments.size();
-	}
-
-
-	// ********** misc **********
-
-	private IJavaElement[] getJDTChildren() {
-		return JDTTools.getChildren(this.packageFragmentRoot);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryType.java
deleted file mode 100644
index 33c4f9d..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryType.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.Collection;
-import java.util.Vector;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.Modifier;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceMethod;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.utility.MethodSignature;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-
-/**
- * binary type
- */
-final class BinaryType
-	extends BinaryAbstractType
-	implements JavaResourceType
-{
-	private String superclassQualifiedName;
-
-	private boolean abstract_;  // 'abstract' is a reserved word
-
-	private boolean hasNoArgConstructor;
-
-	private boolean hasPrivateNoArgConstructor;
-
-	private final Vector<JavaResourceField> fields;
-
-	private final Vector<JavaResourceMethod> methods;
-
-
-	// ********** construction/initialization **********
-
-	BinaryType(JavaResourceNode parent, IType type) {
-		super(parent, type);
-		this.superclassQualifiedName = this.buildSuperclassQualifiedName();
-		this.abstract_ = this.buildAbstract();
-		this.hasNoArgConstructor = this.buildHasNoArgConstructor();
-		this.hasPrivateNoArgConstructor = this.buildHasPrivateNoArgConstructor();
-		this.fields = this.buildFields();
-		this.methods = this.buildMethods();
-	}
-
-	public Kind getKind() {
-		return JavaResourceAnnotatedElement.Kind.TYPE;
-	}
-
-
-	// ********** overrides **********
-
-	@Override
-	public void update() {
-		super.update();
-		this.setSuperclassQualifiedName(this.buildSuperclassQualifiedName());
-		this.setAbstract(this.buildAbstract());
-		this.setHasNoArgConstructor(this.buildHasNoArgConstructor());
-		this.setHasPrivateNoArgConstructor(this.buildHasPrivateNoArgConstructor());
-		this.updateFields();
-		this.updateMethods();
-	}
-
-	// TODO
-	private void updateFields() {
-		throw new UnsupportedOperationException();
-	}
-
-	// TODO
-	private void updateMethods() {
-		throw new UnsupportedOperationException();
-	}
-
-	
-	
-	// ********** JavaResourceType implementation **********
-
-	// ***** superclass qualified name
-	public String getSuperclassQualifiedName() {
-		return this.superclassQualifiedName;
-	}
-
-	private void setSuperclassQualifiedName(String superclassQualifiedName) {
-		String old = this.superclassQualifiedName;
-		this.superclassQualifiedName = superclassQualifiedName;
-		this.firePropertyChanged(SUPERCLASS_QUALIFIED_NAME_PROPERTY, old, superclassQualifiedName);
-	}
-
-	private String buildSuperclassQualifiedName() {
-		return convertTypeSignatureToTypeName(this.getSuperclassTypeSignature());
-	}
-
-	private String getSuperclassTypeSignature() {
-		try {
-			return this.getMember().getSuperclassTypeSignature();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-
-
-	// ***** abstract
-	public boolean isAbstract() {
-		return this.abstract_;
-	}
-
-	private void setAbstract(boolean abstract_) {
-		boolean old = this.abstract_;
-		this.abstract_ = abstract_;
-		this.firePropertyChanged(ABSTRACT_PROPERTY, old, abstract_);
-	}
-
-	private boolean buildAbstract() {
-		try {
-			return Flags.isAbstract(this.getMember().getFlags());
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	// ***** no-arg constructor
-	public boolean hasNoArgConstructor() {
-		return this.hasNoArgConstructor;
-	}
-
-	private void setHasNoArgConstructor(boolean hasNoArgConstructor) {
-		boolean old = this.hasNoArgConstructor;
-		this.hasNoArgConstructor = hasNoArgConstructor;
-		this.firePropertyChanged(NO_ARG_CONSTRUCTOR_PROPERTY, old, hasNoArgConstructor);
-	}
-
-	private boolean buildHasNoArgConstructor() {
-		return this.findNoArgConstructor() != null;
-	}
-
-	private IMethod findNoArgConstructor() {
-		try {
-			for (IMethod method : this.getMember().getMethods()) {
-				if (method.isConstructor()) {
-					return method;
-				}
-			}
-		}
-		catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-		}
-		return null;
-	}
-
-	// ***** private no-arg constructor
-	public boolean hasPrivateNoArgConstructor() {
-		return this.hasPrivateNoArgConstructor;
-	}
-
-	private void setHasPrivateNoArgConstructor(boolean hasPrivateNoArgConstructor) {
-		boolean old = this.hasPrivateNoArgConstructor;
-		this.hasPrivateNoArgConstructor = hasPrivateNoArgConstructor;
-		this.firePropertyChanged(PRIVATE_NO_ARG_CONSTRUCTOR_PROPERTY, old, hasPrivateNoArgConstructor);
-	}
-
-	private boolean buildHasPrivateNoArgConstructor() {
-		IMethod method = this.findNoArgConstructor();
-		try {
-			return method != null && Flags.isPrivate(method.getFlags());
-		}
-		catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-	
-	
-	// ***** public/protected no-arg constructor *****
-	
-	public boolean hasPublicOrProtectedNoArgConstructor() {
-		Iterable<JavaResourceMethod> constructors = this.getConstructors();
-		if (CollectionTools.size(constructors) == 0) {
-			return true;
-		}
-		for (JavaResourceMethod constructor : constructors) {
-			if (constructor.getParametersSize() == 0) {
-				return Modifier.isPublic(constructor.getModifiers())
-						|| Modifier.isProtected(constructor.getModifiers());
-			}
-		}
-		return false;
-	}
-	
-	public boolean hasPublicNoArgConstructor() {
-		Iterable<JavaResourceMethod> constructors = this.getConstructors();
-		if (CollectionTools.size(constructors) == 0) {
-			return true;
-		}
-		for (JavaResourceMethod constructor : constructors) {
-			if (constructor.getParametersSize() == 0) {
-				return Modifier.isPublic(constructor.getModifiers());
-			}
-		}
-		return false;
-	}
-
-	protected Iterable<JavaResourceMethod> getConstructors() {
-		return new FilteringIterable<JavaResourceMethod>(this.getMethods()) {
-			@Override
-			protected boolean accept(JavaResourceMethod method) {
-				return method.isConstructor();
-			}
-		};
-	}
-
-
-	// ********** misc **********
-
-	public boolean hasAnyAnnotatedFields() {
-		for (JavaResourceField field : this.getFields()) {
-			if (field.isAnnotated()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public boolean hasAnyAnnotatedMethods() {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (method.isAnnotated()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	@Override
-	public IType getMember() {
-		return super.getMember();
-	}
-
-	// Two more requirements for a valid equals() method:
-	// 1. It should be public 
-	// 2. The return type should be boolean
-	// Both requirements are validated by the compiler so they are excluded here
-	public boolean hasEqualsMethod() {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (StringTools.stringsAreEqual(method.getMethodName(), "equals") //$NON-NLS-1$
-					&& method.getParametersSize() == 1
-					&& StringTools.stringsAreEqual(method.getParameterTypeName(0), Object.class.getName())) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	// Two more requirements for a valid hashCode() method:
-	// 1. It should be public 
-	// 2. The return type should be int
-	// Both requirements are validated by the compiler so they are excluded here
-	public boolean hasHashCodeMethod() {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (StringTools.stringsAreEqual(method.getMethodName(), "hashCode") //$NON-NLS-1$
-					&& method.getParametersSize() == 0) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public JavaResourceMethod getMethod(String propertyName) {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (StringTools.stringsAreEqual(method.getMethodName(), propertyName)) {
-				return method;
-			}
-		}
-		return null;
-	}
-
-	// ********** fields **********
-
-	public Iterable<JavaResourceField> getFields() {
-		return new LiveCloneIterable<JavaResourceField>(this.fields);
-	}
-	
-	private void addField(JavaResourceField field) {
-		this.addItemToCollection(field, this.fields, FIELDS_COLLECTION);
-	}
-
-	private JavaResourceField getField(String fieldName, int occurrence) {
-		for (JavaResourceField field : this.getFields()) {
-			if (field.isFor(fieldName, occurrence)) {
-				return field;
-			}
-		}
-		return null;
-	}
-
-	private void removeFields(Collection<JavaResourceField> remove) {
-		this.removeItemsFromCollection(remove, this.fields, FIELDS_COLLECTION);
-	}
-
-	private Vector<JavaResourceField> buildFields() {
-		IField[] jdtFields = this.getFields(this.getMember());
-		Vector<JavaResourceField> result = new Vector<JavaResourceField>(jdtFields.length);
-		for (IField jdtField : jdtFields) {
-			result.add(this.buildField(jdtField));
-		}
-		return result;
-	}
-
-	private IField[] getFields(IType type) {
-		try {
-			return type.getFields();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return EMPTY_FIELD_ARRAY;
-		}
-	}
-	private static final IField[] EMPTY_FIELD_ARRAY = new IField[0];
-
-	private JavaResourceField buildField(IField jdtField) {
-		return new BinaryField(this, jdtField);
-	}
-
-
-	// ********** methods **********
-
-	public Iterable<JavaResourceMethod> getMethods() {
-		return new LiveCloneIterable<JavaResourceMethod>(this.methods);
-	}
-
-	private JavaResourceMethod getMethod(MethodSignature signature, int occurrence) {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (method.isFor(signature, occurrence)) {
-				return method;
-			}
-		}
-		return null;
-	}
-
-	private void addMethod(JavaResourceMethod method) {
-		this.addItemToCollection(method, this.methods, METHODS_COLLECTION);
-	}
-
-	private void removeMethods(Collection<JavaResourceMethod> remove) {
-		this.removeItemsFromCollection(remove, this.methods, METHODS_COLLECTION);
-	}
-
-	private Vector<JavaResourceMethod> buildMethods() {
-		IMethod[] jdtMethods = this.getMethods(this.getMember());
-		Vector<JavaResourceMethod> result = new Vector<JavaResourceMethod>(jdtMethods.length);
-		for (IMethod jdtMethod : jdtMethods) {
-			result.add(this.buildMethod(jdtMethod));
-		}
-		return result;
-	}
-
-	private IMethod[] getMethods(IType type) {
-		try {
-			return type.getMethods();
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return EMPTY_METHOD_ARRAY;
-		}
-	}
-	private static final IMethod[] EMPTY_METHOD_ARRAY = new IMethod[0];
-
-	private JavaResourceMethod buildMethod(IMethod jdtMethod) {
-		return new BinaryMethod(this, jdtMethod);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryTypeCache.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryTypeCache.java
deleted file mode 100644
index fdc5684..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/BinaryTypeCache.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import java.util.Vector;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceTypeCache;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-/**
- * cache used to hold binary "external" Java resource types
- * (typically derived from JARs on the project's build path)
- */
-public final class BinaryTypeCache
-	extends RootBinaryNode
-	implements JavaResourceTypeCache
-{
-	/** populated on-demand */
-	private final Vector<Entry> entries = new Vector<Entry>();
-
-
-	// ********** construction **********
-
-	public BinaryTypeCache(AnnotationProvider annotationProvider) {
-		super(null, annotationProvider);
-	}
-
-
-	// ********** JavaResourceNode.Root implementation **********
-
-	public Iterable<JavaResourceAbstractType> getTypes() {
-		return new TransformationIterable<Entry, JavaResourceAbstractType>(this.getEntries()) {
-			@Override
-			protected JavaResourceAbstractType transform(Entry entry) {
-				return entry.type;
-			}
-		};
-	}
-
-	private Iterable<Entry> getEntries() {
-		return new LiveCloneIterable<Entry>(this.entries);
-	}
-
-
-	// ********** JavaResourcePersistentTypeCache implementation **********
-
-	public int getTypesSize() {
-		return this.entries.size();
-	}
-
-	public JavaResourceAbstractType addType(IType jdtType) {
-		Entry entry = this.buildEntry(jdtType);
-		this.entries.add(entry);
-		this.fireItemAdded(TYPES_COLLECTION, entry.type);
-		return entry.type;
-	}
-
-	private Entry buildEntry(IType jdtType) {
-		return new Entry(this.buildType(jdtType), jdtType.getResource());
-	}
-
-	//ignore annotations
-	private JavaResourceAbstractType buildType(IType jdtType) {
-		try {
-			if (jdtType.isClass() || jdtType.isInterface()) {
-				return new BinaryType(this, jdtType);
-			}
-			if (jdtType.isEnum()) {
-				return new BinaryEnum(this, jdtType);
-			}
-		}
-		catch(JavaModelException e) {
-			JptCommonCorePlugin.log(e);
-		}
-		return null;
-	}
-
-	public boolean removeTypes(IFile jarFile) {
-		boolean modified = false;
-		for (Entry entry : this.getEntries()) {
-			IResource resource = entry.resource;
-			if ((resource != null) && resource.equals(jarFile)) {
-				this.removeEntry(entry);
-				modified = true;
-			}
-		}
-		return modified;
-	}
-
-	private void removeEntry(Entry entry) {
-		this.entries.remove(entry);
-		this.fireItemRemoved(TYPES_COLLECTION, entry.type);
-	}
-
-
-	// ********** overrides **********
-
-	/**
-	 * Ignore changes to this collection. Adds can be ignored since they are triggered
-	 * by requests that will, themselves, trigger updates (typically during the
-	 * update of an object that calls a setter with the newly-created resource
-	 * type). Deletes will be accompanied by manual updates.
-	 */
-	@Override
-	protected void aspectChanged(String aspectName) {
-		if ((aspectName != null) && ! aspectName.equals(TYPES_COLLECTION)) {
-			super.aspectChanged(aspectName);
-		}
-	}
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.entries);
-	}
-
-
-	// ********** cache entry **********
-
-	/**
-	 * Associate a type with its resource.
-	 * This will be a JAR in the case of a type loaded from a JAR that is in
-	 * the Eclipse workspace. The resource will be null for a type loaded
-	 * from a JAR or class directory outside of the workspace.
-	 */
-	static class Entry {
-		final JavaResourceAbstractType type;
-		final IResource resource;
-
-		Entry(JavaResourceAbstractType type, IResource resource) {
-			super();
-			this.type = type;
-			this.resource = resource;
-		}
-
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, this.type);
-		}
-
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/RootBinaryNode.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/RootBinaryNode.java
deleted file mode 100644
index 3afcf60..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/binary/RootBinaryNode.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.binary;
-
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.JptResourceModelListener;
-import org.eclipse.jpt.common.core.JptResourceType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.utility.internal.ListenerList;
-
-/**
- * JAR and external types
- */
-abstract class RootBinaryNode
-	extends BinaryNode
-	implements JavaResourceNode.Root
-{
-	/** pluggable annotation provider */
-	private final AnnotationProvider annotationProvider;
-
-	/** listeners notified whenever the resource model changes */
-	private final ListenerList<JptResourceModelListener> resourceModelListenerList = new ListenerList<JptResourceModelListener>(JptResourceModelListener.class);
-
-
-	// ********** construction **********
-	
-	RootBinaryNode(JavaResourceNode parent, AnnotationProvider annotationProvider) {
-		super(parent);
-		this.annotationProvider = annotationProvider;
-	}
-
-
-	// ********** overrides **********
-
-	@Override
-	protected boolean requiresParent() {
-		return false;
-	}
-
-	@Override
-	public Root getRoot() {
-		return this;
-	}
-
-	@Override
-	public AnnotationProvider getAnnotationProvider() {
-		return this.annotationProvider;
-	}
-
-
-	// ********** JavaResourceNode.Root implementation **********
-
-	public void resourceModelChanged() {
-		for (JptResourceModelListener listener : this.resourceModelListenerList.getListeners()) {
-			listener.resourceModelChanged(this);
-		}
-	}
-
-
-	// ********** JptResourceModel implementation **********
-	
-	public JptResourceType getResourceType() {
-		return JptCommonCorePlugin.JAR_RESOURCE_TYPE;
-	}
-
-	public void addResourceModelListener(JptResourceModelListener listener) {
-		this.resourceModelListenerList.add(listener);
-	}
-
-	public void removeResourceModelListener(JptResourceModelListener listener) {
-		this.resourceModelListenerList.remove(listener);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAbstractType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAbstractType.java
deleted file mode 100644
index 533b308..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAbstractType.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.HashMap;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.utility.jdt.AbstractType;
-import org.eclipse.jpt.common.utility.internal.SimpleIntReference;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Java source type
- */
-abstract class SourceAbstractType<A extends AbstractType>
-	extends SourceMember<A>
-	implements JavaResourceAbstractType
-{
-	private String name;
-
-	private String qualifiedName;
-
-	private String packageName;
-
-	private String declaringTypeName;
-
-	private boolean memberType;
-
-
-	// ********** construction/initialization **********
-
-	protected SourceAbstractType(JavaResourceCompilationUnit javaResourceCompilationUnit, A type) {
-		super(javaResourceCompilationUnit, type);
-	}
-
-	@Override
-	public void initialize(CompilationUnit astRoot) {
-		super.initialize(astRoot);
-		ITypeBinding binding = this.annotatedElement.getBinding(astRoot);
-		this.name = this.buildName(binding);
-		this.qualifiedName = this.buildQualifiedName(binding);
-		this.packageName = this.buildPackageName(binding);
-		this.declaringTypeName = this.buildDeclaringTypeName(binding);
-		this.memberType = this.buildMemberType(binding);
-	}
-
-
-	// ********** update **********
-
-	@Override
-	public void synchronizeWith(CompilationUnit astRoot) {
-		super.synchronizeWith(astRoot);
-		ITypeBinding binding = this.annotatedElement.getBinding(astRoot);
-		this.syncName(this.buildName(binding));
-		this.syncQualifiedName(this.buildQualifiedName(binding));
-		this.syncPackageName(this.buildPackageName(binding));
-		this.syncDeclaringTypeName(this.buildDeclaringTypeName(binding));
-		this.syncMemberType(this.buildMemberType(binding));
-	}
-
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.name);
-	}
-
-
-	// ******** JavaResourceAbstractType implementation ********
-
-	// ***** name
-	public String getName() {
-		return this.name;
-	}
-
-	private void syncName(String astName) {
-		String old = this.name;
-		this.name = astName;
-		this.firePropertyChanged(NAME_PROPERTY, old, astName);
-	}
-
-	private String buildName(ITypeBinding binding) {
-		return (binding == null) ? null : binding.getName();
-	}
-
-	// ***** qualified name
-	public String getQualifiedName() {
-		return this.qualifiedName;
-	}
-
-	private void syncQualifiedName(String astQualifiedName) {
-		String old = this.qualifiedName;
-		this.qualifiedName = astQualifiedName;
-		this.firePropertyChanged(QUALIFIED_NAME_PROPERTY, old, astQualifiedName);
-	}
-
-	private String buildQualifiedName(ITypeBinding binding) {
-		return (binding == null) ? null : binding.getQualifiedName();
-	}
-
-	// ***** package name
-	public String getPackageName() {
-		return this.packageName;
-	}
-
-	private void syncPackageName(String astPackageName) {
-		String old = this.packageName;
-		this.packageName = astPackageName;
-		this.firePropertyChanged(PACKAGE_NAME_PROPERTY, old, astPackageName);
-	}
-
-	private String buildPackageName(ITypeBinding binding) {
-		return (binding == null) ? null : binding.getPackage().getName();
-	}
-
-	// ***** package
-	public boolean isIn(IPackageFragment packageFragment) {
-		return StringTools.stringsAreEqual(packageFragment.getElementName(), this.packageName);
-	}
-
-	// ***** source folder
-	public boolean isIn(IPackageFragmentRoot sourceFolder) {
-		return getSourceFolder().equals(sourceFolder);
-	}
-
-	private IPackageFragmentRoot getSourceFolder() {
-		return (IPackageFragmentRoot) this.getJavaResourceCompilationUnit().getCompilationUnit().getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
-	}
-
-	// ***** declaring type name
-	public String getDeclaringTypeName() {
-		return this.declaringTypeName;
-	}
-
-	private void syncDeclaringTypeName(String astDeclaringTypeName) {
-		String old = this.declaringTypeName;
-		this.declaringTypeName = astDeclaringTypeName;
-		this.firePropertyChanged(DECLARING_TYPE_NAME_PROPERTY, old, astDeclaringTypeName);
-	}
-
-	private String buildDeclaringTypeName(ITypeBinding binding) {
-		if (binding == null) {
-			return null;
-		}
-		ITypeBinding declaringClass = binding.getDeclaringClass();
-		return (declaringClass == null) ? null : declaringClass.getTypeDeclaration().getQualifiedName();
-	}
-
-	// ***** member type
-	public boolean isMemberType() {
-		return this.memberType;
-	}
-
-	private void syncMemberType(boolean memberType) {
-		boolean old = this.memberType;
-		this.memberType = memberType;
-		this.firePropertyChanged(MEMBER_TYPE_PROPERTY, old, memberType);
-	}
-
-	private boolean buildMemberType(ITypeBinding binding) {
-		return (binding == null) ? false : binding.isMember();
-	}
-
-
-	// ********** CounterMap **********
-
-	protected static class CounterMap {
-		private final HashMap<Object, SimpleIntReference> counters;
-
-		protected CounterMap(int initialCapacity) {
-			super();
-			this.counters = new HashMap<Object, SimpleIntReference>(initialCapacity);
-		}
-
-		/**
-		 * Return the incremented count for the specified object.
-		 */
-		int increment(Object o) {
-			SimpleIntReference counter = this.counters.get(o);
-			if (counter == null) {
-				counter = new SimpleIntReference();
-				this.counters.put(o, counter);
-			}
-			counter.increment();
-			return counter.getValue();
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAnnotatedElement.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAnnotatedElement.java
deleted file mode 100644
index ec38a9e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAnnotatedElement.java
+++ /dev/null
@@ -1,597 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Vector;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-/**
- * Java source annotated element (annotations)
- */
-abstract class SourceAnnotatedElement<A extends AnnotatedElement>
-	extends SourceNode
-	implements JavaResourceAnnotatedElement
-{
-	final A annotatedElement;
-
-	/**
-	 * annotations; no duplicates (java compiler has an error for duplicates)
-	 */
-	final Vector<Annotation> annotations = new Vector<Annotation>();
-
-	/**
-	 * Annotation containers keyed on nestable annotation name.
-	 * This is used to store annotations that can be both standalone and nested
-	 * and are moved back and forth between the 2.
-	 */
-	final Map<String, AnnotationContainer> annotationContainers = new HashMap<String, AnnotationContainer>();
-
-	// ********** construction/initialization **********
-
-	SourceAnnotatedElement(JavaResourceNode parent, A annotatedElement) {
-		super(parent);
-		this.annotatedElement = annotatedElement;
-	}
-
-	public void initialize(CompilationUnit astRoot) {
-		ASTNode node = this.annotatedElement.getBodyDeclaration(astRoot);
-		node.accept(this.buildInitialAnnotationVisitor(node));
-	}
-
-	private ASTVisitor buildInitialAnnotationVisitor(ASTNode node) {
-		return new InitialAnnotationVisitor(node);
-	}
-
-	/**
-	 * called from {@link InitialAnnotationVisitor}
-	 */
-	/* private */ void addInitialAnnotation(org.eclipse.jdt.core.dom.Annotation node) {
-		String jdtAnnotationName = ASTTools.resolveAnnotation(node);
-		if (jdtAnnotationName != null) {
-			if(this.annotationIsValidContainer(jdtAnnotationName)) {
-				String nestableAnnotationName = this.getNestableAnnotationName(jdtAnnotationName);
-				AnnotationContainer container = new AnnotationContainer(nestableAnnotationName);
-				container.initialize(node);
-				this.annotationContainers.put(nestableAnnotationName, container);
-			}
-			else if (this.annotationIsValid(jdtAnnotationName)) {
-				if (this.selectAnnotationNamed(this.annotations, jdtAnnotationName) == null) { // ignore duplicates
-					Annotation annotation = this.buildAnnotation(jdtAnnotationName);
-					annotation.initialize((CompilationUnit) node.getRoot());
-					this.annotations.add(annotation);
-				}
-			}
-			else if(this.annotationIsValidNestable(jdtAnnotationName)) {
-				AnnotationContainer container = new AnnotationContainer(jdtAnnotationName);
-				container.initializeNestableAnnotation(node);
-				this.annotationContainers.put(jdtAnnotationName, container);
-			}
-		}
-	}
-
-	public void synchronizeWith(CompilationUnit astRoot) {
-		this.syncAnnotations(this.annotatedElement.getBodyDeclaration(astRoot));
-	}
-
-
-	// ********** annotations **********
-
-	public Iterable<Annotation> getAnnotations() {
-		return new LiveCloneIterable<Annotation>(this.annotations);
-	}
-
-	public int getAnnotationsSize() {
-		return this.annotations.size();
-	}
-
-	protected Iterable<NestableAnnotation> getNestableAnnotations() {
-		return new CompositeIterable<NestableAnnotation>(this.getNestableAnnotationLists());
-	}
-
-	private Iterable<Iterable<NestableAnnotation>> getNestableAnnotationLists() {
-		return new TransformationIterable<AnnotationContainer, Iterable<NestableAnnotation>>(this.annotationContainers.values()) {
-			@Override
-			protected Iterable<NestableAnnotation> transform(AnnotationContainer container) {
-				return container.getNestedAnnotations();
-			}
-		};
-	}
-
-	public Annotation getAnnotation(String annotationName) {
-		if (this.annotationIsValidContainer(annotationName)) {
-			AnnotationContainer container = this.annotationContainers.get(getAnnotationProvider().getNestableAnnotationName(annotationName));
-			return container == null ? null : container.getContainerAnnotation();
-		}
-		return this.selectAnnotationNamed(this.getAnnotations(), annotationName);
-	}
-
-	public Annotation getNonNullAnnotation(String annotationName) {
-		Annotation annotation = this.getAnnotation(annotationName);
-		return (annotation != null) ? annotation : this.buildNullAnnotation(annotationName);
-	}
-
-	public ListIterable<NestableAnnotation> getAnnotations(String nestableAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		return container != null ? container.getNestedAnnotations() : EmptyListIterable.<NestableAnnotation> instance();
-	}
-
-	public int getAnnotationsSize(String nestableAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		return container == null ? 0 : container.getNestedAnnotationsSize();
-	}
-
-	public NestableAnnotation getAnnotation(int index, String nestableAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		return container == null ? null : container.nestedAnnotationAt(index);
-	}
-
-	public Annotation getContainerAnnotation(String containerAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(getAnnotationProvider().getNestableAnnotationName(containerAnnotationName));
-		return container == null ? null : container.getContainerAnnotation();
-	}
-
-	private String getNestableAnnotationName(String containerAnnotationName) {
-		return getAnnotationProvider().getNestableAnnotationName(containerAnnotationName);
-	}
-
-	private String getNestableElementName(String nestableAnnotationName) {
-		return getAnnotationProvider().getNestableElementName(nestableAnnotationName);		
-	}
-
-	public Annotation addAnnotation(String annotationName) {
-		Annotation annotation = this.buildAnnotation(annotationName);
-		this.annotations.add(annotation);
-		annotation.newAnnotation();
-		return annotation;
-	}
-
-	public NestableAnnotation addAnnotation(int index, String nestableAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		if (container == null) {
-			container = new AnnotationContainer(nestableAnnotationName);
-			this.annotationContainers.put(nestableAnnotationName, container);
-		}
-		return container.addNestedAnnotation(index);
-	}
-
-	public void moveAnnotation(int targetIndex, int sourceIndex, String nestableAnnotationName) {
-		this.annotationContainers.get(nestableAnnotationName).moveNestedAnnotation(targetIndex, sourceIndex);
-	}
-
-	public void removeAnnotation(String annotationName) {
-		Annotation annotation = this.getAnnotation(annotationName);
-		if (annotation != null) {
-			this.removeAnnotation(annotation);
-		}
-	}
-
-	private void removeAnnotation(Annotation annotation) {
-		this.annotations.remove(annotation);
-		annotation.removeAnnotation();
-	}
-
-	public void removeAnnotation(int index, String nestableAnnotationName) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		container.removeNestedAnnotation(index);
-		if (container.isEmpty()) {
-			this.annotationContainers.remove(nestableAnnotationName);
-		}
-	}
-
-	protected boolean annotationIsValid(String annotationName) {
-		return CollectionTools.contains(this.getValidAnnotationNames(), annotationName);
-	}
-
-	protected boolean annotationIsValidContainer(String annotationName) {
-		return CollectionTools.contains(this.getValidContainerAnnotationNames(), annotationName);
-	}
-
-	protected boolean annotationIsValidNestable(String annotationName) {
-		return CollectionTools.contains(this.getValidNestableAnnotationNames(), annotationName);
-	}
-
-	Iterable<String> getValidAnnotationNames() {
-		return this.getAnnotationProvider().getAnnotationNames();
-	}
-
-	Iterable<String> getValidContainerAnnotationNames() {
-		return this.getAnnotationProvider().getContainerAnnotationNames();
-	}
-
-	Iterable<String> getValidNestableAnnotationNames() {
-		return this.getAnnotationProvider().getNestableAnnotationNames();
-	}
-
-	Annotation buildAnnotation(String annotationName) {
-		return this.getAnnotationProvider().buildAnnotation(this, this.annotatedElement, annotationName);
-	}
-
-	Annotation buildNullAnnotation(String annotationName) {
-		return this.getAnnotationProvider().buildNullAnnotation(this, annotationName);
-	}
-
-	NestableAnnotation buildNestableAnnotation(String annotationName, int index) {
-		return this.getAnnotationProvider().buildAnnotation(this, this.annotatedElement, annotationName, index);
-	}
-
-	private void syncAnnotations(ASTNode node) {
-		HashSet<Annotation> annotationsToRemove = new HashSet<Annotation>(this.annotations);
-
-		HashSet<AnnotationContainer> containersToRemove = new HashSet<AnnotationContainer>(this.annotationContainers.values());
-		node.accept(this.buildSynchronizeAnnotationVisitor(node, annotationsToRemove, containersToRemove));
-
-		for (Annotation annotation : annotationsToRemove) {
-			this.removeItemFromCollection(annotation, this.annotations, ANNOTATIONS_COLLECTION);
-		}
-
-		for (AnnotationContainer annotationContainer : containersToRemove) {
-			this.annotationContainers.remove(annotationContainer.getNestedAnnotationName());
-			fireItemsRemoved(NESTABLE_ANNOTATIONS_COLLECTION, CollectionTools.collection(annotationContainer.getNestedAnnotations()));
-		}
-
-		Iterator<String> keys = this.annotationContainers.keySet().iterator();
-		
-		while (keys.hasNext()) {
-			String annotationName = keys.next();
-			if (this.annotationContainers.get(annotationName).getNestedAnnotationsSize() == 0) {
-				keys.remove();
-			}
-		}
-	}
-
-	private ASTVisitor buildSynchronizeAnnotationVisitor(ASTNode node, Set<Annotation> annotationsToRemove, Set<AnnotationContainer> containersToRemove) {
-		return new SynchronizeAnnotationVisitor(node, annotationsToRemove, containersToRemove);
-	}
-
-	/**
-	 * called from {@link SynchronizeAnnotationVisitor}
-	 */
-	/* private */ void addOrSyncAnnotation(org.eclipse.jdt.core.dom.Annotation node, Set<Annotation> annotationsToRemove, Set<AnnotationContainer> containersToRemove) {
-		String jdtAnnotationName = ASTTools.resolveAnnotation(node);
-		if (jdtAnnotationName != null) {
-			if (this.annotationIsValidContainer(jdtAnnotationName)) {
-				this.addOrSyncContainerAnnotation_(node, jdtAnnotationName, containersToRemove);
-			}
-			else if (this.annotationIsValid(jdtAnnotationName)) {
-				this.addOrSyncAnnotation_(node, jdtAnnotationName, annotationsToRemove);
-			}
-			else if(this.annotationIsValidNestable(jdtAnnotationName)) {
-				this.addOrSyncNestableAnnotation_(node, jdtAnnotationName, containersToRemove);
-			}
-		}
-	}
-
-	/**
-	 * pre-condition: jdtAnnotationName is valid
-	 */
-	private void addOrSyncAnnotation_(org.eclipse.jdt.core.dom.Annotation node, String jdtAnnotationName, Set<Annotation> annotationsToRemove) {
-		Annotation annotation = this.selectAnnotationNamed(annotationsToRemove, jdtAnnotationName);
-		if (annotation != null) {
-			annotation.synchronizeWith((CompilationUnit) node.getRoot());
-			annotationsToRemove.remove(annotation);
-		} else {
-			annotation = this.buildAnnotation(jdtAnnotationName);
-			annotation.initialize((CompilationUnit) node.getRoot());
-			this.addItemToCollection(annotation, this.annotations, ANNOTATIONS_COLLECTION);
-		}
-	}
-
-	/**
-	 * pre-condition: jdtAnnotationName is valid
-	 */
-	private void addOrSyncNestableAnnotation_(org.eclipse.jdt.core.dom.Annotation node, String nestableAnnotationName, Set<AnnotationContainer> containersToRemove) {
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		if (container != null) {
-			container.synchronizeNestableAnnotation(node);
-			containersToRemove.remove(container);
-		}
-		else {
-			container = new AnnotationContainer(nestableAnnotationName);
-			container.initializeNestableAnnotation(node);
-			this.annotationContainers.put(nestableAnnotationName, container);
-			this.fireItemAdded(NESTABLE_ANNOTATIONS_COLLECTION, container.nestedAnnotationAt(0));
-		}
-	}
-
-	/**
-	 * pre-condition: node is valid container annotation
-	 */
-	private void addOrSyncContainerAnnotation_(org.eclipse.jdt.core.dom.Annotation node, String containerAnnotationName, Set<AnnotationContainer> containersToRemove) {
-		String nestableAnnotationName = this.getNestableAnnotationName(containerAnnotationName);
-		AnnotationContainer container = this.annotationContainers.get(nestableAnnotationName);
-		if (container == null) {
-			container = new AnnotationContainer(nestableAnnotationName);
-			container.initialize(node);
-			this.annotationContainers.put(nestableAnnotationName, container);
-			this.fireItemsAdded(NESTABLE_ANNOTATIONS_COLLECTION, CollectionTools.collection(container.getNestedAnnotations()));
-		}
-		else {
-			container.synchronize(node);
-			containersToRemove.remove(container);
-		}
-	}
-
-
-	// ********** miscellaneous **********
-	
-	public Iterable<Annotation> getAllAnnotations() {
-		return new CompositeIterable<Annotation>(
-				getAnnotations(),
-				getContainerOrNestableAnnotations());
-	}
-	
-	protected Iterable<Annotation> getContainerOrNestableAnnotations() {
-		return new TransformationIterable<AnnotationContainer, Annotation>(this.annotationContainers.values()) {
-			@Override
-			protected Annotation transform(AnnotationContainer o) {
-				return (o.getContainerAnnotation() != null) ? o.getContainerAnnotation() : CollectionTools.get(o.getNestedAnnotations(), 0);
-			}
-		};
-	}
-	
-	public boolean isAnnotated() {
-		return ! (this.annotations.isEmpty() && this.annotationContainers.isEmpty());
-	}
-
-	public boolean isAnnotatedWith(Iterable<String> annotationNames) {
-		for (Annotation annotation : this.getAnnotations()) {
-			if (CollectionTools.contains(annotationNames, annotation.getAnnotationName())) {
-				return true;
-			}
-		}
-		for (Annotation annotation : this.getNestableAnnotations()) {
-			if (CollectionTools.contains(annotationNames, annotation.getAnnotationName())) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public TextRange getTextRange(CompilationUnit astRoot) {
-		// the AST is null for virtual Java attributes
-		// TODO remove the AST null check once we start storing text ranges
-		// in the resource model
-		return (astRoot == null) ? null : this.buildTextRange(this.annotatedElement.getBodyDeclaration(astRoot));
-	}
-
-	public TextRange getNameTextRange(CompilationUnit astRoot) {
-		// the AST is null for virtual Java attributes
-		// TODO remove the AST null check once we start storing text ranges
-		// in the resource model
-		return (astRoot == null) ? null : this.annotatedElement.getNameTextRange(astRoot);
-	}
-
-	public TextRange getTextRange(String nestableAnnotationName, CompilationUnit astRoot) {
-		Annotation containerAnnotation = getContainerAnnotation(getAnnotationProvider().getContainerAnnotationName(nestableAnnotationName));
-		if (containerAnnotation != null) {
-			return containerAnnotation.getTextRange(astRoot);
-		}
-		Annotation nestableAnnotation = getAnnotation(0, nestableAnnotationName);
-		return nestableAnnotation == null ? null : nestableAnnotation.getTextRange(astRoot);
-	}
-
-
-	private Annotation selectAnnotationNamed(Iterable<Annotation> list, String annotationName) {
-		for (Annotation annotation : list) {
-			if (annotation.getAnnotationName().equals(annotationName)) {
-				return annotation;
-			}
-		}
-		return null;
-	}
-
-	private TextRange buildTextRange(ASTNode astNode) {
-		return (astNode == null) ? null : ASTTools.buildTextRange(astNode);
-	}
-
-
-	// ********** AST visitors **********
-
-	/**
-	 * annotation visitor
-	 */
-	protected static abstract class AnnotationVisitor
-			extends ASTVisitor
-	{
-		protected final ASTNode node;
-
-
-		protected AnnotationVisitor(ASTNode node) {
-			super();
-			this.node = node;
-		}
-
-		@Override
-		public boolean visit(SingleMemberAnnotation node) {
-			return this.visit_(node);
-		}
-
-		@Override
-		public boolean visit(NormalAnnotation node) {
-			return this.visit_(node);
-		}
-
-		@Override
-		public boolean visit(MarkerAnnotation node) {
-			return this.visit_(node);
-		}
-
-		protected boolean visit_(org.eclipse.jdt.core.dom.Annotation node) {
-			// ignore annotations for child members, only this member
-			if (node.getParent() == this.node) {
-				this.visitChildAnnotation(node);
-			}
-			return false;
-		}
-
-		protected abstract void visitChildAnnotation(org.eclipse.jdt.core.dom.Annotation node);
-	}
-
-
-	/**
-	 * initial annotation visitor
-	 */
-	protected class InitialAnnotationVisitor
-			extends AnnotationVisitor
-	{
-		protected InitialAnnotationVisitor(ASTNode node) {
-			super(node);
-		}
-
-		@Override
-		protected void visitChildAnnotation(org.eclipse.jdt.core.dom.Annotation node) {
-			SourceAnnotatedElement.this.addInitialAnnotation(node);
-		}
-	}
-
-
-	/**
-	 * synchronize annotation visitor
-	 */
-	protected class SynchronizeAnnotationVisitor
-			extends AnnotationVisitor
-	{
-		protected final Set<Annotation> annotationsToRemove;
-		protected final Set<AnnotationContainer> containersToRemove;
-
-		protected SynchronizeAnnotationVisitor(ASTNode node, Set<Annotation> annotationsToRemove, Set<AnnotationContainer> containersToRemove) {
-			super(node);
-			this.annotationsToRemove = annotationsToRemove;
-			this.containersToRemove = containersToRemove;
-		}
-
-		@Override
-		protected void visitChildAnnotation(org.eclipse.jdt.core.dom.Annotation node) {
-			SourceAnnotatedElement.this.addOrSyncAnnotation(node, this.annotationsToRemove, this.containersToRemove);
-		}
-	}
-
-
-	class AnnotationContainer extends SourceNode.AnnotationContainer<NestableAnnotation>
-	{
-		private final String nestableAnnotationName;
-
-		private Annotation containerAnnotation;
-	
-		protected AnnotationContainer(String nestableAnnotationName) {
-			super();
-			this.nestableAnnotationName = nestableAnnotationName;
-		}
-
-		@Override
-		public void initialize(org.eclipse.jdt.core.dom.Annotation astContainerAnnotation) {
-			super.initialize(astContainerAnnotation);
-			this.containerAnnotation = this.buildContainerAnnotation(ASTTools.resolveAnnotation(astContainerAnnotation));
-		}
-
-		protected Annotation buildContainerAnnotation(String name) {
-			return getAnnotationProvider().buildAnnotation(SourceAnnotatedElement.this, SourceAnnotatedElement.this.annotatedElement, name);
-		}
-
-		protected Annotation getContainerAnnotation() {
-			return this.containerAnnotation;
-		}
-
-		@Override
-		public void synchronize(org.eclipse.jdt.core.dom.Annotation astContainerAnnotation) {
-			super.synchronize(astContainerAnnotation);
-		}
-
-		/**
-		 * Return the element name of the nested annotations
-		 */
-		@Override
-		protected String getElementName() {
-			return SourceAnnotatedElement.this.getNestableElementName(this.nestableAnnotationName);
-		}
-
-		/**
-		 * Return the nested annotation name
-		 */
-		@Override
-		protected String getNestedAnnotationName() {
-			return this.nestableAnnotationName;
-		}
-
-		/**
-		 * Return a new nested annotation at the given index
-		 */
-		@Override
-		protected NestableAnnotation buildNestedAnnotation(int index) {
-			return SourceAnnotatedElement.this.buildNestableAnnotation(this.nestableAnnotationName, index);
-		}
-
-		public void initializeNestableAnnotation(org.eclipse.jdt.core.dom.Annotation standaloneNestableAnnotation) {
-			NestableAnnotation nestedAnnotation = this.buildNestedAnnotation(0);
-			this.nestedAnnotations.add(nestedAnnotation);
-			nestedAnnotation.initialize((CompilationUnit) standaloneNestableAnnotation.getRoot());
-		}
-
-		public void synchronizeNestableAnnotation(org.eclipse.jdt.core.dom.Annotation standaloneNestableAnnotation) {
-			if (this.getNestedAnnotationsSize() > 1) {
-				//ignore the new standalone annotation as a container annotation already exists
-			}
-			else if (this.getNestedAnnotationsSize() == 1) {
-				this.containerAnnotation = null;
-				this.nestedAnnotationAt(0).synchronizeWith((CompilationUnit) standaloneNestableAnnotation.getRoot());
-			}
-		}
-
-		@Override
-		public NestableAnnotation addNestedAnnotation(int index) {
-			if (getNestedAnnotationsSize() == 1 && getContainerAnnotation() == null) {
-				this.containerAnnotation = buildContainerAnnotation(getAnnotationProvider().getContainerAnnotationName(getNestedAnnotationName()));
-			}
-			return super.addNestedAnnotation(index);
-		}
-
-		@Override
-		public NestableAnnotation removeNestedAnnotation(int index) {
-			if (getNestedAnnotationsSize() == 2) {
-				this.containerAnnotation = null;
-			}
-			return super.removeNestedAnnotation(index);
-		}
-
-		@Override
-		protected void fireItemAdded(int index, NestableAnnotation nestedAnnotation) {
-			SourceAnnotatedElement.this.fireItemAdded(NESTABLE_ANNOTATIONS_COLLECTION, nestedAnnotation);
-		}
-
-		@Override
-		protected void fireItemsRemoved(int index, List<NestableAnnotation> removedItems) {
-			SourceAnnotatedElement.this.fireItemsRemoved(NESTABLE_ANNOTATIONS_COLLECTION, removedItems);			
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAnnotation.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAnnotation.java
deleted file mode 100644
index 75f6934..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAnnotation.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
-import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotatedElementAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementAnnotationAdapter;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationElementAdapter;
-
-/**
- * some common state and behavior for Java source annotations;
- * and lots of convenience methods
- */
-public abstract class SourceAnnotation
-	extends SourceNode
-	implements Annotation
-{
-	protected final AnnotatedElement annotatedElement;
-
-	protected final DeclarationAnnotationAdapter daa;
-
-	protected final AnnotationAdapter annotationAdapter;
-
-
-	/**
-	 * constructor for straight member annotation
-	 */
-	protected SourceAnnotation(JavaResourceNode parent, AnnotatedElement element, DeclarationAnnotationAdapter daa) {
-		this(parent, element, daa, new ElementAnnotationAdapter(element, daa));
-	}
-
-	/**
-	 * constructor for nested annotation (typically)
-	 */
-	protected SourceAnnotation(JavaResourceNode parent, AnnotatedElement element, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
-		super(parent);
-		this.annotatedElement = element;
-		this.daa = daa;
-		this.annotationAdapter = annotationAdapter;
-	}
-
-
-	// ********** JavaResourceNode implementation **********
-
-	public TextRange getTextRange(CompilationUnit astRoot) {
-		return this.getAnnotationTextRange(astRoot);
-	}
-
-
-	// ********** Annotation implementation **********
-
-	public org.eclipse.jdt.core.dom.Annotation getAstAnnotation(CompilationUnit astRoot) {
-		return this.annotationAdapter.getAnnotation(astRoot);
-	}
-
-	public void newAnnotation() {
-		this.annotationAdapter.newMarkerAnnotation();
-	}
-
-	public void removeAnnotation() {
-		this.annotationAdapter.removeAnnotation();
-	}
-
-	public boolean isUnset() {
-		return true;
-	}
-
-
-	// ********** convenience methods **********
-
-	protected DeclarationAnnotationElementAdapter<String> buildStringElementAdapter(String elementName) {
-		return ConversionDeclarationAnnotationElementAdapter.forStrings(this.daa, elementName);
-	}
-
-	protected DeclarationAnnotationElementAdapter<Boolean> buildBooleanElementAdapter(String elementName) {
-		return ConversionDeclarationAnnotationElementAdapter.forBooleans(this.daa, elementName);
-	}
-
-	protected DeclarationAnnotationElementAdapter<Integer> buildIntegerElementAdapter(String elementName) {
-		return ConversionDeclarationAnnotationElementAdapter.forNumbers(this.daa, elementName);
-	}
-
-	protected AnnotationElementAdapter<String> buildStringElementAdapter(DeclarationAnnotationElementAdapter<String> daea) {
-		return new AnnotatedElementAnnotationElementAdapter<String>(this.annotatedElement, daea);
-	}
-
-	protected AnnotationElementAdapter<Boolean> buildBooleanElementAdapter(DeclarationAnnotationElementAdapter<Boolean> daea) {
-		return new AnnotatedElementAnnotationElementAdapter<Boolean>(this.annotatedElement, daea);
-	}
-
-	protected AnnotationElementAdapter<Integer> buildIntegerElementAdapter(DeclarationAnnotationElementAdapter<Integer> daea) {
-		return new AnnotatedElementAnnotationElementAdapter<Integer>(this.annotatedElement, daea);
-	}
-
-	/**
-	/**
-	 * Return the text range corresponding to the annotation.
-	 * If the annotation is missing, return <code>null</code>.
-	 */
-	protected TextRange getAnnotationTextRange(CompilationUnit astRoot) {
-		// the AST is null for virtual Java attributes
-		// TODO remove the AST null check once we start storing text ranges
-		// in the resource model
-		return (astRoot == null) ? null : this.buildTextRange(this.getAstAnnotation(astRoot));
-	}
-
-	/**
-	 * Convenience method.
-	 * Return the text range corresponding to the specified element.
-	 * If the specified element is missing, return the annotation's text range instead.
-	 */
-	protected TextRange getElementTextRange(DeclarationAnnotationElementAdapter<?> elementAdapter, CompilationUnit astRoot) {
-		return this.getElementTextRange(this.getAnnotationElementTextRange(elementAdapter, astRoot), astRoot);
-	}
-
-	/**
-	 * Convenience method. If the specified element text range is null
-	 * return the member's text range instead.
-	 */
-	protected TextRange getElementTextRange(TextRange elementTextRange, CompilationUnit astRoot) {
-		return (elementTextRange != null) ? elementTextRange : this.getAnnotationTextRange(astRoot);
-	}
-
-	/**
-	 * Convenience method. Return whether the specified position exists and
-	 * touches the specified element.
-	 */
-	protected boolean elementTouches(DeclarationAnnotationElementAdapter<?> elementAdapter, int pos, CompilationUnit astRoot) {
-		return this.textRangeTouches(this.getAnnotationElementTextRange(elementAdapter, astRoot), pos);
-	}
-
-	/**
-	 * Convenience method. Return whether the specified text range is not
-	 * null (meaning the corresponding AST node exists) and the specified position touches it.
-	 */
-	protected boolean textRangeTouches(TextRange textRange, int pos) {
-		return (textRange != null) && textRange.touches(pos);
-	}
-
-	/**
-	 * Return the text range corresponding to the specified element.
-	 * If the element is missing, return null.
-	 */
-	protected TextRange getAnnotationElementTextRange(DeclarationAnnotationElementAdapter<?> adapter, CompilationUnit astRoot) {
-		// the AST is null for virtual Java attributes
-		// TODO remove the AST null check once we start storing text ranges
-		// in the resource model
-		return (astRoot == null) ? null : this.buildTextRange(this.getAnnotationElementExpression(adapter, astRoot));
-	}
-
-	/**
-	 * Return the specified AST DOM element.
-	 */
-	protected Expression getAnnotationElementExpression(DeclarationAnnotationElementAdapter<?> adapter, CompilationUnit astRoot) {
-		return adapter.getExpression(this.annotatedElement.getModifiedDeclaration(astRoot));
-	}
-
-	/**
-	 * Return the text range corresponding to the expression at the specified
-	 * index of the element's array.
-	 * @exception ArrayIndexOutOfBoundsException if the index is out of range
-	 */
-	protected TextRange selectAnnotationElementTextRange(IndexedDeclarationAnnotationElementAdapter<?> adapter, int index, CompilationUnit astRoot) {
-		// the AST is null for virtual Java attributes
-		// TODO remove the AST null check once we start storing text ranges
-		// in the resource model
-		return (astRoot == null) ? null : this.buildTextRange(this.selectAnnotationElementExpression(adapter, index, astRoot));
-	}
-
-	/**
-	 * Return the expression at the specified index of the element's array.
-	 */
-	protected Expression selectAnnotationElementExpression(IndexedDeclarationAnnotationElementAdapter<?> adapter, int index, CompilationUnit astRoot) {
-		return adapter.selectExpression(this.annotatedElement.getModifiedDeclaration(astRoot), index);
-	}
-
-	/**
-	 * Return the text range corresponding to the specified AST node.
-	 * Return <code>null</code> if the AST node is <code>null</code>.
-	 */
-	protected TextRange buildTextRange(ASTNode astNode) {
-		return (astNode == null) ? null : ASTTools.buildTextRange(astNode);
-	}
-
-
-	// ********** NestableAnnotation implementation **********
-
-	/**
-	 * Convenience implementation of method from {@link NestableAnnotation} interface
-	 * for subclasses.
-	 */
-	public void moveAnnotation(int newIndex) {
-		this.getIndexedAnnotationAdapter().moveAnnotation(newIndex);
-	}
-
-	private IndexedAnnotationAdapter getIndexedAnnotationAdapter() {
-		return (IndexedAnnotationAdapter) this.annotationAdapter;
-	}
-
-
-	// ********** annotation container **********
-
-	/**
-	 * A container for nested annotations. The owner of the AnnotationContainer
-	 * needs to call initialize(CompilationUnit) on it.
-	 * @param <T> the type of the resource nestable annotations
-	 */
-	public abstract class AnnotationContainer<T extends NestableAnnotation>
-		extends SourceNode.AnnotationContainer<T>
-	{
-		protected AnnotationContainer() {
-			super();
-		}
-
-		/**
-		 * Return the annotations property name for firing property change notification
-		 */
-		protected abstract String getAnnotationsPropertyName();
-
-		@Override
-		protected void fireItemAdded(int index, T addedItem) {
-			SourceAnnotation.this.fireItemAdded(this.getAnnotationsPropertyName(), index, addedItem);
-		}
-
-		@Override
-		protected void fireItemsRemoved(int index, java.util.List<T> removedItems) {
-			SourceAnnotation.this.fireItemsRemoved(this.getAnnotationsPropertyName(), index, removedItems);
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAttribute.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAttribute.java
deleted file mode 100644
index 54cba44..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceAttribute.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Vector;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IBinding;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.utility.jdt.Attribute;
-import org.eclipse.jpt.common.utility.internal.ClassName;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
-
-/**
- * Java source attribute (field or method)
- */
-abstract class SourceAttribute<A extends Attribute>
-	extends SourceMember<A>
-	implements JavaResourceAttribute
-{
-	private int modifiers;
-
-	private String typeName;
-
-	private boolean typeIsInterface;
-
-	private boolean typeIsEnum;
-
-	private boolean typeIsArray;
-	
-	private int typeArrayDimensionality;
-	
-	private String typeArrayComponentTypeName;
-
-	private final Vector<String> typeSuperclassNames = new Vector<String>();
-
-	private final Vector<String> typeInterfaceNames = new Vector<String>();
-
-	private final Vector<String> typeTypeArgumentNames = new Vector<String>();
-
-
-	protected SourceAttribute(JavaResourceType parent, A attribute){
-		super(parent, attribute);
-	}
-
-	@Override
-	public void initialize(CompilationUnit astRoot) {
-		super.initialize(astRoot);
-		ITypeBinding typeBinding = this.getTypeBinding(astRoot); //build once, minor performance tweak for major benefit
-		this.modifiers = this.buildModifiers(astRoot);
-		this.typeName = this.buildTypeName(typeBinding);
-		this.typeIsInterface = this.buildTypeIsInterface(typeBinding);
-		this.typeIsEnum = this.buildTypeIsEnum(typeBinding);
-		this.typeIsArray = this.buildTypeIsArray(typeBinding);
-		this.typeArrayDimensionality = buildTypeArrayDimensionality(typeBinding);
-		this.typeArrayComponentTypeName = buildTypeArrayComponentTypeName(typeBinding);
-		this.typeSuperclassNames.addAll(this.buildTypeSuperclassNames(typeBinding));
-		this.typeInterfaceNames.addAll(this.buildTypeInterfaceNames(typeBinding));
-		this.typeTypeArgumentNames.addAll(this.buildTypeTypeArgumentNames(typeBinding));
-	}
-
-
-	// ******** overrides ********
-
-	@Override
-	public void resolveTypes(CompilationUnit astRoot) {
-		super.resolveTypes(astRoot);
-		ITypeBinding typeBinding = this.getTypeBinding(astRoot);//build once, minor performance tweak for major benefit
-		this.syncTypeName(this.buildTypeName(typeBinding));
-		syncTypeArrayComponentTypeName(buildTypeArrayComponentTypeName(typeBinding));
-		this.syncTypeSuperclassNames(this.buildTypeSuperclassNames(typeBinding));
-		this.syncTypeInterfaceNames(this.buildTypeInterfaceNames(typeBinding));
-		this.syncTypeTypeArgumentNames(this.buildTypeTypeArgumentNames(typeBinding));
-	}
-
-	@Override
-	public void synchronizeWith(CompilationUnit astRoot) {
-		super.synchronizeWith(astRoot);
-		ITypeBinding typeBinding = this.getTypeBinding(astRoot);//build once, minor performance tweak for major benefit
-		this.syncModifiers(this.buildModifiers(astRoot));
-		this.syncTypeName(this.buildTypeName(typeBinding));
-		this.syncTypeIsInterface(this.buildTypeIsInterface(typeBinding));
-		this.syncTypeIsEnum(this.buildTypeIsEnum(typeBinding));
-		this.syncTypeIsArray(this.buildTypeIsArray(typeBinding));
-		syncTypeArrayDimensionality(buildTypeArrayDimensionality(typeBinding));
-		syncTypeArrayComponentTypeName(buildTypeArrayComponentTypeName(typeBinding));
-		this.syncTypeSuperclassNames(this.buildTypeSuperclassNames(typeBinding));
-		this.syncTypeInterfaceNames(this.buildTypeInterfaceNames(typeBinding));
-		this.syncTypeTypeArgumentNames(this.buildTypeTypeArgumentNames(typeBinding));
-	}
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.getName());
-	}
-
-	
-	// ******** JavaResourceAttribute implementation ********
-	
-	@Override
-	public JavaResourceType getParent() {
-		return (JavaResourceType) super.getParent();
-	}
-
-	public JavaResourceType getResourceType() {
-		return this.getParent();
-	}
-
-	public String getName() {
-		return this.annotatedElement.getAttributeName();
-	}
-
-	public boolean typeIsSubTypeOf(String tn) {
-		if (this.typeName == null) {
-			return false;
-		}
-		return this.typeName.equals(tn)
-				|| this.typeInterfaceNames.contains(tn)
-				|| this.typeSuperclassNames.contains(tn);
-	}
-
-	public boolean typeIsVariablePrimitive() {
-		return (this.typeName != null) && ClassName.isVariablePrimitive(this.typeName);
-	}
-
-	private ITypeBinding getTypeBinding(CompilationUnit astRoot) {
-		return this.annotatedElement.getTypeBinding(astRoot);
-	}
-
-
-	// ***** modifiers
-	public int getModifiers() {
-		return this.modifiers;
-	}
-
-	private void syncModifiers(int astModifiers) {
-		int old = this.modifiers;
-		this.modifiers = astModifiers;
-		this.firePropertyChanged(MODIFIERS_PROPERTY, old, astModifiers);
-	}
-
-	/**
-	 * zero seems like a reasonable default...
-	 */
-	private int buildModifiers(CompilationUnit astRoot) {
-		IBinding binding = this.annotatedElement.getBinding(astRoot);
-		return (binding == null) ? 0 : binding.getModifiers();
-	}
-
-	// ***** type name
-	public String getTypeName() {
-		return this.typeName;
-	}
-
-	private void syncTypeName(String astTypeName) {
-		String old = this.typeName;
-		this.typeName = astTypeName;
-		this.firePropertyChanged(TYPE_NAME_PROPERTY, old, astTypeName);
-	}
-
-	/**
-	 * this can be an array (e.g. "java.lang.String[]");
-	 * but no generic type arguments
-	 */
-	private String buildTypeName(ITypeBinding typeBinding) {
-		if (typeBinding == null) {
-			return null;
-		}
-		
-		typeBinding = typeBinding.getErasure();
-		String tbName = typeBinding.getTypeDeclaration().getQualifiedName();
-		return (tbName.length() == 0) ? null : tbName;
-	}
-
-	// ***** type is interface
-	public boolean typeIsInterface() {
-		return this.typeIsInterface;
-	}
-
-	private void syncTypeIsInterface(boolean astTypeIsInterface) {
-		boolean old = this.typeIsInterface;
-		this.typeIsInterface = astTypeIsInterface;
-		this.firePropertyChanged(TYPE_IS_INTERFACE_PROPERTY, old, astTypeIsInterface);
-	}
-
-	private boolean buildTypeIsInterface(ITypeBinding typeBinding) {
-		return (typeBinding != null) && ( ! typeBinding.isArray()) && typeBinding.isInterface();
-	}
-
-	// ***** type is enum
-	public boolean typeIsEnum() {
-		return this.typeIsEnum;
-	}
-
-	private void syncTypeIsEnum(boolean astTypeIsEnum) {
-		boolean old = this.typeIsEnum;
-		this.typeIsEnum = astTypeIsEnum;
-		this.firePropertyChanged(TYPE_IS_ENUM_PROPERTY, old, astTypeIsEnum);
-	}
-
-	private boolean buildTypeIsEnum(ITypeBinding typeBinding) {
-		return (typeBinding != null) && ( ! typeBinding.isArray()) && typeBinding.isEnum();
-	}
-
-	// ***** type is array
-	public boolean typeIsArray() {
-		return this.typeIsArray;
-	}
-
-	private void syncTypeIsArray(boolean astTypeIsArray) {
-		boolean old = this.typeIsArray;
-		this.typeIsArray = astTypeIsArray;
-		this.firePropertyChanged(TYPE_IS_ARRAY_PROPERTY, old, astTypeIsArray);
-	}
-
-	private boolean buildTypeIsArray(ITypeBinding typeBinding) {
-		return (typeBinding != null) && typeBinding.isArray();
-	}
-	
-	// ***** type array dimensionality
-	public int getTypeArrayDimensionality() {
-		return this.typeArrayDimensionality;
-	}
-	
-	private void syncTypeArrayDimensionality(int astTypeArrayDimensionality) {
-		int old = this.typeArrayDimensionality;
-		this.typeArrayDimensionality = astTypeArrayDimensionality;
-		firePropertyChanged(TYPE_ARRAY_DIMENSIONALITY_PROPERTY, old, astTypeArrayDimensionality);
-	}
-	
-	private int buildTypeArrayDimensionality(ITypeBinding typeBinding) {
-		return (typeBinding == null) ? 0 : typeBinding.getDimensions();
-	}
-	
-	// ***** type array component type name
-	public String getTypeArrayComponentTypeName() {
-		return this.typeArrayComponentTypeName;
-	}
-	
-	private void syncTypeArrayComponentTypeName(String astTypeArrayComponentTypeName) {
-		String old = this.typeArrayComponentTypeName;
-		this.typeArrayComponentTypeName = astTypeArrayComponentTypeName;
-		firePropertyChanged(TYPE_ARRAY_COMPONENT_TYPE_NAME_PROPERTY, old, astTypeArrayComponentTypeName);
-	}
-	
-	private String buildTypeArrayComponentTypeName(ITypeBinding typeBinding) {
-		if (typeBinding == null || ! typeBinding.isArray()) {
-			return null;
-		}
-		
-		// the component type of String[][] is actually String[], whereas we want String
-		while (typeBinding.isArray()) {
-			typeBinding = typeBinding.getComponentType();
-			
-			if (typeBinding == null) {
-				return null;
-			}
-		}
-		
-		// a type variable is what is declared by a generic type;
-		// e.g. "E" is a type variable declared by the generic type "Collection" in
-		//     public interface Collection<E>
-		if (typeBinding.isTypeVariable()) {
-			// e.g. "E extends Number" has an erasure of "Number"
-			typeBinding = typeBinding.getErasure();
-		}
-		String tbName = typeBinding.getTypeDeclaration().getQualifiedName();
-		return (tbName.length() == 0) ? null : tbName;
-	}
-
-	// ***** type superclass hierarchy
-	public ListIterable<String> getTypeSuperclassNames() {
-		return new LiveCloneListIterable<String>(this.typeSuperclassNames);
-	}
-
-	private void syncTypeSuperclassNames(List<String> astTypeSuperclassNames) {
-		this.synchronizeList(astTypeSuperclassNames, this.typeSuperclassNames, TYPE_SUPERCLASS_NAMES_LIST);
-	}
-
-	private List<String> buildTypeSuperclassNames(ITypeBinding typeBinding) {
-		if (typeBinding == null) {
-			return Collections.emptyList();
-		}
-		ArrayList<String> names = new ArrayList<String>();
-		typeBinding = typeBinding.getSuperclass();
-		while (typeBinding != null) {
-			names.add(typeBinding.getQualifiedName());
-			typeBinding = typeBinding.getSuperclass();
-		}
-		return names;
-	}
-
-	// ***** type interface hierarchy
-	public Iterable<String> getTypeInterfaceNames() {
-		return new LiveCloneIterable<String>(this.typeInterfaceNames);
-	}
-
-//	private boolean typeInterfaceNamesContains(String interfaceName) {
-//		return this.typeInterfaceNames.contains(interfaceName);
-//	}
-//
-	private void syncTypeInterfaceNames(Collection<String> astTypeInterfaceNames) {
-		this.synchronizeCollection(astTypeInterfaceNames, this.typeInterfaceNames, TYPE_INTERFACE_NAMES_COLLECTION);
-	}
-
-	private Collection<String> buildTypeInterfaceNames(ITypeBinding typeBinding) {
-		if (typeBinding == null) {
-			return Collections.emptySet();
-		}
-		HashSet<String> names = new HashSet<String>();
-		while (typeBinding != null) {
-			this.addInterfaceNamesTo(typeBinding, names);
-			typeBinding = typeBinding.getSuperclass();
-		}
-		return names;
-	}
-
-	private void addInterfaceNamesTo(ITypeBinding typeBinding, HashSet<String> names) {
-		for (ITypeBinding interfaceBinding : typeBinding.getInterfaces()) {
-			names.add(interfaceBinding.getTypeDeclaration().getQualifiedName());
-			this.addInterfaceNamesTo(interfaceBinding, names);  // recurse
-		}
-	}
-
-	// ***** type type argument names
-	public ListIterable<String> getTypeTypeArgumentNames() {
-		return new LiveCloneListIterable<String>(this.typeTypeArgumentNames);
-	}
-
-	public int getTypeTypeArgumentNamesSize() {
-		return this.typeTypeArgumentNames.size();
-	}
-
-	public String getTypeTypeArgumentName(int index) {
-		return this.typeTypeArgumentNames.get(index);
-	}
-
-	private void syncTypeTypeArgumentNames(List<String> astTypeTypeArgumentNames) {
-		this.synchronizeList(astTypeTypeArgumentNames, this.typeTypeArgumentNames, TYPE_TYPE_ARGUMENT_NAMES_LIST);
-	}
-
-	/**
-	 * these types can be arrays (e.g. "java.lang.String[]");
-	 * but they won't have any further nested generic type arguments
-	 * (e.g. "java.util.Collection<java.lang.String>")
-	 */
-	private List<String> buildTypeTypeArgumentNames(ITypeBinding typeBinding) {
-		if (typeBinding == null) {
-			return Collections.emptyList();
-		}
-
-		ITypeBinding[] typeArguments = typeBinding.getTypeArguments();
-		if (typeArguments.length == 0) {
-			return Collections.emptyList();
-		}
-
-		ArrayList<String> names = new ArrayList<String>(typeArguments.length);
-		for (ITypeBinding typeArgument : typeArguments) {
-			if (typeArgument == null) {
-				names.add(null);
-			} else {
-				// e.g. "? extends Number" has an erasure of "Number"
-				ITypeBinding erasure = typeArgument.getErasure();
-				names.add(erasure.getTypeDeclaration().getQualifiedName());
-			}
-		}
-		return names;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceCompilationUnit.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceCompilationUnit.java
deleted file mode 100644
index bf69665..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceCompilationUnit.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.JptResourceModelListener;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-import org.eclipse.jpt.common.utility.internal.ListenerList;
-
-/**
- * Java compilation unit (source file)
- */
-public abstract class SourceCompilationUnit
-	extends SourceNode
-	implements JavaResourceCompilationUnit
-{
-	/** JDT compilation unit */
-	final ICompilationUnit compilationUnit;
-
-	/** pluggable annotation provider */
-	private final AnnotationProvider annotationProvider;
-
-	/** improved annotation formatting */
-	private final AnnotationEditFormatter annotationEditFormatter;
-
-	/** pluggable executor that allows the document to be modified on another thread */
-	private final CommandExecutor modifySharedDocumentCommandExecutor;
-
-	/** listeners notified whenever the resource model changes */
-	private final ListenerList<JptResourceModelListener> resourceModelListenerList;
-
-
-	// ********** construction **********
-
-	protected SourceCompilationUnit(
-			ICompilationUnit compilationUnit,
-			AnnotationProvider annotationProvider, 
-			AnnotationEditFormatter annotationEditFormatter,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		super(null);  // the JPA compilation unit is the root of its sub-tree
-		this.compilationUnit = compilationUnit;
-		this.annotationProvider = annotationProvider;
-		this.annotationEditFormatter = annotationEditFormatter;
-		this.modifySharedDocumentCommandExecutor = modifySharedDocumentCommandExecutor;
-		this.resourceModelListenerList = new ListenerList<JptResourceModelListener>(JptResourceModelListener.class);
-	}
-
-	public void initialize(CompilationUnit astRoot) {
-		// never called?
-	}
-
-	void openCompilationUnit() {
-		try {
-			this.compilationUnit.open(null);
-		} catch (JavaModelException ex) {
-			// do nothing - we just won't have a primary type in this case
-		}
-	}
-
-	void closeCompilationUnit() {
-		try {
-			this.compilationUnit.close();
-		} catch (JavaModelException ex) {
-			// hmmm
-		}
-	}
-
-
-	// ********** AbstractJavaResourceNode overrides **********
-
-	@Override
-	protected boolean requiresParent() {
-		return false;
-	}
-
-	@Override
-	public JavaResourceCompilationUnit getRoot() {
-		return this;
-	}
-
-	@Override
-	public IFile getFile() {
-		return (IFile) this.compilationUnit.getResource();
-	}
-	
-	@Override
-	public AnnotationProvider getAnnotationProvider() {
-		return this.annotationProvider;
-	}
-	
-
-	// ********** JavaResourceNode implementation **********
-
-	public TextRange getTextRange(CompilationUnit astRoot) {
-		return null;
-	}
-
-
-	// ********** JavaResourceNode.Root implementation **********
-
-	public void resourceModelChanged() {
-		for (JptResourceModelListener listener : this.resourceModelListenerList.getListeners()) {
-			listener.resourceModelChanged(this);
-		}
-	}
-
-
-	// ********** JavaResourceCompilationUnit implementation **********
-
-	public ICompilationUnit getCompilationUnit() {
-		return this.compilationUnit;
-	}
-
-	public CommandExecutor getModifySharedDocumentCommandExecutor() {
-		return this.modifySharedDocumentCommandExecutor;
-	}
-	
-	public AnnotationEditFormatter getAnnotationEditFormatter()  {
-		return this.annotationEditFormatter;
-	}
-	
-	@Override
-	public CompilationUnit buildASTRoot() {
-		return ASTTools.buildASTRoot(this.compilationUnit);
-	}
-
-
-	// ********** JpaResourceModel implementation **********
-
-	public void addResourceModelListener(JptResourceModelListener listener) {
-		this.resourceModelListenerList.add(listener);
-	}
-
-	public void removeResourceModelListener(JptResourceModelListener listener) {
-		this.resourceModelListenerList.remove(listener);
-	}
-
-
-	// ********** Java changes **********
-
-	public void synchronizeWithJavaSource() {
-		this.synchronizeWith(this.buildASTRoot());
-	}
-
-
-	// ********** internal **********
-
-	String getCompilationUnitName() {
-		return this.removeJavaExtension(this.compilationUnit.getElementName());
-	}
-
-	private String removeJavaExtension(String fileName) {
-		int index = fileName.lastIndexOf(".java"); //$NON-NLS-1$
-		return (index == -1) ? fileName : fileName.substring(0, index);
-	}
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.getCompilationUnitName());
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceEnum.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceEnum.java
deleted file mode 100644
index edc6b44..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceEnum.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Vector;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTEnum;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnum;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnumConstant;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.utility.jdt.Enum;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.internal.SimpleIntReference;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.SingleElementIterable;
-
-/**
- * Java source type
- */
-final class SourceEnum
-	extends SourceAbstractType<Enum>
-	implements JavaResourceEnum
-{
-
-	private final Vector<JavaResourceEnumConstant> enumConstants;
-
-
-
-	// ********** construction/initialization **********
-
-	/**
-	 * build top-level type
-	 */
-	static JavaResourceEnum newInstance(
-			JavaResourceCompilationUnit javaResourceCompilationUnit,
-			EnumDeclaration enumDeclaration,
-			CompilationUnit astRoot) {
-		Enum _enum = new JDTEnum(
-			enumDeclaration,
-				javaResourceCompilationUnit.getCompilationUnit(),
-				javaResourceCompilationUnit.getModifySharedDocumentCommandExecutor(),
-				javaResourceCompilationUnit.getAnnotationEditFormatter());
-		JavaResourceEnum jre = new SourceEnum(javaResourceCompilationUnit, _enum);
-		jre.initialize(astRoot);
-		return jre;
-	}
-
-	/**
-	 * build nested type
-	 */
-	protected static JavaResourceEnum newInstance(
-			JavaResourceCompilationUnit javaResourceCompilationUnit,
-			Type declaringType,
-			EnumDeclaration enumDeclaration,
-			int occurrence,
-			CompilationUnit astRoot) {
-		Enum _enum = new JDTEnum(
-				declaringType,
-				enumDeclaration,
-				occurrence,
-				javaResourceCompilationUnit.getCompilationUnit(),
-				javaResourceCompilationUnit.getModifySharedDocumentCommandExecutor(),
-				javaResourceCompilationUnit.getAnnotationEditFormatter());
-		JavaResourceEnum jre = new SourceEnum(javaResourceCompilationUnit, _enum);
-		jre.initialize(astRoot);
-		return jre;
-	}
-
-	private SourceEnum(JavaResourceCompilationUnit javaResourceCompilationUnit, Enum _enum) {
-		super(javaResourceCompilationUnit, _enum);
-		this.enumConstants = new Vector<JavaResourceEnumConstant>();
-	}
-
-	@Override
-	public void initialize(CompilationUnit astRoot) {
-		super.initialize(astRoot);
-		this.initializeEnumConstants(astRoot);
-	}
-
-
-	// ********** update **********
-
-	@Override
-	public void synchronizeWith(CompilationUnit astRoot) {
-		super.synchronizeWith(astRoot);
-		this.syncEnumConstants(astRoot);
-	}
-
-
-	// ********** SourceAnnotatedElement implementation **********
-
-	@Override
-	public void resolveTypes(CompilationUnit astRoot) {
-		super.resolveTypes(astRoot);
-
-		for (JavaResourceEnumConstant enumConstant : this.getEnumConstants()) {
-			enumConstant.resolveTypes(astRoot);
-		}
-	}
-
-
-	// ******** JavaResourceAnnotatedElement implementation ********
-	
-	public Kind getKind() {
-		return Kind.ENUM;
-	}
-	
-	
-	// ********** enum constants **********
-
-	public Iterable<JavaResourceEnumConstant> getEnumConstants() {
-		return new LiveCloneIterable<JavaResourceEnumConstant>(this.enumConstants);
-	}
-
-	private void addEnumConstant(JavaResourceEnumConstant enumConstant) {
-		this.addItemToCollection(enumConstant, this.enumConstants, ENUM_CONSTANTS_COLLECTION);
-	}
-
-	private JavaResourceEnumConstant getEnumConstant(String fieldName, int occurrence) {
-		for (JavaResourceEnumConstant enumConstant : this.getEnumConstants()) {
-			if (enumConstant.isFor(fieldName, occurrence)) {
-				return enumConstant;
-			}
-		}
-		return null;
-	}
-
-	private void removeEnumConstants(Collection<JavaResourceEnumConstant> remove) {
-		this.removeItemsFromCollection(remove, this.enumConstants, ENUM_CONSTANTS_COLLECTION);
-	}
-
-	private void initializeEnumConstants(CompilationUnit astRoot) {
-		EnumConstantDeclaration[] enumConstantDeclarations = this.annotatedElement.getEnumConstants(astRoot);
-		CounterMap counters = new CounterMap(enumConstantDeclarations.length);
-		for (EnumConstantDeclaration enumConstantDeclaration : enumConstantDeclarations) {
-			String constantName = enumConstantDeclaration.getName().getFullyQualifiedName();
-			int occurrence = counters.increment(constantName);
-			this.enumConstants.add(this.buildEnumConstant(constantName, occurrence, astRoot));
-		}
-	}
-
-	private void syncEnumConstants(CompilationUnit astRoot) {
-		EnumConstantDeclaration[] enumConstantDeclarations = this.annotatedElement.getEnumConstants(astRoot);
-		CounterMap counters = new CounterMap(enumConstantDeclarations.length);
-		HashSet<JavaResourceEnumConstant> enumConstantsToRemove = new HashSet<JavaResourceEnumConstant>(this.enumConstants);
-		for (EnumConstantDeclaration enumConstantDeclaration : enumConstantDeclarations) {
-			String constantName = enumConstantDeclaration.getName().getFullyQualifiedName();
-			int occurrence = counters.increment(constantName);
-
-			JavaResourceEnumConstant enumConstant = this.getEnumConstant(constantName, occurrence);
-			if (enumConstant == null) {
-				this.addEnumConstant(this.buildEnumConstant(constantName, occurrence, astRoot));
-			} else {
-				enumConstantsToRemove.remove(enumConstant);
-				enumConstant.synchronizeWith(astRoot);
-			}
-		}
-		this.removeEnumConstants(enumConstantsToRemove);
-	}
-
-	private JavaResourceEnumConstant buildEnumConstant(String fieldName, int occurrence, CompilationUnit astRoot) {
-		return SourceEnumConstant.newInstance(this, this.annotatedElement, fieldName, occurrence, this.getJavaResourceCompilationUnit(), astRoot);
-	}
-
-
-	public Iterable<JavaResourceType> getTypes() {
-		return EmptyIterable.instance();
-	}
-
-	public Iterable<JavaResourceType> getAllTypes() {
-		return EmptyIterable.instance();
-	}
-
-	public Iterable<JavaResourceEnum> getEnums() {
-		return EmptyIterable.instance();
-	}
-
-	public Iterable<JavaResourceEnum> getAllEnums() {
-		return new SingleElementIterable<JavaResourceEnum>(this);
-	}
-
-	// ********** CounterMap **********
-
-	private static class CounterMap {
-		private final HashMap<Object, SimpleIntReference> counters;
-
-		protected CounterMap(int initialCapacity) {
-			super();
-			this.counters = new HashMap<Object, SimpleIntReference>(initialCapacity);
-		}
-
-		/**
-		 * Return the incremented count for the specified object.
-		 */
-		int increment(Object o) {
-			SimpleIntReference counter = this.counters.get(o);
-			if (counter == null) {
-				counter = new SimpleIntReference();
-				this.counters.put(o, counter);
-			}
-			counter.increment();
-			return counter.getValue();
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceEnumConstant.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceEnumConstant.java
deleted file mode 100644
index 939a08f..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceEnumConstant.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTEnumConstant;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnum;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnumConstant;
-import org.eclipse.jpt.common.core.utility.jdt.Enum;
-import org.eclipse.jpt.common.core.utility.jdt.EnumConstant;
-
-/**
- * Java source enum constant
- */
-final class SourceEnumConstant
-	extends SourceMember<EnumConstant>
-	implements JavaResourceEnumConstant
-{
-
-	/**
-	 * construct enum constant
-	 */
-	static JavaResourceEnumConstant newInstance(
-			JavaResourceEnum parent,
-			Enum declaringEnum,
-			String name,
-			int occurrence,
-			JavaResourceCompilationUnit javaResourceCompilationUnit,
-			CompilationUnit astRoot) {
-		
-		EnumConstant enumConstant = new JDTEnumConstant(
-				declaringEnum,
-				name,
-				occurrence,
-				javaResourceCompilationUnit.getCompilationUnit(),
-				javaResourceCompilationUnit.getModifySharedDocumentCommandExecutor(),
-				javaResourceCompilationUnit.getAnnotationEditFormatter());
-		JavaResourceEnumConstant jrec = new SourceEnumConstant(parent, enumConstant);
-		jrec.initialize(astRoot);
-		return jrec;
-	}
-	
-	
-	private SourceEnumConstant(JavaResourceEnum parent, EnumConstant enumConstant){
-		super(parent, enumConstant);
-	}
-	
-	
-	@Override
-	public void initialize(CompilationUnit astRoot) {
-		super.initialize(astRoot);
-	}
-	
-	
-	// ******** JavaResourceAnnotatedElement implementation ********
-	
-	public Kind getKind() {
-		return Kind.ENUM_CONSTANT;
-	}
-	
-	
-	// ******** overrides ********
-
-	@Override
-	public void resolveTypes(CompilationUnit astRoot) {
-		super.resolveTypes(astRoot);
-	}
-
-	@Override
-	public void synchronizeWith(CompilationUnit astRoot) {
-		super.synchronizeWith(astRoot);
-	}
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.getName());
-	}
-	
-	
-	// ******** JavaResourceEnumConstant implementation ********
-	
-	public String getName() {
-		return this.annotatedElement.getName();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceField.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceField.java
deleted file mode 100644
index 936231c..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceField.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTFieldAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.utility.jdt.FieldAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-
-/**
- * Java source field
- */
-final class SourceField
-	extends SourceAttribute<FieldAttribute>
-	implements JavaResourceField
-{
-
-	/**
-	 * construct field attribute
-	 */
-	static JavaResourceField newInstance(
-			JavaResourceType parent,
-			Type declaringType,
-			String name,
-			int occurrence,
-			JavaResourceCompilationUnit javaResourceCompilationUnit,
-			CompilationUnit astRoot) {
-		
-		FieldAttribute field = new JDTFieldAttribute(
-				declaringType,
-				name,
-				occurrence,
-				javaResourceCompilationUnit.getCompilationUnit(),
-				javaResourceCompilationUnit.getModifySharedDocumentCommandExecutor(),
-				javaResourceCompilationUnit.getAnnotationEditFormatter());
-		JavaResourceField jrpa = new SourceField(parent, field);
-		jrpa.initialize(astRoot);
-		return jrpa;
-	}
-	
-	
-	private SourceField(JavaResourceType parent, FieldAttribute field){
-		super(parent, field);
-	}
-
-	// ******** JavaResourceAnnotatedElement implementation ********
-	
-	public Kind getKind() {
-		return Kind.FIELD;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceMember.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceMember.java
deleted file mode 100644
index 694c3af..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceMember.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IBinding;
-import org.eclipse.jdt.core.dom.Modifier;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceMember;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-
-/**
- * Java source member (annotations, "persistable")
- */
-abstract class SourceMember<M extends Member>
-	extends SourceAnnotatedElement<M>
-	implements JavaResourceMember
-{
-
-	boolean final_;  // 'final' is a reserved word
-
-	boolean transient_;  // 'transient' is a reserved word
-
-	boolean public_;  // 'public' is a reserved word
-
-	boolean static_;  // 'static' is a reserved word
-
-	boolean protected_; // 'protected' is a reserved word
-
-	// ********** construction/initialization **********
-
-	SourceMember(JavaResourceNode parent, M member) {
-		super(parent, member);
-	}
-
-	@Override
-	public void initialize(CompilationUnit astRoot) {
-		super.initialize(astRoot);
-		IBinding binding = this.annotatedElement.getBinding(astRoot);
-		this.final_ = this.buildFinal(binding);
-		this.transient_ = this.buildTransient(binding);
-		this.public_ = this.buildPublic(binding);
-		this.static_ = this.buildStatic(binding);
-		this.protected_ = this.buildProtected(binding);
-	}
-
-	@Override
-	public void synchronizeWith(CompilationUnit astRoot) {
-		super.synchronizeWith(astRoot);
-		IBinding binding = this.annotatedElement.getBinding(astRoot);
-		this.syncFinal(this.buildFinal(binding));
-		this.syncTransient(this.buildTransient(binding));
-		this.syncPublic(this.buildPublic(binding));
-		this.syncStatic(this.buildStatic(binding));
-		this.syncProtected(this.buildProtected(binding));
-	}
-
-
-	// ********** annotations **********
-
-	public Annotation setPrimaryAnnotation(String primaryAnnotationName, Iterable<String> supportingAnnotationNames) {
-		ArrayList<String> annotationNames = new ArrayList<String>();
-		CollectionTools.addAll(annotationNames, supportingAnnotationNames);
-		if (primaryAnnotationName != null) {
-			annotationNames.add(primaryAnnotationName);
-		}
-		for (Annotation annotation : this.getAnnotations()) {
-			if ( ! CollectionTools.contains(annotationNames, annotation.getAnnotationName())) {
-				this.annotations.remove(annotation);
-				annotation.removeAnnotation();
-			}
-		}
-		Iterator<AnnotationContainer> containers = this.annotationContainers.values().iterator();
-		for (; containers.hasNext();) {
-			AnnotationContainer container = containers.next();
-			if (container.getContainerAnnotation() != null) {
-				if ( ! CollectionTools.contains(annotationNames, container.getContainerAnnotation().getAnnotationName())) {
-					containers.remove();
-					container.getContainerAnnotation().removeAnnotation();
-				}
-			}
-			else {
-				//At this point the only thing remaining would be a standalone "nestable" annotation
-				String nestedAnnotatioName = container.getNestedAnnotationName();
-				if ( ! CollectionTools.contains(annotationNames, nestedAnnotatioName)) {
-					containers.remove();
-					container.getNestedAnnotations().iterator().next().removeAnnotation();
-				}
-			}
-		}
-
-		Annotation newPrimaryAnnotation = this.getAnnotation(primaryAnnotationName);
-		if ((primaryAnnotationName != null) && (newPrimaryAnnotation == null)) {
-			newPrimaryAnnotation = this.buildAnnotation(primaryAnnotationName);
-			this.annotations.add(newPrimaryAnnotation);
-			newPrimaryAnnotation.newAnnotation();
-		}
-		return newPrimaryAnnotation;
-	}
-
-
-	// ***** final
-	public boolean isFinal() {
-		return this.final_;
-	}
-
-	private void syncFinal(boolean astFinal) {
-		boolean old = this.final_;
-		this.final_ = astFinal;
-		this.firePropertyChanged(FINAL_PROPERTY, old, astFinal);
-	}
-
-	private boolean buildFinal(IBinding binding) {
-		return (binding == null) ? false : Modifier.isFinal(binding.getModifiers());
-	}
-
-	// ***** transient
-	public boolean isTransient() {
-		return this.transient_;
-	}
-
-	private void syncTransient(boolean astTransient) {
-		boolean old = this.transient_;
-		this.transient_ = astTransient;
-		this.firePropertyChanged(TRANSIENT_PROPERTY, old, astTransient);
-	}
-
-	private boolean buildTransient(IBinding binding) {
-		return (binding == null) ? false : Modifier.isTransient(binding.getModifiers());
-	}
-
-	// ***** public
-	public boolean isPublic() {
-		return this.public_;
-	}
-
-	private void syncPublic(boolean astPublic) {
-		boolean old = this.public_;
-		this.public_ = astPublic;
-		this.firePropertyChanged(PUBLIC_PROPERTY, old, astPublic);
-	}
-
-	private boolean buildPublic(IBinding binding) {
-		return (binding == null) ? false : Modifier.isPublic(binding.getModifiers());
-	}
-
-	// ***** static
-	public boolean isStatic() {
-		return this.static_;
-	}
-
-	private void syncStatic(boolean astStatic) {
-		boolean old = this.static_;
-		this.static_ = astStatic;
-		this.firePropertyChanged(STATIC_PROPERTY, old, astStatic);
-	}
-
-	private boolean buildStatic(IBinding binding) {
-		return (binding == null) ? false : Modifier.isStatic(binding.getModifiers());
-	}
-	
-	// ***** protected
-	public boolean isProtected() {
-		return this.protected_;
-	}
-
-	private void syncProtected(boolean astProtected) {
-		boolean old = this.protected_;
-		this.protected_ = astProtected;
-		this.firePropertyChanged(PROTECTED_PROPERTY, old, astProtected);
-	}
-
-	private boolean buildProtected(IBinding binding) {
-		return (binding == null) ? false : Modifier.isProtected(binding.getModifiers());
-	}
-
-	// ********** miscellaneous **********
-
-	public boolean isFor(String memberName, int occurrence) {
-		return this.annotatedElement.matches(memberName, occurrence);
-	}
-
-	public void resolveTypes(CompilationUnit astRoot) {
-	}
-
-	public boolean isPublicOrProtected() {
-		return this.isPublic() || this.isProtected();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceMethod.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceMethod.java
deleted file mode 100644
index 99cda60..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceMethod.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Vector;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IMethodBinding;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTMethodAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceMethod;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.utility.jdt.MethodAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.MethodSignature;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
-
-/**
- * Java source method
- */
-final class SourceMethod
-		extends SourceAttribute<MethodAttribute>
-		implements JavaResourceMethod {
-	
-	boolean constructor;
-	
-	private final Vector<String> parameterTypeNames = new Vector<String>();
-	
-	
-	/**
-	 * construct method
-	 */
-	static JavaResourceMethod newInstance(
-			JavaResourceType parent,
-			Type declaringType,
-			MethodSignature signature,
-			int occurrence,
-			JavaResourceCompilationUnit javaResourceCompilationUnit,
-			CompilationUnit astRoot) {
-		
-		MethodAttribute method = JDTMethodAttribute.newInstance(
-				declaringType,
-				signature,
-				occurrence,
-				javaResourceCompilationUnit.getCompilationUnit(),
-				javaResourceCompilationUnit.getModifySharedDocumentCommandExecutor(),
-				javaResourceCompilationUnit.getAnnotationEditFormatter());
-		JavaResourceMethod jrm = new SourceMethod(parent, method);
-		jrm.initialize(astRoot);
-		return jrm;
-	}
-	
-	
-	private SourceMethod(JavaResourceType parent, MethodAttribute method){
-		super(parent, method);
-	}
-	
-	
-	@Override
-	public void initialize(CompilationUnit astRoot) {
-		super.initialize(astRoot);
-		IMethodBinding binding = this.annotatedElement.getBinding(astRoot);
-		this.constructor = this.buildConstructor(binding);
-		this.parameterTypeNames.addAll(this.buildParameterTypeNames(binding));
-	}
-	
-	
-	// ******** JavaResourceAnnotatedElement implementation ********
-	
-	public Kind getKind() {
-		return Kind.METHOD;
-	}
-	
-	
-	// ******** overrides ********
-	
-	@Override
-	public void resolveTypes(CompilationUnit astRoot) {
-		super.resolveTypes(astRoot);
-	}
-	
-	@Override
-	public void synchronizeWith(CompilationUnit astRoot) {
-		super.synchronizeWith(astRoot);
-		IMethodBinding binding = this.annotatedElement.getBinding(astRoot);
-		this.syncConstructor(this.buildConstructor(binding));
-		this.syncParameterTypeNames(this.buildParameterTypeNames(binding));
-	}
-	
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.getMethodName());
-	}
-	
-	
-	// ***** method name *****
-	
-	public String getMethodName() {
-		return this.annotatedElement.getName();
-	}
-	
-	
-	// ***** parameter type names *****
-	
-	public ListIterable<String> getParameterTypeNames() {
-		return new LiveCloneListIterable<String>(this.parameterTypeNames);
-	}
-	
-	public String getParameterTypeName(int index) {
-		return this.parameterTypeNames.get(index);
-	}
-	
-	public int getParametersSize() {
-		return this.parameterTypeNames.size();
-	}
-	
-	private void syncParameterTypeNames(List<String> astParameterTypeNames) {
-		this.synchronizeList(astParameterTypeNames, this.parameterTypeNames, PARAMETER_TYPE_NAMES_LIST);
-	}
-	
-	private List<String> buildParameterTypeNames(IMethodBinding methodBinding) {
-		if (methodBinding == null) {
-			return Collections.emptyList();
-		}
-		ArrayList<String> names = new ArrayList<String>();
-		for (ITypeBinding parameterType : methodBinding.getParameterTypes()) {
-			if (parameterType.isTypeVariable()) {
-				// e.g. "E extends Number" has an erasure of "Number"
-				parameterType = parameterType.getErasure();
-			}
-			String ptName = parameterType.getTypeDeclaration().getQualifiedName();
-			names.add(ptName);
-		}
-		return names;
-	}
-	
-	
-	// ***** constructor *****
-	
-	public boolean isConstructor() {
-		return this.constructor;
-	}
-	
-	private void syncConstructor(boolean astConstructor) {
-		boolean old = this.constructor;
-		this.constructor = astConstructor;
-		this.firePropertyChanged(CONSTRUCTOR_PROPERTY, old, astConstructor);
-	}
-	
-	private boolean buildConstructor(IMethodBinding methodBinding) {
-		return methodBinding == null ? false : methodBinding.isConstructor();
-	}
-	
-	
-	// ***** misc *****
-	
-	public boolean isFor(MethodSignature signature, int occurrence) {
-		return this.annotatedElement.matches(signature, occurrence);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceNamedAnnotation.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceNamedAnnotation.java
deleted file mode 100644
index 87225ba..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceNamedAnnotation.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.source.SourceAnnotation;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-
-/**
- * Used for annotations that have no behavior, just a name
- */
-public final class SourceNamedAnnotation
-	extends SourceAnnotation
-{
-	private final String annotationName;
-
-	public SourceNamedAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement, String annotationName) {
-		super(parent, annotatedElement, new SimpleDeclarationAnnotationAdapter(annotationName));
-		this.annotationName = annotationName;
-	}
-
-	public String getAnnotationName() {
-		return this.annotationName;
-	}
-
-	public void initialize(CompilationUnit astRoot) {
-		//nothing
-	}
-	
-	public void synchronizeWith(CompilationUnit astRoot) {
-		//nothing
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceNode.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceNode.java
deleted file mode 100644
index 2b2ffba..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceNode.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ArrayInitializer;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.internal.resource.java.AbstractJavaResourceNode;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceNode;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
-
-
-/**
- * Source convenience methods
- */
-public abstract class SourceNode
-	extends AbstractJavaResourceNode
-{
-
-	public SourceNode(JavaResourceNode parent) {
-		super(parent);
-	}
-
-	public JavaResourceCompilationUnit getJavaResourceCompilationUnit() {
-		return (JavaResourceCompilationUnit) this.getRoot();
-	}
-
-	protected CompilationUnit buildASTRoot() {
-		return this.getJavaResourceCompilationUnit().buildASTRoot();
-	}
-
-	/**
-	 * A container for nested annotations. The owner of the AnnotationContainer
-	 * needs to call initialize(org.eclipse.jdt.core.dom.Annotation) on it.
-	 * @param <T> the type of the resource nestable annotations
-	 */
-	abstract class AnnotationContainer<T extends NestableAnnotation>
-	{
-		protected final Vector<T> nestedAnnotations = new Vector<T>();
-
-		protected AnnotationContainer() {
-			super();
-		}
-
-		/**
-		 * Return the element name of the nested annotations
-		 */
-		protected abstract String getElementName();
-
-		/**
-		 * Return the nested annotation name
-		 */
-		protected abstract String getNestedAnnotationName();
-
-		/**
-		 * Return a new nested annotation at the given index
-		 */
-		protected abstract T buildNestedAnnotation(int index);
-
-		protected abstract void fireItemAdded(int index, T nestedAnnotation);
-
-		protected abstract void fireItemsRemoved(int index, List<T> removedItems);
-
-		public void initialize(org.eclipse.jdt.core.dom.Annotation astContainerAnnotation) {
-			// ignore the nested AST annotations themselves
-			// (maybe someday we can use them during initialization...)
-			int size = this.getNestedAstAnnotations(astContainerAnnotation).size();
-			for (int i = 0; i < size; i++) {
-				T nestedAnnotation = this.buildNestedAnnotation(i);
-				this.nestedAnnotations.add(i, nestedAnnotation);
-				nestedAnnotation.initialize((CompilationUnit) astContainerAnnotation.getRoot());
-			}
-		}
-
-		/**
-		 * Synchronize the resource model annotations with those in the specified AST.
-		 * Trigger the appropriate change notification.
-		 */
-		public void synchronize(org.eclipse.jdt.core.dom.Annotation astContainerAnnotation) {
-			ArrayList<org.eclipse.jdt.core.dom.Annotation> astAnnotations = this.getNestedAstAnnotations(astContainerAnnotation);
-			Iterator<org.eclipse.jdt.core.dom.Annotation> astAnnotationStream = astAnnotations.iterator();
-
-			for (T nestedAnnotation : this.getNestedAnnotations()) {
-				if (astAnnotationStream.hasNext()) {
-					// matching AST annotation is present - synchronize the nested annotation
-					astAnnotationStream.next();  // maybe someday we can pass this to the update
-					nestedAnnotation.synchronizeWith((CompilationUnit) astContainerAnnotation.getRoot());
-				} else {
-					// no more AST annotations - remove the remaining nested annotations and exit
-					this.syncRemoveNestedAnnotations(astAnnotations.size());
-					return;
-				}
-			}
-
-			// add nested annotations for any remaining AST annotations
-			while (astAnnotationStream.hasNext()) {
-				this.syncAddNestedAnnotation(astAnnotationStream.next());
-			}
-		}
-
-		public ListIterable<T> getNestedAnnotations() {
-			return new LiveCloneListIterable<T>(this.nestedAnnotations);
-		}
-
-		public int getNestedAnnotationsSize() {
-			return this.nestedAnnotations.size();
-		}
-
-		public T nestedAnnotationAt(int index) {
-			return this.nestedAnnotations.get(index);
-		}
-
-		public T addNestedAnnotation(int index) {
-			// add a new annotation to the end of the list...
-			int sourceIndex = this.getNestedAnnotationsSize();
-			T nestedAnnotation = this.buildNestedAnnotation(sourceIndex);
-			this.nestedAnnotations.add(sourceIndex, nestedAnnotation);
-			nestedAnnotation.newAnnotation();
-			nestedAnnotation.initialize(nestedAnnotation.getJavaResourceCompilationUnit().buildASTRoot());
-			// ...then move it to the specified index
-			this.moveNestedAnnotation(index, sourceIndex);
-			return nestedAnnotation;
-		}
-
-		public T moveNestedAnnotation(int targetIndex, int sourceIndex) {
-			if (targetIndex != sourceIndex) {
-				return this.moveNestedAnnotation_(targetIndex, sourceIndex);
-			}
-			return null;
-		}
-
-		public T removeNestedAnnotation(int index) {
-			T nestedAnnotation = this.nestedAnnotations.remove(index);
-			nestedAnnotation.removeAnnotation();
-			this.syncAstAnnotationsAfterRemove(index);
-			return nestedAnnotation;
-		}
-
-		private T moveNestedAnnotation_(int targetIndex, int sourceIndex) {
-			T nestedAnnotation = CollectionTools.move(this.nestedAnnotations, targetIndex, sourceIndex).get(targetIndex);
-			this.syncAstAnnotationsAfterMove(targetIndex, sourceIndex, nestedAnnotation);
-			return nestedAnnotation;
-		}
-
-		/**
-		 * Return a list of the nested AST annotations.
-		 */
-		private ArrayList<org.eclipse.jdt.core.dom.Annotation> getNestedAstAnnotations(org.eclipse.jdt.core.dom.Annotation astContainerAnnotation) {
-			ArrayList<org.eclipse.jdt.core.dom.Annotation> result = new ArrayList<org.eclipse.jdt.core.dom.Annotation>();
-			if (astContainerAnnotation == null || astContainerAnnotation.isMarkerAnnotation()) {
-				// no nested annotations
-			}
-			else if (astContainerAnnotation.isSingleMemberAnnotation()) {
-				if (this.getElementName().equals("value")) { //$NON-NLS-1$
-					Expression ex = ((SingleMemberAnnotation) astContainerAnnotation).getValue();
-					this.addAstAnnotationsTo(ex, result);
-				} else {
-					// no nested annotations
-				}
-			}
-			else if (astContainerAnnotation.isNormalAnnotation()) {
-				MemberValuePair pair = this.getMemberValuePair((NormalAnnotation) astContainerAnnotation);
-				if (pair == null) {
-					// no nested annotations
-				} else {
-					this.addAstAnnotationsTo(pair.getValue(), result);
-				}
-			}
-			return result;
-		}
-
-		/**
-		 * Add whatever annotations are represented by the specified expression to
-		 * the specified list. Do not add null to the list for any non-annotation expression.
-		 */
-		private void addAstAnnotationsTo(Expression expression, ArrayList<org.eclipse.jdt.core.dom.Annotation> astAnnotations) {
-			if (expression == null) {
-				//do not add null to the list, not sure how we would get here...
-			}
-			else if (expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-				this.addAstAnnotationsTo((ArrayInitializer) expression, astAnnotations);
-			}
-			else {
-				org.eclipse.jdt.core.dom.Annotation astAnnotation = this.getAstAnnotation_(expression);
-				if (astAnnotation != null) {
-					astAnnotations.add(astAnnotation);
-				}
-			}
-		}
-
-		private void addAstAnnotationsTo(ArrayInitializer arrayInitializer, ArrayList<org.eclipse.jdt.core.dom.Annotation> astAnnotations) {
-			List<Expression> expressions = this.expressions(arrayInitializer);
-			for (Expression expression : expressions) {
-				org.eclipse.jdt.core.dom.Annotation astAnnotation = getAstAnnotation(expression);
-				if (astAnnotation != null) {
-					astAnnotations.add(astAnnotation);
-				}
-			}
-		}
-
-		// minimize scope of suppressed warnings
-		@SuppressWarnings("unchecked")
-		private List<Expression> expressions(ArrayInitializer arrayInitializer) {
-			return arrayInitializer.expressions();
-		}
-
-		/**
-		 * If the specified expression is an annotation with the specified name, return it;
-		 * otherwise return null.
-		 */
-		private org.eclipse.jdt.core.dom.Annotation getAstAnnotation(Expression expression) {
-			// not sure how the expression could be null...
-			return (expression == null) ? null : getAstAnnotation_(expression);
-		}
-
-		/**
-		 * pre-condition: expression is not null
-		 */
-		private org.eclipse.jdt.core.dom.Annotation getAstAnnotation_(Expression expression) {
-			switch (expression.getNodeType()) {
-				case ASTNode.NORMAL_ANNOTATION:
-				case ASTNode.SINGLE_MEMBER_ANNOTATION:
-				case ASTNode.MARKER_ANNOTATION:
-					org.eclipse.jdt.core.dom.Annotation astAnnotation = (org.eclipse.jdt.core.dom.Annotation) expression;
-					if (this.getQualifiedName(astAnnotation).equals(this.getNestedAnnotationName())) {
-						return astAnnotation;
-					}
-					return null;
-				default:
-					return null;
-			}
-		}
-
-		private String getQualifiedName(org.eclipse.jdt.core.dom.Annotation astAnnotation) {
-			ITypeBinding typeBinding = astAnnotation.resolveTypeBinding();
-			if (typeBinding != null) {
-				String resolvedName = typeBinding.getQualifiedName();
-				if (resolvedName != null) {
-					return resolvedName;
-				}
-			}
-			return astAnnotation.getTypeName().getFullyQualifiedName();
-		}
-
-		private MemberValuePair getMemberValuePair(NormalAnnotation annotation) {
-			List<MemberValuePair> pairs = this.values(annotation);
-			for (MemberValuePair pair : pairs) {
-				if (pair.getName().getFullyQualifiedName().equals(this.getElementName())) {
-					return pair;
-				}
-			}
-			return null;
-		}
-
-		@SuppressWarnings("unchecked")
-		protected List<MemberValuePair> values(NormalAnnotation na) {
-			return na.values();
-		}
-
-		/**
-		 * An annotation was moved within the specified annotation container from
-		 * the specified source index to the specified target index.
-		 * Synchronize the AST annotations with the resource model annotation container,
-		 * starting with the lower index to prevent overlap.
-		 */
-		private void syncAstAnnotationsAfterMove(int targetIndex, int sourceIndex, T nestedAnnotation) {
-			// move the Java annotation to the end of the list...
-			nestedAnnotation.moveAnnotation(this.getNestedAnnotationsSize());
-			// ...then shift the other AST annotations over one slot...
-			if (sourceIndex < targetIndex) {
-				for (int i = sourceIndex; i < targetIndex; i++) {
-					this.nestedAnnotations.get(i).moveAnnotation(i);
-				}
-			} else {
-				for (int i = sourceIndex; i > targetIndex; i-- ) {
-					this.nestedAnnotations.get(i).moveAnnotation(i);
-				}
-			}
-			// ...then move the AST annotation to the now empty slot at the target index
-			nestedAnnotation.moveAnnotation(targetIndex);
-		}
-
-		/**
-		 * An annotation was removed from the specified annotation container at the
-		 * specified index.
-		 * Synchronize the AST annotations with the resource model annotation container,
-		 * starting at the specified index to prevent overlap.
-		 */
-		private void syncAstAnnotationsAfterRemove(int index) {
-			for (int i = index; i < this.getNestedAnnotationsSize(); i++) {
-				// the indices are the same because the model annotations are
-				// already in the proper locations - it's the AST annotations that
-				// need to be moved to the matching location
-				this.nestedAnnotations.get(i).moveAnnotation(i);
-			}
-		}
-
-		protected void syncAddNestedAnnotation(org.eclipse.jdt.core.dom.Annotation astAnnotation) {
-			int index = this.getNestedAnnotationsSize();
-			T nestedAnnotation = this.buildNestedAnnotation(index);
-			nestedAnnotation.initialize((CompilationUnit) astAnnotation.getRoot());
-			this.nestedAnnotations.add(index, nestedAnnotation);
-			this.fireItemAdded(index, nestedAnnotation);
-		}
-
-		protected void syncRemoveNestedAnnotations(int index) {
-			List<T> subList = this.nestedAnnotations.subList(index, this.getNestedAnnotationsSize());
-			List<T> removedItems = new ArrayList<T>(subList);
-			subList.clear();
-			this.fireItemsRemoved(index, removedItems);
-		}
-
-		public boolean isEmpty() {
-			return this.nestedAnnotations.isEmpty();
-		}
-
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-
-		public void toString(StringBuilder sb) {
-			sb.append(this.nestedAnnotations);
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourcePackage.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourcePackage.java
deleted file mode 100644
index 7c3d504..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourcePackage.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
-  * Copyright (c) 2010 Red Hat, Inc.
-  * Distributed under license by Red Hat, Inc. All rights reserved.
-  * This program is made available under the terms of the
-  * Eclipse Public License v1.0 which accompanies this distribution,
-  * and is available at http://www.eclipse.org/legal/epl-v10.html
-  *
-  * Contributor:
-  *     Red Hat, Inc. - initial API and implementation
-  ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IPackageBinding;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTPackage;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackage;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedPackage;
-
-/**
- * @author Dmitry Geraskov
- * Source package-info.java
- *
- */
-public final class SourcePackage
-	extends SourceAnnotatedElement<AnnotatedPackage>
-	implements JavaResourcePackage
-{
-
-	private String name;
-
-	/**
-	 * construct package info
-	 */
-	public static JavaResourcePackage newInstance(
-			JavaResourceCompilationUnit parent,
-			PackageDeclaration declaringPackage,
-			CompilationUnit astRoot) {
-		AnnotatedPackage pack = new JDTPackage(
-				declaringPackage,
-				parent.getCompilationUnit(), 
-				parent.getModifySharedDocumentCommandExecutor(),
-				parent.getAnnotationEditFormatter());
-		JavaResourcePackage jrpp = new SourcePackage(parent, pack);
-		jrpp.initialize(astRoot);
-		return jrpp;
-	}	
-
-	private SourcePackage(
-			JavaResourceCompilationUnit parent,
-			AnnotatedPackage pack){
-		super(parent, pack);
-	}
-
-
-	@Override
-	public void initialize(CompilationUnit astRoot) {
-		super.initialize(astRoot);
-		this.name = this.buildName(astRoot);
-	}
-
-	// ******** JavaResourceAnnotatedElement implementation ********
-	
-	public Kind getKind() {
-		return Kind.PACKAGE;
-	}
-
-
-	// ********** JavaResourcePackageInfo implementation **********
-	
-	// ***** name
-	public String getName() {
-		return this.name;
-	}
-
-	private void syncName(String astName) {
-		if (valuesAreDifferent(astName, this.name)){
-			String old = this.name;
-			this.name = astName;
-			this.firePropertyChanged(NAME_PROPERTY, old, astName);
-		}		
-	}
-
-	private String buildName(CompilationUnit astRoot) {
-		IPackageBinding binding = this.annotatedElement.getBinding(astRoot);
-		return (binding == null) ? null : binding.getName();
-	}
-
-
-	// ********** Java changes **********
-
-	@Override
-	public void synchronizeWith(CompilationUnit astRoot) {
-		super.synchronizeWith(astRoot);
-		this.syncName(this.buildName(astRoot));
-	}
-
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.name);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourcePackageInfoCompilationUnit.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourcePackageInfoCompilationUnit.java
deleted file mode 100644
index 0ee2aae..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourcePackageInfoCompilationUnit.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 Red Hat, 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:
- *     Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.JptResourceType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackage;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageInfoCompilationUnit;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-
-/**
- * @author Dmitry Geraskov
- * Source package-info.java
- *
- */
-public final class SourcePackageInfoCompilationUnit
-	extends SourceCompilationUnit
-	implements JavaResourcePackageInfoCompilationUnit {
-
-	private JavaResourcePackage package_;	
-
-	public SourcePackageInfoCompilationUnit(
-			ICompilationUnit compilationUnit,
-			AnnotationProvider annotationProvider, 
-			AnnotationEditFormatter annotationEditFormatter,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		super(compilationUnit, annotationProvider, annotationEditFormatter, modifySharedDocumentCommandExecutor);  // the JPA compilation unit is the root of its sub-tree
-		this.package_ = this.buildPackage();
-	}
-
-
-	private JavaResourcePackage buildPackage() {
-		this.openCompilationUnit();
-		CompilationUnit astRoot = this.buildASTRoot();
-		this.closeCompilationUnit();
-		return this.buildPackage(astRoot);
-	}
-
-
-	// ********** JavaResourceNode.Root implementation **********
-
-	public Iterable<JavaResourceAbstractType> getTypes() {
-		return EmptyIterable.instance();
-	}
-
-	public JavaResourceAbstractType getPrimaryType() {
-		return null;
-	}
-
-	// ********** JptResourceModel implementation **********
-
-	public JptResourceType getResourceType() {
-		return JptCommonCorePlugin.JAVA_SOURCE_PACKAGE_INFO_RESOURCE_TYPE;
-	}
-
-
-	// ********** Java changes **********
-
-	public void synchronizeWith(CompilationUnit astRoot) {
-		this.syncPackage(astRoot);
-	}
-
-
-	// ********** JavaResourceCompilationUnit implementation **********
-
-	public void resolveTypes() {
-		//no-op
-	}
-
-	// ********** package-info **********
-
-	public JavaResourcePackage getPackage() {
-		return this.package_;
-	}
-
-	private JavaResourcePackage buildPackage(CompilationUnit astRoot) {
-		return this.buildPackage(astRoot, this.getPackageDeclaration(astRoot));
-	}
-
-	private void syncPackage(CompilationUnit astRoot) {
-		PackageDeclaration pd = this.getPackageDeclaration(astRoot);
-		if (pd == null) {
-			this.syncPackage_(null);
-		} else {
-			if (this.package_ == null) {
-				this.syncPackage_(this.buildPackage(astRoot, pd));
-			} else {
-				this.package_.synchronizeWith(astRoot);
-			}
-		}
-	}
-
-	private PackageDeclaration getPackageDeclaration(CompilationUnit astRoot) {
-		return astRoot.getPackage();
-	}
-
-	private void syncPackage_(JavaResourcePackage astPackage) {
-		JavaResourcePackage old = this.package_;
-		this.package_ = astPackage;
-		this.firePropertyChanged(PACKAGE, old, astPackage);
-	}
-
-	private JavaResourcePackage buildPackage(CompilationUnit astRoot, PackageDeclaration packageDeclaration) {
-		return SourcePackage.newInstance(this, packageDeclaration, astRoot);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceType.java
deleted file mode 100644
index f28e794..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceType.java
+++ /dev/null
@@ -1,612 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.IMethodBinding;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.Modifier;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnum;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceMethod;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.MethodSignature;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TreeIterable;
-
-/**
- * Java source type (type or interface)
- */
-final class SourceType
-	extends SourceAbstractType<Type>
-	implements JavaResourceType
-{
-
-	private String superclassQualifiedName;
-
-	private boolean abstract_;  // 'abstract' is a reserved word
-
-	private boolean hasNoArgConstructor;
-
-	private boolean hasPrivateNoArgConstructor;
-
-	private final Vector<JavaResourceType> types;
-
-	private final Vector<JavaResourceEnum> enums;
-
-	private final Vector<JavaResourceField> fields;
-
-	private final Vector<JavaResourceMethod> methods;
-
-
-	// ********** construction/initialization **********
-
-	/**
-	 * build top-level type
-	 */
-	static JavaResourceType newInstance(
-			JavaResourceCompilationUnit javaResourceCompilationUnit,
-			TypeDeclaration typeDeclaration,
-			CompilationUnit astRoot) {
-		Type type = new JDTType(
-				typeDeclaration,
-				javaResourceCompilationUnit.getCompilationUnit(),
-				javaResourceCompilationUnit.getModifySharedDocumentCommandExecutor(),
-				javaResourceCompilationUnit.getAnnotationEditFormatter());
-		JavaResourceType jrpt = new SourceType(javaResourceCompilationUnit, type);
-		jrpt.initialize(astRoot);
-		return jrpt;
-	}
-
-	/**
-	 * build nested type
-	 */
-	private static JavaResourceType newInstance(
-			JavaResourceCompilationUnit javaResourceCompilationUnit,
-			Type declaringType,
-			TypeDeclaration typeDeclaration,
-			int occurrence,
-			CompilationUnit astRoot) {
-		Type type = new JDTType(
-				declaringType,
-				typeDeclaration,
-				occurrence,
-				javaResourceCompilationUnit.getCompilationUnit(),
-				javaResourceCompilationUnit.getModifySharedDocumentCommandExecutor(),
-				javaResourceCompilationUnit.getAnnotationEditFormatter());
-		JavaResourceType jrpt = new SourceType(javaResourceCompilationUnit, type);
-		jrpt.initialize(astRoot);
-		return jrpt;
-	}
-
-	private SourceType(JavaResourceCompilationUnit javaResourceCompilationUnit, Type type) {
-		super(javaResourceCompilationUnit, type);
-		this.types = new Vector<JavaResourceType>();
-		this.enums = new Vector<JavaResourceEnum>();
-		this.fields = new Vector<JavaResourceField>();
-		this.methods = new Vector<JavaResourceMethod>();
-	}
-
-	@Override
-	public void initialize(CompilationUnit astRoot) {
-		super.initialize(astRoot);
-		ITypeBinding binding = this.annotatedElement.getBinding(astRoot);
-		this.superclassQualifiedName = this.buildSuperclassQualifiedName(binding);
-		this.abstract_ = this.buildAbstract(binding);
-		this.hasNoArgConstructor = this.buildHasNoArgConstructor(binding);
-		this.hasPrivateNoArgConstructor = this.buildHasPrivateNoArgConstructor(binding);
-		this.initializeTypes(astRoot);
-		this.initializeEnums(astRoot);
-		this.initializeFields(astRoot);
-		this.initializeMethods(astRoot);
-	}
-
-
-	// ********** update **********
-
-	@Override
-	public void synchronizeWith(CompilationUnit astRoot) {
-		super.synchronizeWith(astRoot);
-		ITypeBinding binding = this.annotatedElement.getBinding(astRoot);
-		this.syncSuperclassQualifiedName(this.buildSuperclassQualifiedName(binding));
-		this.syncAbstract(this.buildAbstract(binding));
-		this.syncHasNoArgConstructor(this.buildHasNoArgConstructor(binding));
-		this.syncHasPrivateNoArgConstructor(this.buildHasPrivateNoArgConstructor(binding));
-		this.syncTypes(astRoot);
-		this.syncEnums(astRoot);
-		this.syncFields(astRoot);
-		this.syncMethods(astRoot);
-	}
-
-
-	// ********** SourceAnnotatedElement implementation **********
-
-	@Override
-	public void resolveTypes(CompilationUnit astRoot) {
-		super.resolveTypes(astRoot);
-
-		this.syncSuperclassQualifiedName(this.buildSuperclassQualifiedName(this.annotatedElement.getBinding(astRoot)));
-
-		for (JavaResourceField field : this.getFields()) {
-			field.resolveTypes(astRoot);
-		}
-
-		// a new type can trigger a method parameter type to be a resolved,
-		// fully-qualified name, so we need to rebuild our list of methods:
-		//     "setFoo(Foo)" is not the same as "setFoo(com.bar.Foo)"
-		// and, vice-versa, a removed type can "unresolve" a parameter type
-		this.syncMethods(astRoot);
-
-		for (JavaResourceMethod method : this.getMethods()) {
-			method.resolveTypes(astRoot);
-		}
-		for (JavaResourceType type : this.getTypes()) {
-			type.resolveTypes(astRoot);
-		}
-		for (JavaResourceEnum enum_ : this.getEnums()) {
-			enum_.resolveTypes(astRoot);
-		}
-	}
-
-
-	// ******** JavaResourceType implementation ********
-	
-	public Kind getKind() {
-		return Kind.TYPE;
-	}
-	
-	// ***** superclass qualified name
-	public String getSuperclassQualifiedName() {
-		return this.superclassQualifiedName;
-	}
-
-	private void syncSuperclassQualifiedName(String astSuperclassQualifiedName) {
-		String old = this.superclassQualifiedName;
-		this.superclassQualifiedName = astSuperclassQualifiedName;
-		this.firePropertyChanged(SUPERCLASS_QUALIFIED_NAME_PROPERTY, old, astSuperclassQualifiedName);
-	}
-
-	private String buildSuperclassQualifiedName(ITypeBinding binding) {
-		if (binding == null) {
-			return null;
-		}
-		ITypeBinding superclass = binding.getSuperclass();
-		return (superclass == null) ? null : superclass.getTypeDeclaration().getQualifiedName();
-	}
-
-	// ***** abstract
-	public boolean isAbstract() {
-		return this.abstract_;
-	}
-
-	private void syncAbstract(boolean astAbstract) {
-		boolean old = this.abstract_;
-		this.abstract_ = astAbstract;
-		this.firePropertyChanged(ABSTRACT_PROPERTY, old, astAbstract);
-	}
-
-	private boolean buildAbstract(ITypeBinding binding) {
-		return (binding == null) ? false : Modifier.isAbstract(binding.getModifiers());
-	}
-
-	// ***** no-arg constructor
-	public boolean hasNoArgConstructor() {
-		return this.hasNoArgConstructor;
-	}
-
-	private void syncHasNoArgConstructor(boolean hasNoArgConstructor) {
-		boolean old = this.hasNoArgConstructor;
-		this.hasNoArgConstructor = hasNoArgConstructor;
-		this.firePropertyChanged(NO_ARG_CONSTRUCTOR_PROPERTY, old, hasNoArgConstructor);
-	}
-
-	private boolean buildHasNoArgConstructor(ITypeBinding binding) {
-		return (binding == null) ? false : typeHasNoArgConstructor(binding);
-	}
-
-	protected static boolean typeHasNoArgConstructor(ITypeBinding binding) {
-		return findNoArgConstructor(binding) != null;
-	}
-	
-	protected static IMethodBinding findNoArgConstructor(ITypeBinding binding) {
-		for (IMethodBinding method : binding.getDeclaredMethods()) {
-			if (method.isConstructor()) {
-				if (method.getParameterTypes().length == 0) {
-					return method;
-				}
-			}
-		}
-		return null;
-	}
-
-	// ***** private no-arg constructor
-	public boolean hasPrivateNoArgConstructor() {
-		return this.hasPrivateNoArgConstructor;
-	}
-
-	private void syncHasPrivateNoArgConstructor(boolean astHasPrivateNoArgConstructor) {
-		boolean old = this.hasPrivateNoArgConstructor;
-		this.hasPrivateNoArgConstructor = astHasPrivateNoArgConstructor;
-		this.firePropertyChanged(PRIVATE_NO_ARG_CONSTRUCTOR_PROPERTY, old, astHasPrivateNoArgConstructor);
-	}
-
-	private boolean buildHasPrivateNoArgConstructor(ITypeBinding binding) {
-		return (binding == null) ? false : typeHasPrivateNoArgConstructor(binding);
-	}
-
-	protected static boolean typeHasPrivateNoArgConstructor(ITypeBinding binding) {
-		IMethodBinding method = findNoArgConstructor(binding);
-		return (method != null) && Modifier.isPrivate(method.getModifiers());
-	}
-	
-	
-	// ***** public/protected no-arg constructor *****
-	
-	public boolean hasPublicOrProtectedNoArgConstructor() {
-		Iterable<JavaResourceMethod> constructors = getConstructors();
-		if (CollectionTools.size(constructors) == 0) {
-			return true;
-		}
-		for (JavaResourceMethod constructor : constructors) {
-			if (constructor.getParametersSize() == 0) {
-				return Modifier.isPublic(constructor.getModifiers())
-						|| Modifier.isProtected(constructor.getModifiers());
-			}
-		}
-		return false;
-	}
-	
-	public boolean hasPublicNoArgConstructor() {
-		Iterable<JavaResourceMethod> constructors = this.getConstructors();
-		if (CollectionTools.size(constructors) == 0) {
-			return true;
-		}
-		for (JavaResourceMethod constructor : constructors) {
-			if (constructor.getParametersSize() == 0) {
-				return Modifier.isPublic(constructor.getModifiers());
-			}
-		}
-		return false;
-	}
-
-	protected Iterable<JavaResourceMethod> getConstructors() {
-		return new FilteringIterable<JavaResourceMethod>(this.getMethods()) {
-			@Override
-			protected boolean accept(JavaResourceMethod method) {
-				return method.isConstructor();
-			}
-		};
-	}
-	
-
-	// ********** types **********
-
-	public Iterable<JavaResourceType> getTypes() {
-		return new LiveCloneIterable<JavaResourceType>(this.types);  // read-only
-	}
-
-	public Iterable<JavaResourceType> getAllTypes() {
-		return new TreeIterable<JavaResourceType>(this) {
-			@Override
-			protected Iterator<? extends JavaResourceType> children(JavaResourceType type) {
-				return type.getTypes().iterator();
-			}
-		};
-	}
-
-	private JavaResourceType getType(String typeName, int occurrence) {
-		for (JavaResourceType type : this.getTypes()) {
-			if (type.isFor(typeName, occurrence)) {
-				return type;
-			}
-		}
-		return null;
-	}
-
-	private void addType(JavaResourceType type) {
-		this.addItemToCollection(type, this.types, TYPES_COLLECTION);
-	}
-
-	private void removeTypes(Collection<JavaResourceType> remove) {
-		this.removeItemsFromCollection(remove, this.types, TYPES_COLLECTION);
-	}
-
-	private void initializeTypes(CompilationUnit astRoot) {
-		TypeDeclaration[] typeDeclarations = this.annotatedElement.getTypes(astRoot);
-		CounterMap counters = new CounterMap(typeDeclarations.length);
-		for (TypeDeclaration td : typeDeclarations) {
-			String tdName = td.getName().getFullyQualifiedName();
-			int occurrence = counters.increment(tdName);
-			this.types.add(this.buildType(td, occurrence, astRoot));
-		}
-	}
-
-	private void syncTypes(CompilationUnit astRoot) {
-		TypeDeclaration[] typeDeclarations = this.annotatedElement.getTypes(astRoot);
-		CounterMap counters = new CounterMap(typeDeclarations.length);
-		HashSet<JavaResourceType> typesToRemove = new HashSet<JavaResourceType>(this.types);
-		for (TypeDeclaration typeDeclaration : typeDeclarations) {
-			String tdName = typeDeclaration.getName().getFullyQualifiedName();
-			int occurrence = counters.increment(tdName);
-
-			JavaResourceType type = this.getType(tdName, occurrence);
-			if (type == null) {
-				this.addType(this.buildType(typeDeclaration, occurrence, astRoot));
-			} else {
-				typesToRemove.remove(type);
-				type.synchronizeWith(astRoot);
-			}
-		}
-		this.removeTypes(typesToRemove);
-	}
-
-	private JavaResourceType buildType(TypeDeclaration nestedTypeDeclaration, int occurrence, CompilationUnit astRoot) {
-		return newInstance(this.getJavaResourceCompilationUnit(), this.annotatedElement, nestedTypeDeclaration, occurrence, astRoot);
-	}
-
-
-	// ********** enums **********
-
-	public Iterable<JavaResourceEnum> getEnums() {
-		return new LiveCloneIterable<JavaResourceEnum>(this.enums);  // read-only
-	}
-
-	public Iterable<JavaResourceEnum> getAllEnums() {
-		return this.getEnums();
-	}
-
-	private JavaResourceEnum getEnum(String enumName, int occurrence) {
-		for (JavaResourceEnum enum_ : this.getEnums()) {
-			if (enum_.isFor(enumName, occurrence)) {
-				return enum_;
-			}
-		}
-		return null;
-	}
-
-	private void addEnum(JavaResourceEnum enum_) {
-		this.addItemToCollection(enum_, this.enums, ENUMS_COLLECTION);
-	}
-
-	private void removeEnums(Collection<JavaResourceEnum> remove) {
-		this.removeItemsFromCollection(remove, this.enums, ENUMS_COLLECTION);
-	}
-
-	private void initializeEnums(CompilationUnit astRoot) {
-		EnumDeclaration[] enumDeclarations = this.annotatedElement.getEnums(astRoot);
-		CounterMap counters = new CounterMap(enumDeclarations.length);
-		for (EnumDeclaration ed : enumDeclarations) {
-			String tdName = ed.getName().getFullyQualifiedName();
-			int occurrence = counters.increment(tdName);
-			this.enums.add(this.buildEnum(ed, occurrence, astRoot));
-		}
-	}
-
-	private void syncEnums(CompilationUnit astRoot) {
-		EnumDeclaration[] enumDeclarations = this.annotatedElement.getEnums(astRoot);
-		CounterMap counters = new CounterMap(enumDeclarations.length);
-		HashSet<JavaResourceEnum> enumsToRemove = new HashSet<JavaResourceEnum>(this.enums);
-		for (EnumDeclaration enumDeclaration : enumDeclarations) {
-			String tdName = enumDeclaration.getName().getFullyQualifiedName();
-			int occurrence = counters.increment(tdName);
-
-			JavaResourceEnum enum_ = this.getEnum(tdName, occurrence);
-			if (enum_ == null) {
-				this.addEnum(this.buildEnum(enumDeclaration, occurrence, astRoot));
-			} else {
-				enumsToRemove.remove(enum_);
-				enum_.synchronizeWith(astRoot);
-			}
-		}
-		this.removeEnums(enumsToRemove);
-	}
-
-	private JavaResourceEnum buildEnum(EnumDeclaration nestedEnumDeclaration, int occurrence, CompilationUnit astRoot) {
-		return SourceEnum.newInstance(this.getJavaResourceCompilationUnit(), this.annotatedElement, nestedEnumDeclaration, occurrence, astRoot);
-	}
-
-
-	// ********** fields **********
-
-	public Iterable<JavaResourceField> getFields() {
-		return new LiveCloneIterable<JavaResourceField>(this.fields);
-	}
-
-	private void addField(JavaResourceField field) {
-		this.addItemToCollection(field, this.fields, FIELDS_COLLECTION);
-	}
-
-	private JavaResourceField getField(String fieldName, int occurrence) {
-		for (JavaResourceField field : this.getFields()) {
-			if (field.isFor(fieldName, occurrence)) {
-				return field;
-			}
-		}
-		return null;
-	}
-
-	private void removeFields(Collection<JavaResourceField> remove) {
-		this.removeItemsFromCollection(remove, this.fields, FIELDS_COLLECTION);
-	}
-
-	private void initializeFields(CompilationUnit astRoot) {
-		FieldDeclaration[] fieldDeclarations = this.annotatedElement.getFields(astRoot);
-		CounterMap counters = new CounterMap(fieldDeclarations.length);
-		for (FieldDeclaration fieldDeclaration : fieldDeclarations) {
-			for (VariableDeclarationFragment fragment : fragments(fieldDeclaration)) {
-				String fieldName = fragment.getName().getFullyQualifiedName();
-				int occurrence = counters.increment(fieldName);
-				this.fields.add(this.buildField(fieldName, occurrence, astRoot));
-			}
-		}
-	}
-
-	private void syncFields(CompilationUnit astRoot) {
-		FieldDeclaration[] fieldDeclarations = this.annotatedElement.getFields(astRoot);
-		CounterMap counters = new CounterMap(fieldDeclarations.length);
-		HashSet<JavaResourceField> fieldsToRemove = new HashSet<JavaResourceField>(this.fields);
-		for (FieldDeclaration fieldDeclaration : fieldDeclarations) {
-			for (VariableDeclarationFragment fragment : fragments(fieldDeclaration)) {
-				String fieldName = fragment.getName().getFullyQualifiedName();
-				int occurrence = counters.increment(fieldName);
-
-				JavaResourceField field = this.getField(fieldName, occurrence);
-				if (field == null) {
-					this.addField(this.buildField(fieldName, occurrence, astRoot));
-				} else {
-					fieldsToRemove.remove(field);
-					field.synchronizeWith(astRoot);
-				}
-			}
-		}
-		this.removeFields(fieldsToRemove);
-	}
-
-	private JavaResourceField buildField(String fieldName, int occurrence, CompilationUnit astRoot) {
-		return SourceField.newInstance(this, this.annotatedElement, fieldName, occurrence, this.getJavaResourceCompilationUnit(), astRoot);
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private static List<VariableDeclarationFragment> fragments(FieldDeclaration fd) {
-		return fd.fragments();
-	}
-
-
-	// ********** methods **********
-
-	public Iterable<JavaResourceMethod> getMethods() {
-		return new LiveCloneIterable<JavaResourceMethod>(this.methods);
-	}
-
-	private JavaResourceMethod getMethod(MethodSignature signature, int occurrence) {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (method.isFor(signature, occurrence)) {
-				return method;
-			}
-		}
-		return null;
-	}
-
-	private void addMethod(JavaResourceMethod method) {
-		this.addItemToCollection(method, this.methods, METHODS_COLLECTION);
-	}
-
-	private void removeMethods(Collection<JavaResourceMethod> remove) {
-		this.removeItemsFromCollection(remove, this.methods, METHODS_COLLECTION);
-	}
-
-	private void initializeMethods(CompilationUnit astRoot) {
-		MethodDeclaration[] methodDeclarations = this.annotatedElement.getMethods(astRoot);
-		CounterMap counters = new CounterMap(methodDeclarations.length);
-		for (MethodDeclaration methodDeclaration : methodDeclarations) {
-			MethodSignature signature = ASTTools.buildMethodSignature(methodDeclaration);
-			int occurrence = counters.increment(signature);
-			this.methods.add(this.buildMethod(signature, occurrence, astRoot));
-		}
-	}
-
-	private void syncMethods(CompilationUnit astRoot) {
-		MethodDeclaration[] methodDeclarations = this.annotatedElement.getMethods(astRoot);
-		CounterMap counters = new CounterMap(methodDeclarations.length);
-		HashSet<JavaResourceMethod> methodsToRemove = new HashSet<JavaResourceMethod>(this.methods);
-		for (MethodDeclaration methodDeclaration : methodDeclarations) {
-			MethodSignature signature = ASTTools.buildMethodSignature(methodDeclaration);
-			int occurrence = counters.increment(signature);
-
-			JavaResourceMethod method = this.getMethod(signature, occurrence);
-			if (method == null) {
-				this.addMethod(this.buildMethod(signature, occurrence, astRoot));
-			} else {
-				methodsToRemove.remove(method);
-				method.synchronizeWith(astRoot);
-			}
-		}
-		this.removeMethods(methodsToRemove);
-	}
-
-	private JavaResourceMethod buildMethod(MethodSignature signature, int occurrence, CompilationUnit astRoot) {
-		return SourceMethod.newInstance(this, this.annotatedElement, signature, occurrence, this.getJavaResourceCompilationUnit(), astRoot);
-	}
-
-
-	public boolean hasAnyAnnotatedFields() {
-		for (JavaResourceField field : this.getFields()) {
-			if (field.isAnnotated()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public boolean hasAnyAnnotatedMethods() {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (method.isAnnotated()) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	// Two more requirements for a valid equals() method:
-	// 1. It should be public 
-	// 2. The return type should be boolean
-	// Both requirements are validated by the compiler so they are excluded here
-	public boolean hasEqualsMethod() {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (StringTools.stringsAreEqual(method.getMethodName(), "equals") //$NON-NLS-1$
-					&& method.getParametersSize() == 1
-					&& StringTools.stringsAreEqual(method.getParameterTypeName(0), Object.class.getName())) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	// Two more requirements for a valid hashCode() method:
-	// 1. It should be public 
-	// 2. The return type should be int
-	// Both requirements are validated by the compiler so they are excluded here
-	public boolean hasHashCodeMethod() {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (StringTools.stringsAreEqual(method.getMethodName(), "hashCode") //$NON-NLS-1$
-					&& method.getParametersSize() == 0) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	public JavaResourceMethod getMethod(String propertyName) {
-		for (JavaResourceMethod method : this.getMethods()) {
-			if (StringTools.stringsAreEqual(method.getMethodName(), propertyName)) {
-				return method;
-			}
-		}
-		return null;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceTypeCompilationUnit.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceTypeCompilationUnit.java
deleted file mode 100644
index bf5333f..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/resource/java/source/SourceTypeCompilationUnit.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.resource.java.source;
-
-import java.util.List;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.JptResourceType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-
-/**
- * Java compilation unit (source file)
- * non package-info.java file
- */
-public final class SourceTypeCompilationUnit
-	extends SourceCompilationUnit
-{
-
-	/**
-	 * The primary type of the AST compilation unit. We are not going to handle
-	 * multiple types defined in a single compilation unit. Entities must have
-	 * a public/protected no-arg constructor, and there is no way to access
-	 * the constructor in a package class (which is what all top-level,
-	 * non-primary classes must be).
-	 */
-	private JavaResourceAbstractType primaryType;	
-
-
-	// ********** construction **********
-
-	public SourceTypeCompilationUnit(
-			ICompilationUnit compilationUnit,
-			AnnotationProvider annotationProvider, 
-			AnnotationEditFormatter annotationEditFormatter,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		super(compilationUnit, annotationProvider, annotationEditFormatter, modifySharedDocumentCommandExecutor);  // the compilation unit is the root of its sub-tree
-		this.primaryType = this.buildPrimaryType();
-	}
-
-	private JavaResourceAbstractType buildPrimaryType() {
-		this.openCompilationUnit();
-		CompilationUnit astRoot = this.buildASTRoot();
-		this.closeCompilationUnit();
-		return this.buildPrimaryType(astRoot);
-	}
-
-
-	// ********** JavaResourceNode implementation **********
-
-	public void synchronizeWith(CompilationUnit astRoot) {
-		this.syncPrimaryType(astRoot);
-	}
-
-
-	// ********** JavaResourceNode.Root implementation **********
-
-	/**
-	 * NB: return *all* the types since we build them all
-	 */
-	public Iterable<JavaResourceAbstractType> getTypes() {
-		return (this.primaryType == null) ?
-				EmptyIterable.<JavaResourceAbstractType>instance() :
-				new CompositeIterable<JavaResourceAbstractType>(this.primaryType.getAllTypes(), this.primaryType.getAllEnums());
-	}
-	
-	
-	// ********** JpaResourceModel implementation **********
-	
-	public JptResourceType getResourceType() {
-		return JptCommonCorePlugin.JAVA_SOURCE_RESOURCE_TYPE;
-	}
-
-
-	// ********** JavaResourceCompilationUnit implementation **********
-
-	public void resolveTypes() {
-		if (this.primaryType != null) {
-			this.primaryType.resolveTypes(this.buildASTRoot());
-		}
-	}
-
-
-	// ********** type **********
-
-	public JavaResourceAbstractType getPrimaryType() {
-		return this.primaryType;
-	}
-
-	private JavaResourceAbstractType buildPrimaryType(CompilationUnit astRoot) {
-		AbstractTypeDeclaration td = this.getPrimaryTypeOrEnumDeclaration(astRoot);
-		return (td == null) ? null : this.buildPrimaryType(astRoot, td);
-	}
-
-
-	private void syncPrimaryType(CompilationUnit astRoot) {
-		AbstractTypeDeclaration td = this.getPrimaryTypeOrEnumDeclaration(astRoot);
-		if (td == null) {
-			this.syncPrimaryType_(null);
-		} else {
-			if (this.primaryType == null || (!typeMatchesASTNodeType(this.primaryType, td))) {
-				this.syncPrimaryType_(this.buildPrimaryType(astRoot, td));
-			} else {
-				this.primaryType.synchronizeWith(astRoot);
-			}
-		}
-	}
-
-	/**
-	 * Must be non-null JavaResourceAbstractType and AbstractTypeDeclaration
-	 */
-	protected static boolean typeMatchesASTNodeType(JavaResourceAbstractType type, AbstractTypeDeclaration astType) {
-		return type.getKind().getAstNodeType() == astType.getNodeType();
-	}
-
-	private void syncPrimaryType_(JavaResourceAbstractType astType) {
-		JavaResourceAbstractType old = this.primaryType;
-		this.primaryType = astType;
-		this.firePropertyChanged(TYPES_COLLECTION, old, astType);
-	}
-
-
-	// ********** internal **********
-
-	private JavaResourceAbstractType buildPrimaryType(CompilationUnit astRoot, AbstractTypeDeclaration typeDeclaration) {
-		if (typeDeclaration.getNodeType() == ASTNode.TYPE_DECLARATION) {
-			return SourceType.newInstance(this, (TypeDeclaration) typeDeclaration, astRoot);
-		}
-		else if (typeDeclaration.getNodeType() == ASTNode.ENUM_DECLARATION) {
-			return SourceEnum.newInstance(this, (EnumDeclaration) typeDeclaration, astRoot);
-		}
-		throw new IllegalArgumentException();
-	}
-
-	/**
-	 * i.e. the type with the same name as the compilation unit;
-	 * return the first class, interface or enum (ignore annotations) with
-	 * the same name as the compilation unit (file);
-	 * NB: this type could be in error if there is an annotation
-	 * with the same name preceding it in the compilation unit
-	 * 
-	 * Return null if the parser did not resolve the type declaration's binding.
-	 * This can occur if the project JRE is removed (bug 225332).
-	 */
-	private AbstractTypeDeclaration getPrimaryTypeOrEnumDeclaration(CompilationUnit astRoot) {
-		String primaryTypeName = this.getPrimaryTypeName();
-		for (AbstractTypeDeclaration atd : this.types(astRoot)) {
-			if (this.nodeIsPrimaryTypeOrEnumDeclaration(atd, primaryTypeName)) {
-				return (atd.resolveBinding() == null) ? null : atd;
-			}
-		}
-		return null;
-	}
-
-	private boolean nodeIsPrimaryTypeOrEnumDeclaration(AbstractTypeDeclaration atd, String primaryTypeName) {
-		return this.nodeIsTypeOrEnumDeclaration(atd) && 
-				(atd.getName().getFullyQualifiedName().equals(primaryTypeName));
-	}
-
-	private boolean nodeIsTypeOrEnumDeclaration(AbstractTypeDeclaration atd) {
-		return atd.getNodeType() == ASTNode.TYPE_DECLARATION ||
-				atd.getNodeType() == ASTNode.ENUM_DECLARATION;
-	}
-
-	private String getPrimaryTypeName() {
-		return this.getCompilationUnitName();
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private List<AbstractTypeDeclaration> types(CompilationUnit astRoot) {
-		return astRoot.types();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/CallbackJobSynchronizer.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/CallbackJobSynchronizer.java
deleted file mode 100644
index 947d027..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/CallbackJobSynchronizer.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.internal.ListenerList;
-import org.eclipse.jpt.common.utility.synchronizers.CallbackSynchronizer;
-
-/**
- * Extend the job synchronizer to notify listeners
- * when a synchronization "cycle" is complete; i.e. the synchronization has,
- * for the moment, handled every "synchronize" request and quiesced.
- * This notification is <em>not</em> guaranteed to occur with <em>every</em>
- * synchronization "cycle";
- * since other, unrelated, synchronizations can be triggered concurrently;
- * preventing the synchronization from quiescing.
- */
-public class CallbackJobSynchronizer
-	extends JobSynchronizer
-	implements CallbackSynchronizer
-{
-	private final ListenerList<Listener> listenerList = new ListenerList<Listener>(Listener.class);
-
-
-	// ********** construction **********
-
-	/**
-	 * Construct a callback job synchronizer that uses the specified job command to
-	 * perform the synchronization. Assign the generated Eclipse job the
-	 * specified name.
-	 */
-	public CallbackJobSynchronizer(String jobName, JobCommand command) {
-		super(jobName, command);
-	}
-
-	/**
-	 * Construct a callback job synchronizer that uses the specified job command to
-	 * perform the synchronization. Assign the generated Eclipse job the
-	 * specified name and scheduling rule.
-	 */
-	public CallbackJobSynchronizer(String jobName, JobCommand command, ISchedulingRule schedulingRule) {
-		super(jobName, command, schedulingRule);
-	}
-
-	/**
-	 * Build a job that will let us know when the synchronization has
-	 * quiesced.
-	 */
-	@Override
-	SynchronizationJob buildJob(String jobName, JobCommand command, ISchedulingRule schedulingRule) {
-		return new CallbackSynchronizationJob(jobName, command, schedulingRule);
-	}
-
-
-	// ********** CallbackSynchronizer implementation **********
-
-	public void addListener(Listener listener) {
-		this.listenerList.add(listener);
-	}
-
-	public void removeListener(Listener listener) {
-		this.listenerList.remove(listener);
-	}
-
-	/**
-	 * Notify our listeners.
-	 */
-	void synchronizationQuiesced() {
-		for (Listener listener : this.listenerList.getListeners()) {
-			listener.synchronizationQuiesced(this);
-		}
-	}
-
-
-	// ********** synchronization job **********
-
-	/**
-	 * Extend {@link JobSynchronizer.SynchronizationJob}
-	 * to notify the synchronizer when the synchronization has quiesced
-	 * (i.e. the command has finished executing and there are no further
-	 * requests for synchronization).
-	 * Because synchronization occurs during the job's execution,
-	 * no other thread will be able to
-	 * initiate another synchronization until the synchronizer's listeners have been
-	 * notified. Note also, the synchronizer's listeners can, themselves,
-	 * trigger another synchronization (by directly or indirectly calling
-	 * {@link org.eclipse.jpt.common.utility.synchronizers.Synchronizer#synchronize()});
-	 * but this synchronization will not occur until <em>after</em> all the
-	 * listeners have been notified.
-	 */
-	class CallbackSynchronizationJob
-		extends SynchronizationJob
-	{
-		/**
-		 * When this flag is set to true, the job has been scheduled to run.
-		 * We need this because {@link org.eclipse.core.runtime.jobs.Job Job}
-		 * has no public API for discovering whether a job is "scheduled".
-		 */
-		// use 'volatile' because synchronization isn't really required
-		private volatile boolean scheduled;
-
-
-		CallbackSynchronizationJob(String jobName, JobCommand command, ISchedulingRule schedulingRule) {
-			super(jobName, command, schedulingRule);
-			this.scheduled = false;
-		}
-
-		/**
-		 * If we are allowing the job to be scheduled (i.e. {@link #start()}
-		 * was called), set the "scheduled" flag.
-		 */
-		@Override
-		void synchronize() {
-			if (this.shouldSchedule) {
-				this.scheduled = true;
-			}
-			super.synchronize();
-		}
-
-		/**
-		 * Clear the "scheduled" flag; perform the synchronization; and,
-		 * if the "scheduled" flag is still clear (i.e. there have been no
-		 * further calls to {@link #synchronize()}), notify our listeners.
-		 */
-		@Override
-		protected IStatus run(IProgressMonitor monitor) {
-			this.scheduled = false;
-			IStatus status = super.run(monitor);
-			// hmmm - we will notify listeners even when we our job is "stopped";
-			// that seems ok...  ~bjv
-			if ( ! this.scheduled) {
-				CallbackJobSynchronizer.this.synchronizationQuiesced();
-			}
-			return status;
-		}
-
-		@Override
-		void stop() {
-			this.scheduled = false;
-			super.stop();
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/ICUStringCollator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/ICUStringCollator.java
deleted file mode 100644
index 555fa43..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/ICUStringCollator.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility;
-
-import java.util.Comparator;
-import java.util.Locale;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import com.ibm.icu.text.Collator;
-
-/**
- * This collator simply wraps an ICU4J collator and implements a
- * {@link String} {@link Comparator} (instead of an {@link Object}
- * {@link Comparator}, which is what {@link Collator} does, mimicking the
- * JDK(?)).
- * 
- * @see Collator
- */
-public class ICUStringCollator
-	implements Comparator<String>
-{
-	private final Collator collator;
-
-
-	/**
-	 * Wrap the default collator.
-	 * @see Collator#getInstance()
-	 */
-	public ICUStringCollator() {
-		this(Collator.getInstance());
-	}
-
-	/**
-	 * Wrap the collator for the specified locale.
-	 * @see Collator#getInstance(Locale)
-	 */
-	public ICUStringCollator(Locale locale) {
-		this(Collator.getInstance(locale));
-	}
-
-	/**
-	 * Wrap the specified collator.
-	 */
-	public ICUStringCollator(Collator collator) {
-		super();
-		this.collator = collator;
-	}
-
-	public int compare(String string1, String string2) {
-		return this.collator.compare(string1, string2);
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.collator);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JDTTools.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JDTTools.java
deleted file mode 100644
index 1b9c862..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JDTTools.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility;
-
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IParent;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.utility.Filter;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.ClassName;
-import org.eclipse.jpt.common.utility.internal.NotNullFilter;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.SingleElementIterable;
-
-/**
- * Convenience methods for dealing with JDT core
- */
-public final class JDTTools {
-
-	/**
-	 * Wrap checked exception.
-	 */
-	public static boolean packageFragmentRootIsSourceFolder(IPackageFragmentRoot pfr) {
-		try {
-			return packageFragmentRootIsSourceFolder_(pfr);
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	static boolean packageFragmentRootIsSourceFolder_(IPackageFragmentRoot pfr) throws JavaModelException {
-		return pfr.exists() && (pfr.getKind() == IPackageFragmentRoot.K_SOURCE);
-	}
-
-	/**
-	 * Wrap checked exception and check for out of sync workspace.
-	 */
-	public static IJavaElement[] getChildren(IParent parent) {
-		try {
-			return parent.getChildren();
-		} catch (JavaModelException ex) {
-			// ignore FNFE - which can happen when the workspace is out of sync with O/S file system
-			if ( ! (ex.getCause() instanceof FileNotFoundException)) {
-				JptCommonCorePlugin.log(ex);
-			}
-			return EMPTY_JAVA_ELEMENT_ARRAY;
-		}
-	}
-
-	private static final IJavaElement[] EMPTY_JAVA_ELEMENT_ARRAY = new IJavaElement[0];
-
-	/**
-	 * Climb the specified type's inheritance hierarchy looking for the specified interface.
-	 */
-	public static boolean typeIsSubType(IJavaProject javaProject, String potentialSubType, String potentialSuperType) {
-		try {
-			return typeIsSubType(javaProject, javaProject.findType(potentialSubType), javaProject.findType(potentialSuperType));
-		}
-		catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	public static boolean typeIsSubType(IJavaProject javaProject, IType potentialSubType, String potentialSuperType) {
-		try {
-			return typeIsSubType_(javaProject, potentialSubType, potentialSuperType);
-		}
-		catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	private static boolean typeIsSubType_(IJavaProject javaProject, IType potentialSubType, String potentialSuperType) throws JavaModelException {
-		return typeIsSubType(javaProject, potentialSubType, javaProject.findType(potentialSuperType));
-	}
-
-	private static boolean typeIsSubType(IJavaProject javaProject, IType potentialSubType, IType potentialSuperType) throws JavaModelException {
-		if ((potentialSubType == null) || (potentialSuperType == null)) {
-			return false;
-		}
-		
-		// short cut if types are the same
-		if (potentialSubType.equals(potentialSuperType)) {
-			return true;
-		}
-		
-		// short cut if potential supertype is java.lang.Object
-		if (javaProject.findType(Object.class.getName()).equals(potentialSuperType)) {
-			return true;
-		}
-		
-		String potentialSuperTypeName = potentialSuperType.getFullyQualifiedName();
-		
-		for (String superTypeName : getResolvedSuperTypeNames(potentialSubType)) {
-			if (superTypeName.equals(potentialSuperTypeName)) {
-				return true;
-			}
-			
-			// recurse into super type
-			if (typeIsSubType(javaProject, javaProject.findType(superTypeName), potentialSuperType)) {
-				return true;
-			}
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Return the names of the specified type's supertypes (class and interfaces).
-	 * This is necessary because, for whatever reason, { @link IType#getSuperInterfaceNames()}
-	 * {@link IType#getSuperclassName()} return unqualified names when the type is from Java source.
-	 */
-	private static Iterable<String> getResolvedSuperTypeNames(IType type) throws JavaModelException {
-		Iterable<String> nonResolvedSuperTypeNames = getNonResolvedSuperTypeNames(type);
-		if (type.isBinary()) {
-			// if type is binary, the types are already resolved
-			return nonResolvedSuperTypeNames;
-		}
-		ArrayList<String> resolvedSuperTypeNames = new ArrayList<String>();
-		for (String superTypeName : nonResolvedSuperTypeNames) {
-			resolvedSuperTypeNames.add(resolveType(type, superTypeName));
-		}
-		return resolvedSuperTypeNames;
-	}
-	
-	/**
-	 * Return the (potentially) non-resolved names of the specified type's supertypes (class and interfaces).
-	 * This is necessary because, for whatever reason, { @link IType#getSuperInterfaceNames()} and
-	 * {@link IType#getSuperclassName()} return unqualified names when the type is from Java source.
-	 */
-	private static Iterable<String> getNonResolvedSuperTypeNames(IType type) throws JavaModelException {
-		return new CompositeIterable<String>(
-					new FilteringIterable<String>(
-							new SingleElementIterable<String>(type.getSuperclassName()),
-							NotNullFilter.<String>instance()),
-					new ArrayIterable<String>(type.getSuperInterfaceNames()));
-	}
-
-	/**
-	 * Just grab the first candidate type.
-	 */
-	private static String resolveType(IType type, String className) throws JavaModelException {
-		String[][] resolvedClassNames = type.resolveType(className);
-		if (resolvedClassNames == null) {
-			return null;
-		}
-		String pkg = resolvedClassNames[0][0];
-		String cls = resolvedClassNames[0][1];
-		// check for default package
-		return (pkg.length() == 0) ? cls : (pkg + '.' + cls);
-	}
-
-	public static IType findType(IJavaProject javaProject, String fullyQualifiedName) {
-		try {
-			return javaProject.findType(fullyQualifiedName);
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return null;
-		}
-	}
-
-	public static Iterable<IPackageFragmentRoot> getJavaSourceFolders(IJavaProject javaProject) {
-		return new FilteringIterable<IPackageFragmentRoot>(
-				getPackageFragmentRoots(javaProject),
-				SOURCE_PACKAGE_FRAGMENT_ROOT_FILTER
-			);
-	}
-
-	private static final Filter<IPackageFragmentRoot> SOURCE_PACKAGE_FRAGMENT_ROOT_FILTER =
-		new Filter<IPackageFragmentRoot>() {
-			public boolean accept(IPackageFragmentRoot pfr) {
-				return packageFragmentRootIsSourceFolder(pfr);
-			}
-		};
-
-	private static Iterable<IPackageFragmentRoot> getPackageFragmentRoots(IJavaProject javaProject) {
-		try {
-			return getPackageFragmentRoots_(javaProject);
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return EmptyIterable.instance();
-		}
-	}
-
-	private static Iterable<IPackageFragmentRoot> getPackageFragmentRoots_(IJavaProject javaProject) throws JavaModelException {
-		return new ArrayIterable<IPackageFragmentRoot>(javaProject.getPackageFragmentRoots());
-	}
-
-	/**
-	 * Return whether the specified type is "basic".
-	 * @param fullyQualifiedName may include array brackets but not generic type arguments
-	 */
-	public static boolean typeIsBasic(IJavaProject javaProject, String fullyQualifiedName) {
-		try {
-			return typeIsBasic(javaProject, javaProject.findType(fullyQualifiedName));
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-			return false;
-		}
-	}
-
-	private static boolean typeIsBasic(IJavaProject javaProject, IType type) throws JavaModelException {
-		if (type == null) {
-			return false;
-		}
-		String fullyQualifiedName = type.getFullyQualifiedName();
-
-		if (fullyQualifiedName == null) {
-			return false;
-		}
-
-		int arrayDepth = ReflectionTools.getArrayDepthForTypeDeclaration(fullyQualifiedName);
-		if (arrayDepth > 1) {
-			return false;  // multi-dimensional arrays are not supported
-		}
-
-		if (arrayDepth == 1) {
-			String elementTypeName = ReflectionTools.getElementTypeNameForTypeDeclaration(fullyQualifiedName, 1);
-			return elementTypeIsValidForBasicArray(elementTypeName);
-		}
-
-		// arrayDepth == 0
-		if (ClassName.isVariablePrimitive(fullyQualifiedName)) {
-			return true;  // any primitive but 'void'
-		}
-		if (ClassName.isVariablePrimitiveWrapper(fullyQualifiedName)) {
-			return true;  // any primitive wrapper but 'java.lang.Void'
-		}
-		if (typeIsOtherValidBasicType(fullyQualifiedName)) {
-			return true;
-		}
-		if (typeIsSubType_(javaProject, type, SERIALIZABLE_CLASS_NAME)) {
-			return true;
-		}
-		if (type.isEnum()) {
-			return true;
-		}
-		return false;	
-	}
-
-	public static final String SERIALIZABLE_CLASS_NAME = java.io.Serializable.class.getName();
-
-	/**
-	 * Return whether the specified type is a valid element type for
-	 * a one-dimensional array that can default to a basic mapping:<ul>
-	 * <li><code>byte</code>
-	 * <li><code>java.lang.Byte</code>
-	 * <li><code>char</code>
-	 * <li><code>java.lang.Character</code>
-	 * </ul>
-	 */
-	public static boolean elementTypeIsValidForBasicArray(String elementTypeName) {
-		return ArrayTools.contains(VALID_BASIC_ARRAY_ELEMENT_TYPE_NAMES, elementTypeName);
-	}
-
-	private static final String[] VALID_BASIC_ARRAY_ELEMENT_TYPE_NAMES = {
-		byte.class.getName(),
-		char.class.getName(),
-		java.lang.Byte.class.getName(),
-		java.lang.Character.class.getName()
-	};
-
-	/**
-	 * Return whether the specified type is among the various "other" types
-	 * that can default to a basic mapping.
-	 */
-	public static boolean typeIsOtherValidBasicType(String typeName) {
-		return ArrayTools.contains(OTHER_VALID_BASIC_TYPE_NAMES, typeName);
-	}
-
-	private static final String[] OTHER_VALID_BASIC_TYPE_NAMES = {
-		java.lang.String.class.getName(),
-		java.math.BigInteger.class.getName(),
-		java.math.BigDecimal.class.getName(),
-		java.util.Date.class.getName(),
-		java.util.Calendar.class.getName(),
-		java.sql.Date.class.getName(),
-		java.sql.Time.class.getName(),
-		java.sql.Timestamp.class.getName(),
-	};
-	
-	public static boolean classHasPublicZeroArgConstructor(IJavaProject javaProject, String className) {
-		if (javaProject != null && className != null) {
-			IType type = findType(javaProject, className);
-			if (type != null) {
-				return typeHasPublicZeroArgConstructor(type);
-			}
-		}
-		return false;
-	}
-
-	public static boolean typeHasPublicZeroArgConstructor(IType type) {
-		boolean hasDefinedConstructor = false;
-		try {
-			for (IMethod method : type.getMethods()) {
-				if (method.isConstructor()) {
-					if ((method.getNumberOfParameters() == 0) && (Flags.isPublic(method.getFlags()))) {
-						return true;
-					}
-					hasDefinedConstructor = true;
-				}
-			}
-			//When there's no defined constructor, the default constructor is in place.
-			if (!hasDefinedConstructor) {
-				return true;
-			}
-		} catch (JavaModelException ex) {
-			JptCommonCorePlugin.log(ex);
-		}
-		return false;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JobSynchronizer.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JobSynchronizer.java
deleted file mode 100644
index 768e8e0..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/JobSynchronizer.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.synchronizers.Synchronizer;
-
-/**
- * This synchronizer will perform synchronizations in an Eclipse job on a
- * separate thread, allowing calls to {@link Synchronizer#synchronize()}
- * to return immediately.
- * <p>
- * If necessary, the client-supplied job command should handle any
- * exceptions appropriately. Although, the default exception-handling provided
- * by the Eclipse Job Framework is probably adequate in most cases:<ul>
- * <li>An {@link org.eclipse.core.runtime.OperationCanceledException OperationCanceledException}
- *     results in a {@link org.eclipse.core.runtime.Status#CANCEL_STATUS CANCEL_STATUS}.
- * <li>Any non-{@link ThreadDeath} {@link Throwable}
- *     results in a {@link org.eclipse.core.runtime.IStatus#ERROR ERROR}
- *     {@link org.eclipse.core.runtime.IStatus IStatus}
- * </ul>
- * @see org.eclipse.core.internal.jobs.Worker#run()
- */
-public class JobSynchronizer
-	implements Synchronizer
-{
-	/**
-	 * The synchronization is performed by this job. The same job is used
-	 * for every start/stop cycle (since a job can be re-started).
-	 */
-	private final SynchronizationJob job;
-
-
-	// ********** construction **********
-
-	/**
-	 * Construct a job synchronizer that uses the specified job command to
-	 * perform the synchronization. Assign the generated Eclipse job the
-	 * specified name.
-	 */
-	public JobSynchronizer(String jobName, JobCommand command) {
-		this(jobName, command, null);
-	}
-
-	/**
-	 * Construct a job synchronizer that uses the specified job command to
-	 * perform the synchronization. Assign the generated Eclipse job the
-	 * specified name and scheduling rule.
-	 */
-	public JobSynchronizer(String jobName, JobCommand command, ISchedulingRule schedulingRule) {
-		super();
-		this.job = this.buildJob(jobName, command, schedulingRule);
-	}
-
-	SynchronizationJob buildJob(String jobName, JobCommand command, ISchedulingRule schedulingRule) {
-		return new SynchronizationJob(jobName, command, schedulingRule);
-	}
-
-
-	// ********** Synchronizer implementation **********
-
-	/**
-	 * Allow the job to be scheduled, but postpone the first synchronization
-	 * until requested, via {@link #synchronize()}.
-	 */
-	public void start() {
-		this.job.start();
-	}
-
-	/**
-	 * "Schedule" the job.
-	 */
-	public void synchronize() {
-		this.job.synchronize();
-	}
-
-	/**
-	 * Wait for the current job execution to complete.
-	 */
-	public void stop() {
-		this.job.stop();
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.job);
-	}
-
-
-	// ********** synchronization job **********
-
-	/**
-	 * This is the job that gets scheduled by the job synchronizer.
-	 * When the job is run it executes the client-supplied job command.
-	 */
-	static class SynchronizationJob
-		extends Job
-	{
-		/**
-		 * The client-supplied job command that executes every time the job
-		 * runs.
-		 */
-		private final JobCommand command;
-
-		/**
-		 * When this flag is set to false, the job does not stop immediately;
-		 * but it will not be scheduled to run again.
-		 */
-		// use 'volatile' because synchronization isn't really required
-		volatile boolean shouldSchedule;
-
-
-		SynchronizationJob(String jobName, JobCommand command, ISchedulingRule schedulingRule) {
-			super(jobName);
-			if (command == null) {
-				throw new NullPointerException();
-			}
-			this.command = command;
-			this.shouldSchedule = false;
-			this.setRule(schedulingRule);
-		}
-
-		/**
-		 * Just set the "should schedule" flag so the job <em>can</em> be
-		 * scheduled; but don't actually schedule it.
-		 */
-		void start() {
-			if (this.shouldSchedule) {
-				throw new IllegalStateException("The Synchronizer was not stopped."); //$NON-NLS-1$
-			}
-			this.shouldSchedule = true;
-		}
-
-		/**
-		 * Simply re-schedule the job, allowing the current execution
-		 * to run to completion (i.e. do not try to cancel it prematurely).
-		 * This should minimize the number of times the job is re-executed
-		 * (recursively and otherwise).
-		 */
-		void synchronize() {
-			this.schedule();
-		}
-
-		/**
-		 * Any uncaught exceptions thrown by the command will be reasonably
-		 * handled by the Job Framework.
-		 * @see org.eclipse.core.internal.jobs.Worker#run()
-		 */
-		@Override
-		protected IStatus run(IProgressMonitor monitor) {
-			return this.command.execute(monitor);
-		}
-
-		/**
-		 * Prevent the job from running again and wait for the current
-		 * execution, if there is any, to end before returning.
-		 */
-		void stop() {
-			if ( ! this.shouldSchedule) {
-				throw new IllegalStateException("The Synchronizer was not started."); //$NON-NLS-1$
-			}
-			// this will prevent the job from being scheduled to run again
-			this.shouldSchedule = false;
-			// this will cancel the job if it has already been scheduled, but is currently WAITING
-			this.cancel();
-			try {
-				// if the job is currently RUNNING, wait until it is done before returning
-				this.join();
-			} catch (InterruptedException ex) {
-				// the thread that called #stop() was interrupted while waiting to
-				// join the synchronization job - ignore;
-				// 'shouldSchedule' is still set to 'false', so the job loop will still stop - we
-				// just won't wait around for it...
-			}
-		}
-
-		/**
-		 * This is part of the normal {@link Job} behavior. By default, it is
-		 * not used (i.e. it always returns <code>true</code>).
-		 * We implement it here.
-		 */
-		@Override
-		public boolean shouldSchedule() {
-			return this.shouldSchedule;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/PlatformTools.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/PlatformTools.java
deleted file mode 100644
index 462ccd1..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/PlatformTools.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility;
-
-import java.io.IOException;
-import java.io.InputStream;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-
-/**
- * A collection of utilities for dealing with the Eclipse platform API.
- */
-public class PlatformTools {
-	/**
-	 * Add some Generic Goodness to the method signature.
-	 * @see org.eclipse.core.runtime.IAdapterManager#getAdapter(Object, Class)
-	 */
-	@SuppressWarnings("unchecked")
-	public static <A> A getAdapter(Object o, Class<A> adapterType) {
-		return (A) Platform.getAdapterManager().getAdapter(o, adapterType);
-	}
-
-	/**
-	 * Return the {@link IContainer} with the workspace relative "full" path
-	 */
-	public static IContainer getContainer(IPath fullContainerPath) {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		// changed to handle non-workspace projects
-		String projectName = fullContainerPath.segment(0).toString();
-		IPath projectRelativePath = fullContainerPath.removeFirstSegments(1);
-		IProject project = root.getProject(projectName);
-		if (projectRelativePath.isEmpty()) {
-			return project;
-		}
-		return project.getFolder(projectRelativePath);
-	}
-	
-	/**
-	 * Return the {@link IFile} with the workspace relative "full" path
-	 */
-	public static IFile getFile(IPath fullFilePath) {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		// changed to handle non-workspace projects
-		String projectName = fullFilePath.segment(0).toString();
-		IPath projectRelativePath = fullFilePath.removeFirstSegments(1);
-		IProject project = root.getProject(projectName);
-		return project.getFile(projectRelativePath);
-	}
-	
-	/**
-	 * Return the specified file's content type,
-	 * using the Eclipse platform's content type manager.
-	 */
-	public static IContentType getContentType(IFile file) {
-		String fileName = file.getName();
-		InputStream fileContents = null;
-		try {
-			fileContents = file.getContents();
-		} catch (CoreException ex) {
-			// seems like we can ignore any exception that might occur here;
-			// e.g. we get a FNFE if the workspace is out of sync with the O/S file system
-			// JptCorePlugin.log(ex);
-
-			// look for content type based on the file name only(?)
-			return findContentTypeFor(fileName);
-		}
-
-		IContentType contentType = null;
-		try {
-			contentType = findContentTypeFor(fileContents, fileName);
-		} catch (IOException ex) {
-			JptCommonCorePlugin.log(ex);
-		} finally {
-			try {
-				fileContents.close();
-			} catch (IOException ex) {
-				JptCommonCorePlugin.log(ex);
-			}
-		}
-		return contentType;
-	}
-
-	private static IContentType findContentTypeFor(InputStream fileContents, String fileName) throws IOException {
-		return getContentTypeManager().findContentTypeFor(fileContents, fileName);
-	}
-
-	private static IContentType findContentTypeFor(String fileName) {
-		return getContentTypeManager().findContentTypeFor(fileName);
-	}
-
-	private static IContentTypeManager getContentTypeManager() {
-		return Platform.getContentTypeManager();
-	}
-
-	private PlatformTools() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/SimpleSchedulingRule.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/SimpleSchedulingRule.java
deleted file mode 100644
index ca5915a..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/SimpleSchedulingRule.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility;
-
-import java.io.Serializable;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * A job scheduling rule that conflicts only with itself.
- */
-public final class SimpleSchedulingRule
-	implements ISchedulingRule, Serializable
-{
-	private static final long serialVersionUID = 1L;
-
-	public SimpleSchedulingRule() {
-		super();
-	}
-
-	public boolean contains(ISchedulingRule rule) {
-		return rule == this;
-	}
-
-	public boolean isConflicting(ISchedulingRule rule) {
-		return rule == this;
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/SimpleTextRange.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/SimpleTextRange.java
deleted file mode 100644
index 2164e33..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/SimpleTextRange.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility;
-
-import org.eclipse.jpt.common.core.utility.AbstractTextRange;
-
-/**
- * Straightforward implementation of
- * {@link org.eclipse.jpt.common.core.utility.TextRange TextRange}.
- */
-public class SimpleTextRange
-	extends AbstractTextRange
-{
-	private final int offset;
-	private final int length;
-	private final int lineNumber;
-
-
-	public SimpleTextRange(int offset, int length, int lineNumber) {
-		super();
-		this.offset = offset;
-		this.length = length;
-		this.lineNumber = lineNumber;
-	}
-
-	public int getOffset() {
-		return this.offset;
-	}
-
-	public int getLength() {
-		return this.length;
-	}
-
-	public int getLineNumber() {
-		return this.lineNumber;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/XPointTools.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/XPointTools.java
deleted file mode 100644
index 5942fb5..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/XPointTools.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.internal.JptCommonCoreMessages;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-
-/**
- * Utilities for extension point management, validation, etc.
- */
-public class XPointTools {
-	
-	public static String findRequiredAttribute(
-			IConfigurationElement configElement, String attributeName)
-			throws XPointException {
-		
-		String val = configElement.getAttribute(attributeName);
-		if (val == null) {
-			logMissingAttribute(configElement, attributeName);
-			throw new XPointException();
-		}
-		return val;
-	}
-	
-	public static <T> T instantiate(String pluginId, String extensionPoint, String className, Class<T> interfaze) {
-		Class<T> clazz = loadClass(pluginId, extensionPoint, className, interfaze);
-		return (clazz == null) ? null : instantiate(pluginId, extensionPoint, clazz);
-    }
-	
-	/**
-	 * Instantiate the specified class.
-	 */
-	public static <T> T instantiate(String pluginId, String extensionPoint, Class<T> clazz) {
-		try {
-			return clazz.newInstance();
-		} catch (Exception ex) {
-			logFailedInstantiation(ex, pluginId, extensionPoint, clazz.getName());
-			return null;
-		}
-	}
-
-	/**	
-	 * Load the specified class and cast it to the specified interface.
-	 */
-	private static <T> Class<T> loadClass(String pluginId, String extensionPoint, String className, Class<T> interfaze) {
-		Bundle bundle = Platform.getBundle(pluginId);
-
-		Class<?> clazz;
-		try {
-			clazz = bundle.loadClass(className);
-		} catch (Exception ex) {
-			logFailedClassLoad(ex, pluginId, extensionPoint, className);
-			return null;
-		}
-		
-		if (interfaze.isAssignableFrom(clazz)) {
-			@SuppressWarnings("unchecked")
-			Class<T> clazzT = (Class<T>) clazz;
-			return clazzT;
-		}
-		
-		logFailedInterfaceAssignment(pluginId, extensionPoint, className, interfaze.getName());
-		return null;
-    }
-	
-	public static void logDuplicateExtension(String extensionPoint, String nodeName, String value) {
-		log(JptCommonCoreMessages.REGISTRY_DUPLICATE, extensionPoint, nodeName, value);
-	}
-	
-	public static void logMissingAttribute(IConfigurationElement configElement, String attributeName) {
-		log(JptCommonCoreMessages.REGISTRY_MISSING_ATTRIBUTE,
-				attributeName,
-				configElement.getName(),
-				configElement.getDeclaringExtension().getExtensionPointUniqueIdentifier(),
-				configElement.getContributor().getName());
-    }
-	
-	public static void logInvalidValue(
-			IConfigurationElement configElement, String nodeName, String invalidValue) {
-		
-		log(JptCommonCoreMessages.REGISTRY_INVALID_VALUE,
-				invalidValue,
-				nodeName,
-				configElement.getDeclaringExtension().getExtensionPointUniqueIdentifier(),
-				configElement.getContributor().getName());
-	}
-	
-	private static void logFailedClassLoad(Exception ex, String pluginId, String extensionPoint, String className) {
-		log(ex, JptCommonCoreMessages.REGISTRY_FAILED_CLASS_LOAD,
-				className,
-				extensionPoint,
-				pluginId);
-	}
-	
-	private static void logFailedInterfaceAssignment(
-			String pluginId, String extensionPoint, String className, String interfaceName) {
-		
-		log(JptCommonCoreMessages.REGISTRY_FAILED_INTERFACE_ASSIGNMENT,
-				className,
-				extensionPoint,
-				pluginId,
-				interfaceName);
-	}
-	
-	private static void logFailedInstantiation(Exception ex, String pluginId, String extensionPoint, String className) {
-		log(ex, JptCommonCoreMessages.REGISTRY_FAILED_INSTANTIATION,
-				className,
-				extensionPoint,
-				pluginId);
-	}
-	
-	public static void log(String msg, String... bindings) {
-		JptCommonCorePlugin.log(NLS.bind(msg, bindings));
-	}
-	
-	public static void log(Throwable ex, String msg, String... bindings) {
-		JptCommonCorePlugin.log(NLS.bind(msg, bindings), ex);
-	}
-	
-	public static void log(Throwable ex) {
-		JptCommonCorePlugin.log(ex);
-	}
-	
-	
-	public static final class XPointException extends Exception {
-		private static final long serialVersionUID = 1L;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/AbstractSingleUseQueueingJobCommandExecutor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/AbstractSingleUseQueueingJobCommandExecutor.java
deleted file mode 100644
index ef29855..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/AbstractSingleUseQueueingJobCommandExecutor.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.common.core.utility.command.CombinedCommandExecutor;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.command.StatefulCommandExecutor;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.command.AbstractSingleUseQueueingCommandExecutor;
-
-/**
- * This job command executor wraps and extends an
- * {@link AbstractSingleUseQueueingCommandExecutor},
- * adding support for executing {@link JobCommand}s.
- * <p>
- * <strong>NB:</strong> This executor <em>ignores</em> any
- * {@link ISchedulingRule scheduling rules}.
- */
-public abstract class AbstractSingleUseQueueingJobCommandExecutor<E1 extends AbstractSingleUseQueueingCommandExecutor<E2>, E2 extends StatefulCommandExecutor>
-	implements CombinedCommandExecutor, StatefulCommandExecutor
-{
-	/**
-	 * Since the {@link JobCommand}s are simply converted into {@link Command}s,
-	 * we can delegate to an {@link AbstractSingleUseQueueingCommandExecutor}.
-	 */
-	protected final E1 commandExecutor;
-
-
-	protected AbstractSingleUseQueueingJobCommandExecutor(E1 commandExecutor) {
-		super();
-		this.commandExecutor = commandExecutor;
-	}
-
-	/**
-	 * @see AbstractSingleUseQueueingCommandExecutor#start()
-	 */
-	public void start() {
-		this.commandExecutor.start();
-	}
-
-	/**
-	 * @see AbstractSingleUseQueueingCommandExecutor#execute(Command)
-	 */
-	public void execute(Command command) {
-		this.commandExecutor.execute(command);
-	}
-
-	/**
-	 * @see AbstractSingleUseQueueingCommandExecutor#execute(Command)
-	 */
-	public void execute(JobCommand command) {
-		this.commandExecutor.execute(new JobCommandCommandAdapter(command));
-	}
-
-	/**
-	 * @see AbstractSingleUseQueueingCommandExecutor#execute(Command)
-	 */
-	public void execute(JobCommand command, String jobName) {
-		// ignore 'jobName'
-		this.commandExecutor.execute(new JobCommandCommandAdapter(command));
-	}
-
-	/**
-	 * @see AbstractSingleUseQueueingCommandExecutor#execute(Command)
-	 */
-	public void execute(JobCommand command, String jobName, ISchedulingRule rule) {
-		// ignore 'jobName' and 'rule'
-		this.commandExecutor.execute(new JobCommandCommandAdapter(command));
-	}
-
-	/**
-	 * @see AbstractSingleUseQueueingCommandExecutor#suspend()
-	 */
-	public void suspend() {
-		this.commandExecutor.suspend();
-	}
-
-	/**
-	 * @see AbstractSingleUseQueueingCommandExecutor#resume()
-	 */
-	public void resume() {
-		this.commandExecutor.resume();
-	}
-
-	/**
-	 * @see AbstractSingleUseQueueingCommandExecutor#stop()
-	 */
-	public void stop() throws InterruptedException {
-		this.commandExecutor.stop();
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.commandExecutor);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/CommandJobCommandAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/CommandJobCommandAdapter.java
deleted file mode 100644
index 97c5231..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/CommandJobCommandAdapter.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Adapt a {@link Command} to the {@link JobCommand} interface.
- * Necessarily, the progress monitor is ignored and a status of
- * OK is returned.
- */
-public class CommandJobCommandAdapter
-	implements JobCommand
-{
-	private final Command command;
-
-
-	public CommandJobCommandAdapter(Command command) {
-		super();
-		if (command == null) {
-			throw new NullPointerException();
-		}
-		this.command = command;
-	}
-
-	public IStatus execute(IProgressMonitor monitor) {
-		this.command.execute();
-		return Status.OK_STATUS;
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.command);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/JobCommandCommandAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/JobCommandCommandAdapter.java
deleted file mode 100644
index ac69a5b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/JobCommandCommandAdapter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Adapt a {@link JobCommand} to the {@link Command} interface.
- * Necessarily passing in a <em>null</em> progress monitor
- * and ignoring the returned status.
- */
-public class JobCommandCommandAdapter
-	implements Command
-{
-	private final JobCommand jobCommand;
-
-
-	public JobCommandCommandAdapter(JobCommand jobCommand) {
-		super();
-		if (jobCommand == null) {
-			throw new NullPointerException();
-		}
-		this.jobCommand = jobCommand;
-	}
-
-	public void execute() {
-		this.jobCommand.execute(new NullProgressMonitor());
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.jobCommand);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/JobCommandJob.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/JobCommandJob.java
deleted file mode 100644
index 70318e1..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/JobCommandJob.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.command.Command;
-
-/**
- * A job that executes a {@link JobCommand job command} or
- * {@link Command command}.
- */
-public class JobCommandJob
-	extends Job
-{
-	private final JobCommand command;
-
-
-	public JobCommandJob(String name, Command command) {
-		this(name, new CommandJobCommandAdapter(command));
-	}
-
-	public JobCommandJob(String name, JobCommand command) {
-		super(name);
-		if (command == null) {
-			throw new NullPointerException();
-		}
-		this.command = command;
-	}
-
-	@Override
-	protected IStatus run(IProgressMonitor monitor) {
-		return this.command.execute(monitor);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/NotifyingRepeatingJobCommandWrapper.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/NotifyingRepeatingJobCommandWrapper.java
deleted file mode 100644
index 1e49f6b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/NotifyingRepeatingJobCommandWrapper.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jpt.common.core.utility.command.NotifyingRepeatingJobCommand;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.core.utility.command.JobCommandExecutor;
-import org.eclipse.jpt.common.utility.ExceptionHandler;
-import org.eclipse.jpt.common.utility.internal.ListenerList;
-
-/**
- * @see org.eclipse.jpt.common.utility.internal.command.NotifyingRepeatingCommandWrapper
- */
-public class NotifyingRepeatingJobCommandWrapper
-	extends RepeatingJobCommandWrapper
-	implements NotifyingRepeatingJobCommand
-{
-	private final ListenerList<Listener> listenerList = new ListenerList<Listener>(Listener.class);
-
-
-	// ********** construction **********
-
-	/**
-	 * Construct a notifying repeating command wrapper that executes the
-	 * specified command. Any exceptions thrown by the command or listener
-	 * will be handled by the specified exception handler.
-	 */
-	public NotifyingRepeatingJobCommandWrapper(JobCommand command, ExceptionHandler exceptionHandler) {
-		super(command, exceptionHandler);
-	}
-
-	/**
-	 * Construct a notifying repeating command wrapper that executes the
-	 * specified command and uses the specified command executor to execute the
-	 * wrapped command whenever it is not already executing.
-	 * Any exceptions thrown by the command or listener will be handled by the
-	 * specified exception handler.
-	 */
-	public NotifyingRepeatingJobCommandWrapper(JobCommand command, JobCommandExecutor startCommandExecutor, ExceptionHandler exceptionHandler) {
-		super(command, startCommandExecutor, exceptionHandler);
-	}
-
-
-	// ********** listeners **********
-
-	public void addListener(Listener listener) {
-		this.listenerList.add(listener);
-	}
-
-	public void removeListener(Listener listener) {
-		this.listenerList.remove(listener);
-	}
-
-
-	// ********** override **********
-
-	@Override
-	/* private protected */ IStatus executeCommand(IProgressMonitor monitor) {
-		IStatus status = super.executeCommand(monitor);
-		if (this.state.isQuiesced()) {
-			// hmmm - we will notify listeners even when we are "stopped"; that seems OK...
-			this.executionQuiesced(monitor);
-		}
-		return status;
-	}
-
-	/**
-	 * Notify our listeners.
-	 */
-	private void executionQuiesced(IProgressMonitor monitor) {
-		for (Listener listener : this.listenerList.getListeners()) {
-			this.notifyListener(listener, monitor);
-		}
-	}
-
-	private void notifyListener(Listener listener, IProgressMonitor monitor) {
-		try {
-			listener.executionQuiesced(this, monitor);
-		} catch (OperationCanceledException ex) {
-			throw ex;  // seems reasonable...
-		} catch (Throwable ex) {
-			this.exceptionHandler.handleException(ex);
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/RepeatingJobCommandWrapper.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/RepeatingJobCommandWrapper.java
deleted file mode 100644
index 8fee7f6..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/RepeatingJobCommandWrapper.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-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.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.core.utility.command.JobCommandExecutor;
-import org.eclipse.jpt.common.core.utility.command.RepeatingJobCommand;
-import org.eclipse.jpt.common.utility.ExceptionHandler;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.command.RepeatingCommandState;
-
-/**
- * Wrap a repeating {@link JobCommand}.
- * <p>
- * <strong>NB:</strong> The {@link IProgressMonitor progress monitor} passed to
- * the job command wrapper is <em>ignored</em>. The {@link IProgressMonitor
- * progress monitor} passed to the <em>wrapped</em> job command is determined by
- * the {@link #startCommandExecutor start command executor}. That same
- * {@link IProgressMonitor progress monitor} is passed to the <em>wrapped</em>
- * job command for every execution during an execution "cycle". It is
- * <em>not</em> reset with each execution; so several
- * executions may take place before a new progress monitor is passed to the
- * command.
- * @see org.eclipse.jpt.common.utility.internal.command.RepeatingCommandWrapper
- */
-public class RepeatingJobCommandWrapper
-	implements RepeatingJobCommand
-{
-	/**
-	 * The client-supplied command that performs the execution. It may
-	 * trigger further calls to {@link #execute(IProgressMonitor)}
-	 * (i.e. the <em>wrapped</em>
-	 * command's execution may recurse back to the client code that executes the
-	 * <em>wrapper</em> command).
-	 */
-	/* CU private */ final JobCommand command;
-
-	/**
-	 * The command executed whenever the wrapped {@link #command} must be
-	 * executed and it is not already executing. If the wrapped {@link #command}
-	 * is already executing, it will simply be re-executed directly (once it has
-	 * completed its current execution), as opposed to calling the start
-	 * command.
-	 */
-	private final JobCommand startCommand;
-
-	/**
-	 * The client-supplied command executor that provides the context for the
-	 * {@link #startCommand start command}. By default, the start command is
-	 * executed directly; but this executor provides a hook for executing the
-	 * {@link #startCommand start command} asynchronously; after which,
-	 * subsequent overlapping executions are executed synchronously.
-	 */
-	private final JobCommandExecutor startCommandExecutor;
-
-	/**
-	 * This handles the exceptions thrown by the <em>wrapped</em> command.
-	 */
-	final ExceptionHandler exceptionHandler;
-
-	/**
-	 * The command wrapper's state.
-	 */
-	final RepeatingCommandState state;
-
-
-	// ********** construction **********
-
-	/**
-	 * Construct a repeating command wrapper that executes the specified
-	 * command. Any exceptions thrown by the command will be handled by the
-	 * specified exception handler.
-	 */
-	public RepeatingJobCommandWrapper(JobCommand command, ExceptionHandler exceptionHandler) {
-		this(command, JobCommandExecutor.Default.instance(), exceptionHandler);
-	}
-
-	/**
-	 * Construct a repeating command wrapper that executes the specified
-	 * command and uses the specified command executor to execute the wrapped
-	 * command whenever it is not already executing.
-	 * Any exceptions thrown by the command will be handled by the
-	 * specified exception handler.
-	 */
-	public RepeatingJobCommandWrapper(JobCommand command, JobCommandExecutor startCommandExecutor, ExceptionHandler exceptionHandler) {
-		super();
-		if ((command == null) || (startCommandExecutor == null) || (exceptionHandler == null)) {
-			throw new NullPointerException();
-		}
-		this.command = command;
-		this.startCommandExecutor = startCommandExecutor;
-		this.startCommand = this.buildStartJobCommand();
-		this.exceptionHandler = exceptionHandler;
-		this.state = this.buildState();
-	}
-
-	private JobCommand buildStartJobCommand() {
-		return new StartJobCommand();
-	}
-
-	private RepeatingCommandState buildState() {
-		return new RepeatingCommandState();
-	}
-
-
-	// ********** RepeatingJobCommand implementation **********
-
-	public void start() {
-		this.state.start();
-	}
-
-	/**
-	 * It is possible to come back here if the wrapped command recurses
-	 * to the client and triggers another execution.
-	 */
-	// pretty sure no need for this method to be 'synchronized'
-	public IStatus execute(IProgressMonitor monitor) {
-		if (this.state.isReadyToStartExecutionCycle()) {
-			this.startCommandExecutor.execute(this.startCommand);
-		}
-		return Status.OK_STATUS;
-	}
-
-	public void stop() throws InterruptedException {
-		this.state.stop();
-	}
-
-	/**
-	 * The start command.
-	 * @see #startCommandExecutor
-	 */
-	/* CU private */ class StartJobCommand
-		implements JobCommand
-	{
-		public IStatus execute(IProgressMonitor monitor) {
-			return RepeatingJobCommandWrapper.this.execute_(monitor);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, RepeatingJobCommandWrapper.this.command);
-		}
-	}
-
-	/**
-	 * This method will be called only once per execution cycle.
-	 * Any further calls to {@link #execute(IProgressMonitor)} will
-	 * simply set the {@link #state} to "repeat",
-	 * causing the command to execute again.
-	 */
-	/* CU private */ IStatus execute_(IProgressMonitor monitor) {
-		if (this.state.wasStoppedBeforeFirstExecutionCouldStart()) {
-			return Status.OK_STATUS;
-		}
-
-		do {
-			IStatus status = this.executeCommand(monitor);
-			if (status.getSeverity() == IStatus.CANCEL) {
-				return status;  // seems reasonable...
-			}
-		} while (this.state.isRepeat());
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Execute the client-supplied command. Do not allow any unhandled
-	 * exceptions to kill the wrapper. Pass to the exception handler.
-	 * @see NotifyingRepeatingJobCommandWrapper
-	 */
-	/* private protected */ IStatus executeCommand(IProgressMonitor monitor) {
-		try {
-			return this.command.execute(monitor);
-		} catch (OperationCanceledException ex) {
-			return Status.CANCEL_STATUS;  // seems reasonable...
-		} catch (Throwable ex) {
-			this.exceptionHandler.handleException(ex);
-			return Status.OK_STATUS;
-		}
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.command);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SimpleJobCommandExecutor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SimpleJobCommandExecutor.java
deleted file mode 100644
index 96c858b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SimpleJobCommandExecutor.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jpt.common.core.utility.command.CombinedExtendedCommandExecutor;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.SynchronizedBoolean;
-
-/**
- * A command executor that schedules a {@link org.eclipse.core.runtime.jobs.Job
- * job} to [asynchronously] execute each {@link JobCommand job command} or
- * {@link Command command}.
- * Synchronous command executions are coordinated with the job via a
- * {@link LocalJobChangeListener job listener}.
- */
-public class SimpleJobCommandExecutor
-	implements CombinedExtendedCommandExecutor
-{
-	private final String defaultJobName;
-	private final ISchedulingRule defaultJobSchedulingRule;
-
-
-	/**
-	 * Construct a job command executor with no default job name and no
-	 * default scheduling rule.
-	 */
-	public SimpleJobCommandExecutor() {
-		this(null);
-	}
-
-	/**
-	 * Construct a job command executor with the specified default job name and
-	 * no default scheduling rule.
-	 */
-	public SimpleJobCommandExecutor(String defaultJobName) {
-		this(defaultJobName, null);
-	}
-
-	/**
-	 * Construct a job command executor with the specified default job name and
-	 * default scheduling rule.
-	 */
-	public SimpleJobCommandExecutor(String defaultJobName, ISchedulingRule defaultJobSchedulingRule) {
-		super();
-		this.defaultJobName = defaultJobName;
-		this.defaultJobSchedulingRule = defaultJobSchedulingRule;
-	}
-
-	public void execute(Command command) {
-		this.execute(new CommandJobCommandAdapter(command));
-	}
-
-	public void waitToExecute(Command command) throws InterruptedException {
-		this.waitToExecute(new CommandJobCommandAdapter(command));
-	}
-
-	public boolean waitToExecute(Command command, long timeout) throws InterruptedException {
-		return this.waitToExecute(new CommandJobCommandAdapter(command), timeout);
-	}
-
-	/**
-	 * Assign the resulting {@link Job} the default name and scheduling rule.
-	 */
-	public void execute(JobCommand command) {
-		this.execute(command, null);
-	}
-
-	/**
-	 * Assign the resulting {@link Job} the default scheduling rule.
-	 */
-	public void execute(JobCommand command, String jobName) {
-		this.execute(command, jobName, this.defaultJobSchedulingRule);
-	}
-
-	public void execute(JobCommand command, String jobName, ISchedulingRule rule) {
-		this.execute_(command, this.buildJobName(jobName, command), rule);
-	}
-
-	/**
-	 * Pre-condition: the job name must not be <code>null</code>.
-	 */
-	private void execute_(JobCommand command, String jobName, ISchedulingRule rule) {
-		Job job = new JobCommandJob(jobName, command);
-		job.setRule(rule);
-		job.schedule();
-	}
-
-	/**
-	 * Assign the resulting {@link Job} the default name and scheduling rule.
-	 */
-	public void waitToExecute(JobCommand command) throws InterruptedException {
-		this.waitToExecute(command, null);
-	}
-
-	/**
-	 * Assign the resulting {@link Job} the default name and scheduling rule.
-	 */
-	public boolean waitToExecute(JobCommand command, long timeout) throws InterruptedException {
-		return this.waitToExecute(command, null, timeout);
-	}
-
-	/**
-	 * Assign the resulting {@link Job} the specified name and the default
-	 * scheduling rule.
-	 */
-	public void waitToExecute(JobCommand command, String jobName) throws InterruptedException {
-		this.waitToExecute(command, jobName, this.defaultJobSchedulingRule);
-	}
-
-	/**
-	 * Assign the resulting {@link Job} the specified name and the default
-	 * scheduling rule.
-	 */
-	public boolean waitToExecute(JobCommand command, String jobName, long timeout) throws InterruptedException {
-		return this.waitToExecute(command, jobName, this.defaultJobSchedulingRule, timeout);
-	}
-
-	/**
-	 * Assign the resulting {@link Job} the specified name and scheduling rule.
-	 */
-	public void waitToExecute(JobCommand command, String jobName, ISchedulingRule rule) throws InterruptedException {
-		this.waitToExecute_(command, this.buildJobName(jobName, command), rule, 0);
-	}
-
-	/**
-	 * Assign the resulting {@link Job} the specified name and scheduling rule.
-	 */
-	public boolean waitToExecute(JobCommand command, String jobName, ISchedulingRule rule, long timeout) throws InterruptedException {
-		return this.waitToExecute_(command, this.buildJobName(jobName, command), rule, timeout);
-	}
-
-	/**
-	 * Pre-condition: the job name must not be <code>null</code>.
-	 * <p>
-	 * Schedule a job that will notify us when it is finished.
-	 * The current thread will suspend until the job is finished.
-	 */
-	private boolean waitToExecute_(JobCommand command, String jobName, ISchedulingRule rule, long timeout) throws InterruptedException {
-		if ((timeout == 0L) && Job.getJobManager().isSuspended()) {
-			// the job manager is suspended during workbench start-up;
-			// so this method will lock up accordingly, which is not a Good Thing
-			// if it is called from the Eclipse Main thread during start-up
-			// (i.e. deadlock!)
-			return false;
-		}
-
-		Job job = new JobCommandJob(jobName, command);
-		LocalJobChangeListener listener = new LocalJobChangeListener();
-		job.addJobChangeListener(listener);
-		job.setRule(rule);
-		job.schedule();
-		try {
-			return listener.waitUntilDone(timeout);
-		} finally {
-			job.removeJobChangeListener(listener);
-		}
-	}
-
-	private String buildJobName(String jobName, Object command) {
-		if (jobName != null) {
-			return jobName;
-		}
-		if (this.defaultJobName != null) {
-			return this.defaultJobName;
-		}
-		return StringTools.buildToStringClassName(command.getClass());
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this);
-	}
-
-
-	// ********** job listener **********
-
-	/**
-	 * This job listener notifies any interested threads when the
-	 * {@link Job job} is done.
-	 */
-	/* CU private */ class LocalJobChangeListener
-		extends JobChangeAdapter
-	{
-		private final SynchronizedBoolean done = new SynchronizedBoolean(false);
-
-		@Override
-		public void done(IJobChangeEvent event) {
-			super.done(event);
-			this.done.setTrue();
-		}
-
-		boolean waitUntilDone(long timeout) throws InterruptedException {
-			return this.done.waitUntilTrue(timeout);
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SingleUseQueueingExtendedJobCommandExecutor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SingleUseQueueingExtendedJobCommandExecutor.java
deleted file mode 100644
index 5957e3e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SingleUseQueueingExtendedJobCommandExecutor.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.common.core.utility.command.CombinedExtendedCommandExecutor;
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.command.ExtendedCommandExecutor;
-import org.eclipse.jpt.common.utility.command.StatefulExtendedCommandExecutor;
-import org.eclipse.jpt.common.utility.internal.command.SingleUseQueueingExtendedCommandExecutor;
-
-/**
- * This command executor wraps and extends a {@link SingleUseQueueingExtendedCommandExecutor},
- * adding support for executing {@link JobCommand}s.
- */
-public class SingleUseQueueingExtendedJobCommandExecutor
-	extends AbstractSingleUseQueueingJobCommandExecutor<SingleUseQueueingExtendedCommandExecutor, StatefulExtendedCommandExecutor>
-	implements CombinedExtendedCommandExecutor, StatefulExtendedCommandExecutor
-{
-	public SingleUseQueueingExtendedJobCommandExecutor() {
-		this(new SingleUseQueueingExtendedCommandExecutor());
-	}
-
-	public SingleUseQueueingExtendedJobCommandExecutor(ExtendedCommandExecutor commandExecutor) {
-		this(new SingleUseQueueingExtendedCommandExecutor(commandExecutor));
-	}
-
-	public SingleUseQueueingExtendedJobCommandExecutor(StatefulExtendedCommandExecutor commandExecutor) {
-		this(new SingleUseQueueingExtendedCommandExecutor(commandExecutor));
-	}
-
-	public SingleUseQueueingExtendedJobCommandExecutor(SingleUseQueueingExtendedCommandExecutor commandExecutor) {
-		super(commandExecutor);
-	}
-
-	/**
-	 * @see SingleUseQueueingExtendedCommandExecutor#waitToExecute(Command)
-	 */
-	public void waitToExecute(Command command) throws InterruptedException {
-		this.commandExecutor.waitToExecute(command);
-	}
-
-	/**
-	 * @see SingleUseQueueingExtendedCommandExecutor#waitToExecute(Command, long)
-	 */
-	public boolean waitToExecute(Command command, long timeout) throws InterruptedException {
-		return this.commandExecutor.waitToExecute(command, timeout);
-	}
-
-	/**
-	 * @see SingleUseQueueingExtendedCommandExecutor#waitToExecute(Command)
-	 */
-	public void waitToExecute(JobCommand command) throws InterruptedException {
-		this.commandExecutor.waitToExecute(new JobCommandCommandAdapter(command));
-	}
-
-	/**
-	 * @see SingleUseQueueingExtendedCommandExecutor#waitToExecute(Command, long)
-	 */
-	public boolean waitToExecute(JobCommand command, long timeout) throws InterruptedException {
-		return this.commandExecutor.waitToExecute(new JobCommandCommandAdapter(command), timeout);
-	}
-
-	/**
-	 * @see SingleUseQueueingExtendedCommandExecutor#waitToExecute(Command)
-	 */
-	public void waitToExecute(JobCommand command, String jobName) throws InterruptedException {
-		// ignore 'jobName'
-		this.commandExecutor.waitToExecute(new JobCommandCommandAdapter(command));
-	}
-
-	/**
-	 * @see SingleUseQueueingExtendedCommandExecutor#waitToExecute(Command, long)
-	 */
-	public boolean waitToExecute(JobCommand command, String jobName, long timeout) throws InterruptedException {
-		// ignore 'jobName'
-		return this.commandExecutor.waitToExecute(new JobCommandCommandAdapter(command), timeout);
-	}
-
-	/**
-	 * @see SingleUseQueueingExtendedCommandExecutor#waitToExecute(Command)
-	 */
-	public void waitToExecute(JobCommand command, String jobName, ISchedulingRule rule) throws InterruptedException {
-		// ignore 'jobName' and 'rule'
-		this.commandExecutor.waitToExecute(new JobCommandCommandAdapter(command));
-	}
-
-	/**
-	 * @see SingleUseQueueingExtendedCommandExecutor#waitToExecute(Command, long)
-	 */
-	public boolean waitToExecute(JobCommand command, String jobName, ISchedulingRule rule, long timeout) throws InterruptedException {
-		// ignore 'jobName' and 'rule'
-		return this.commandExecutor.waitToExecute(new JobCommandCommandAdapter(command), timeout);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SingleUseQueueingJobCommandExecutor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SingleUseQueueingJobCommandExecutor.java
deleted file mode 100644
index 3b25de6..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/command/SingleUseQueueingJobCommandExecutor.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.command;
-
-import org.eclipse.jpt.common.core.utility.command.JobCommand;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-import org.eclipse.jpt.common.utility.command.StatefulCommandExecutor;
-import org.eclipse.jpt.common.utility.internal.command.SingleUseQueueingCommandExecutor;
-
-/**
- * This command executor wraps and extends a {@link SingleUseQueueingCommandExecutor},
- * adding support for executing {@link JobCommand}s.
- */
-public class SingleUseQueueingJobCommandExecutor
-	extends AbstractSingleUseQueueingJobCommandExecutor<SingleUseQueueingCommandExecutor, StatefulCommandExecutor>
-{
-	public SingleUseQueueingJobCommandExecutor() {
-		this(new SingleUseQueueingCommandExecutor());
-	}
-
-	public SingleUseQueueingJobCommandExecutor(CommandExecutor commandExecutor) {
-		this(new SingleUseQueueingCommandExecutor(commandExecutor));
-	}
-
-	public SingleUseQueueingJobCommandExecutor(StatefulCommandExecutor commandExecutor) {
-		this(new SingleUseQueueingCommandExecutor(commandExecutor));
-	}
-
-	public SingleUseQueueingJobCommandExecutor(SingleUseQueueingCommandExecutor commandExecutor) {
-		super(commandExecutor);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ASTTools.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ASTTools.java
deleted file mode 100644
index ccf4356..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ASTTools.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.HashSet;
-import java.util.List;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.ArrayInitializer;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.IAnnotationBinding;
-import org.eclipse.jdt.core.dom.IBinding;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.IVariableBinding;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
-import org.eclipse.jdt.core.dom.TypeLiteral;
-import org.eclipse.jpt.common.core.internal.utility.SimpleTextRange;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.JavaType;
-import org.eclipse.jpt.common.utility.MethodSignature;
-import org.eclipse.jpt.common.utility.internal.SimpleJavaType;
-import org.eclipse.jpt.common.utility.internal.SimpleMethodSignature;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-/**
- * Convenience methods for dealing with JDT ASTs.
- */
-public class ASTTools {
-
-	/**
-	 * Build an AST without method bodies for the specified compilation unit
-	 * with its bindings resolved (and the resultant performance hit).
-	 */
-	public static CompilationUnit buildASTRoot(ICompilationUnit compilationUnit) {
-		ASTParser parser = ASTParser.newParser(AST.JLS3);
-		parser.setSource(compilationUnit);
-		parser.setIgnoreMethodBodies(true);  // we don't need method bodies
-		parser.setResolveBindings(true);
-		parser.setBindingsRecovery(true);  // see bugs 196200, 222735
-		return (CompilationUnit) parser.createAST(null);
-	}
-
-
-	// ********** JDT DOM **********
-
-	public static String resolveEnum(Expression expression) {
-		if (expression == null) {
-			return null;
-		}
-		switch (expression.getNodeType()) {
-			case ASTNode.QUALIFIED_NAME:
-			case ASTNode.SIMPLE_NAME:
-				return resolveEnum((Name) expression);
-			default:
-				return null;
-		}
-	}
-
-	public static String resolveEnum(Name enumExpression) {
-		IBinding binding = enumExpression.resolveBinding();
-		if (binding == null) {
-			return null;  // TODO figure out why this is null sometimes
-		}
-		if (binding.getKind() != IBinding.VARIABLE) {
-			return null;
-		}
-		IVariableBinding variableBinding = (IVariableBinding) binding;
-		return variableBinding.getType().getQualifiedName() + '.' + variableBinding.getName();
-	}
-
-	/**
-	 * Return the fully-qualified name of the specified node's annotation
-	 * class.
-	 */
-	public static String resolveAnnotation(Annotation node) {
-		IAnnotationBinding annotationBinding = node.resolveAnnotationBinding();
-		if (annotationBinding == null) {
-			return null;
-		}
-		ITypeBinding annotationTypeBinding = annotationBinding.getAnnotationType();
-		return (annotationTypeBinding == null) ? null : annotationTypeBinding.getQualifiedName();
-	}
-	
-	/**
-	 * If the specified expression is a type literal, return the type's fully-
-	 * qualified name. Return null otherwise.
-	 */
-	public static String resolveFullyQualifiedName(Expression expression) {
-		ITypeBinding resolvedTypeBinding = resolveTypeBinding(expression);
-		return (resolvedTypeBinding == null) ? null : resolvedTypeBinding.getQualifiedName();
-	}
-	
-	/**
-	 * If the specified expression is an array initializer, return an an iterable
-	 * on the types' fully qualfified names.  
-	 * The results may include nulls.
-	 */
-	public static Iterable<String> resolveFullyQualifiedNames(Expression expression) {
-		return new TransformationIterable<ITypeBinding, String>(resolveTypeBindings(expression)) {
-			@Override
-			protected String transform(ITypeBinding o) {
-				return (o == null) ? null : o.getQualifiedName();
-			}
-		};
-	}
-	
-	/**
-	 * If the specified expression is a type literal, return the corresponding
-	 * type binding.
-	 */
-	public static ITypeBinding resolveTypeBinding(Expression expression) {
-		if (expression != null && expression.getNodeType() == ASTNode.TYPE_LITERAL) {
-			return ((TypeLiteral) expression).getType().resolveBinding();
-		}
-		return null;
-	}
-	
-	/**
-	 * If the specified expression is an array initializer, return an iterable of
-	 * the corresponding type bindings for each sub-expression.
-	 * The result may include <code>null</code> elements.
-	 */
-	public static Iterable<ITypeBinding> resolveTypeBindings(Expression expression) {
-		return (expression != null && expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) ?
-				resolveTypeBindings((ArrayInitializer) expression) :
-				EmptyIterable.<ITypeBinding>instance();
-	}
-	
-	private static Iterable<ITypeBinding> resolveTypeBindings(ArrayInitializer arrayExpression) {
-		@SuppressWarnings("unchecked")
-		Iterable<Expression> expressions = arrayExpression.expressions();
-		return new TransformationIterable<Expression, ITypeBinding>(expressions) {
-			@Override
-			protected ITypeBinding transform(Expression expression) {
-				return resolveTypeBinding(expression);
-			}
-		};
-	}
-	
-	public static MethodSignature buildMethodSignature(MethodDeclaration methodDeclaration) {
-		return new SimpleMethodSignature(
-				methodDeclaration.getName().getFullyQualifiedName(),
-				buildParameterTypes(methodDeclaration)
-			);
-	}
-
-	public static JavaType[] buildParameterTypes(MethodDeclaration methodDeclaration) {
-		List<SingleVariableDeclaration> parameters = parameters(methodDeclaration);
-		int len = parameters.size();
-		JavaType[] parameterTypes = new JavaType[len];
-		for (int i = 0; i < len; i++) {
-			ITypeBinding type = parameters.get(i).getType().resolveBinding();
-			parameterTypes[i] = new SimpleJavaType(type.getQualifiedName(), type.getDimensions());
-		}
-		return parameterTypes;
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private static List<SingleVariableDeclaration> parameters(MethodDeclaration methodDeclaration) {
-		return methodDeclaration.parameters();
-	}
-
-	/**
-	 * Return whether the specified expression is a type literal and the type binding
-	 * corresponding to the specified type name exists in the type
-	 * literal's inheritance hierarchy (superclasses and interfaces).
-	 * Return null otherwise.
-	 */
-	public static boolean typeIsSubTypeOf(Expression expression, String searchTypeName) {
-		return findTypeInHierarchy(expression, searchTypeName) != null;
-	}
-
-	/**
-	 * If the specified expression is a type literal, return the type binding
-	 * corresponding to the specified type name if it exists in the type
-	 * literal's inheritance hierarchy (superclasses and interfaces).
-	 * Return null otherwise.
-	 */
-	public static ITypeBinding findTypeInHierarchy(Expression expression, String searchTypeName) {
-		ITypeBinding typeBinding = resolveTypeBinding(expression);
-		return (typeBinding == null) ? null : findTypeInHierarchy(typeBinding, searchTypeName);
-	}
-
-	/**
-	 * Return whether a type binding with the specified type name exists in
-	 * the specified type binding's inheritance hierarchy (superclasses
-	 * and interfaces).
-	 */
-	public static boolean typeIsSubTypeOf(ITypeBinding typeBinding, String searchTypeName) {
-		return findTypeInHierarchy(typeBinding, searchTypeName) != null;
-	}
-
-	/**
-	 * Return the type binding corresponding to the specified type name if it
-	 * exists in the specified type binding's inheritance hierarchy (superclasses
-	 * and interfaces). Return null otherwise.
-	 */
-	public static ITypeBinding findTypeInHierarchy(ITypeBinding typeBinding, String searchTypeName) {
-		return findTypeInHierarchy(typeBinding, searchTypeName, new HashSet<String>());
-	}
-
-	private static ITypeBinding findTypeInHierarchy(ITypeBinding typeBinding, String searchTypeName, HashSet<String> visited) {
-		String typeName = typeBinding.getTypeDeclaration().getQualifiedName();
-		if (visited.contains(typeName)) {
-			return null;
-		}
-		if (typeName.equals(searchTypeName)) {
-			return typeBinding;
-		}
-		visited.add(typeName);
-		
-		ITypeBinding interfaceBinding = findTypeInInterfaces(typeBinding, searchTypeName, visited);
-		if (interfaceBinding != null) {
-			return interfaceBinding;
-		}
-		
-		return findTypeInSuperclasses(typeBinding, searchTypeName, visited);
-	}
-
-	private static ITypeBinding findTypeInInterfaces(ITypeBinding typeBinding, String searchTypeName, HashSet<String> visited) {
-		ITypeBinding[] interfaceBindings = typeBinding.getInterfaces();
-		for (ITypeBinding interfaceBinding : interfaceBindings) {  // recurse up interfaces
-			ITypeBinding result = findTypeInHierarchy(interfaceBinding, searchTypeName, visited);
-			if (result != null) {
- 				return result;
-			}
-		}
-		return null;
-	}
-	
-	private static ITypeBinding findTypeInSuperclasses(ITypeBinding typeBinding, String searchTypeName, HashSet<String> visited) {
-		ITypeBinding superBinding = typeBinding.getSuperclass();
-		if (superBinding != null) {  // recurse up superclasses
-			ITypeBinding result = findTypeInHierarchy(superBinding, searchTypeName, visited);
-			if (result != null) {
-				return result;
-			}
-		}
-		return null;		
-	}
-	/**
-	 * Return whether the specified expression is a type literal and the type binding
-	 * corresponding to the specified interface name exists in the type
-	 * literal's inheritance hierarchy (superclasses and interfaces).
-	 * Return null otherwise.
-	 */
-	public static boolean typeImplementsInterface(Expression expression, String searchInterfaceName) {
-		ITypeBinding typeBinding = resolveTypeBinding(expression);
-		if (typeBinding == null) {
-			return false;
-		}
-		return findInterfaceInHierarchy(typeBinding, searchInterfaceName) != null;
-	}
-
-	/**
-	 * Return whether a type binding with the specified interface name exists in
-	 * the specified type binding's inheritance hierarchy (superclasses
-	 * and interfaces).
-	 */
-	public static boolean typeImplementsInterface(ITypeBinding typeBinding, String searchInterfaceName) {
-		return findInterfaceInHierarchy(typeBinding, searchInterfaceName) != null;
-	}
-	
-	private static ITypeBinding findInterfaceInHierarchy(ITypeBinding typeBinding, String searchInterfaceName) {
-		HashSet<String> visited = new HashSet<String>();
-		ITypeBinding interfaceBinding = findTypeInInterfaces(typeBinding, searchInterfaceName, visited);
-		if (interfaceBinding != null) {
-			return interfaceBinding;
-		}
-		
-		return findTypeInSuperclasses(typeBinding, searchInterfaceName, visited);
-
-	}
-
-	/**
-	 * Build and return a text range for the specified AST node.
-	 */
-	public static TextRange buildTextRange(ASTNode astNode) {
-		return buildTextRange(astNode, null);
-	}
-
-	/**
-	 * Build and return a text range for the specified AST node if it differs
-	 * from the specified text range or the specified text range is
-	 * <code>null</code>. If the AST node already matches the
-	 * specified text range, simply return the text range unchanged.
-	 */
-	public static TextRange buildTextRange(ASTNode astNode, TextRange textRange) {
-		int offset = astNode.getStartPosition();
-		int length = astNode.getLength();
-		int lineNumber = ((CompilationUnit) astNode.getRoot()).getLineNumber(offset);
-		return (textRange == null) ?
-				new SimpleTextRange(offset, length, lineNumber) :
-				textRange.buildTextRange(offset, length, lineNumber);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractAnnotationAdapter.java
deleted file mode 100644
index 7333322..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractAnnotationAdapter.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Adapt an annotated element and a declaration annotation adapter.
- */
-public abstract class AbstractAnnotationAdapter implements AnnotationAdapter {
-	private final AnnotatedElement annotatedElement;
-	private final DeclarationAnnotationAdapter daa;
-
-
-	// ********** constructor **********
-
-	public AbstractAnnotationAdapter(AnnotatedElement annotatedElement, DeclarationAnnotationAdapter daa) {
-		super();
-		this.annotatedElement = annotatedElement;
-		this.daa = daa;
-	}
-
-
-	// ********** AnnotationAdapter implementation **********
-
-	public Annotation getAnnotation(CompilationUnit astRoot) {
-		return this.daa.getAnnotation(this.annotatedElement.getModifiedDeclaration(astRoot));
-	}
-
-	public void newMarkerAnnotation() {
-		this.edit(this.buildNewMarkerAnnotationEditor());
-	}
-
-	public void newSingleMemberAnnotation() {
-		this.edit(this.buildNewSingleMemberAnnotationEditor());
-	}
-
-	public void newNormalAnnotation() {
-		this.edit(this.buildNewNormalAnnotationEditor());
-	}
-
-	public void removeAnnotation() {
-		this.edit(this.buildRemoveAnnotationEditor());
-	}
-
-	public ASTNode getAstNode(CompilationUnit astRoot) {
-		return this.daa.getAstNode(this.annotatedElement.getModifiedDeclaration(astRoot));
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.daa);
-	}
-
-
-	// ********** internal methods **********
-
-	protected void edit(AnnotatedElement.Editor editor) {
-		this.annotatedElement.edit(editor);
-	}
-
-
-	// ********** factory methods **********
-
-	protected AnnotatedElement.Editor buildNewMarkerAnnotationEditor() {
-		return new NewMarkerAnnotationEditor(this.daa);
-	}
-
-	protected AnnotatedElement.Editor buildNewSingleMemberAnnotationEditor() {
-		return new NewSingleMemberAnnotationEditor(this.daa);
-	}
-
-	protected AnnotatedElement.Editor buildNewNormalAnnotationEditor() {
-		return new NewNormalAnnotationEditor(this.daa);
-	}
-
-	protected AnnotatedElement.Editor buildRemoveAnnotationEditor() {
-		return new RemoveAnnotationEditor(this.daa);
-	}
-
-
-	// ********** member classes **********
-
-	protected static class NewMarkerAnnotationEditor implements AnnotatedElement.Editor {
-		private final DeclarationAnnotationAdapter daa;
-
-		NewMarkerAnnotationEditor(DeclarationAnnotationAdapter daa) {
-			super();
-			this.daa = daa;
-		}
-		public void edit(ModifiedDeclaration declaration) {
-			this.daa.newMarkerAnnotation(declaration);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-	}
-
-
-	protected static class NewSingleMemberAnnotationEditor implements AnnotatedElement.Editor {
-		private final DeclarationAnnotationAdapter daa;
-
-		NewSingleMemberAnnotationEditor(DeclarationAnnotationAdapter daa) {
-			super();
-			this.daa = daa;
-		}
-		public void edit(ModifiedDeclaration declaration) {
-			this.daa.newSingleMemberAnnotation(declaration);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-	}
-
-
-	protected static class NewNormalAnnotationEditor implements AnnotatedElement.Editor {
-		private final DeclarationAnnotationAdapter daa;
-
-		NewNormalAnnotationEditor(DeclarationAnnotationAdapter daa) {
-			super();
-			this.daa = daa;
-		}
-		public void edit(ModifiedDeclaration declaration) {
-			this.daa.newNormalAnnotation(declaration);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-	}
-
-
-	protected static class RemoveAnnotationEditor implements AnnotatedElement.Editor {
-		private final DeclarationAnnotationAdapter daa;
-
-		RemoveAnnotationEditor(DeclarationAnnotationAdapter daa) {
-			super();
-			this.daa = daa;
-		}
-		public void edit(ModifiedDeclaration declaration) {
-			this.daa.removeAnnotation(declaration);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractDeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractDeclarationAnnotationAdapter.java
deleted file mode 100644
index 821c4ed..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractDeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * 
- */
-public abstract class AbstractDeclarationAnnotationAdapter implements DeclarationAnnotationAdapter {
-	private final String annotationName;
-
-
-	// ********** constructors **********
-
-	protected AbstractDeclarationAnnotationAdapter(String annotationName) {
-		super();
-		this.annotationName = annotationName;
-	}
-
-
-	// ********** DeclarationAnnotationAdapter implementation **********
-
-	public MarkerAnnotation newMarkerAnnotation(ModifiedDeclaration declaration) {
-		MarkerAnnotation annotation = this.newMarkerAnnotation(declaration.getAst());
-		this.addAnnotationAndImport(declaration, annotation);
-		return annotation;
-	}
-
-	public SingleMemberAnnotation newSingleMemberAnnotation(ModifiedDeclaration declaration) {
-		SingleMemberAnnotation annotation = this.newSingleMemberAnnotation(declaration.getAst());
-		this.addAnnotationAndImport(declaration, annotation);
-		return annotation;
-	}
-
-	public NormalAnnotation newNormalAnnotation(ModifiedDeclaration declaration) {
-		NormalAnnotation annotation = this.newNormalAnnotation(declaration.getAst());
-		this.addAnnotationAndImport(declaration, annotation);
-		return annotation;
-	}
-
-	/**
-	 * Add the appropriate import statement, then shorten the annotation's
-	 * name before adding it to the declaration.
-	 */
-	protected void addAnnotationAndImport(ModifiedDeclaration declaration, Annotation annotation) {
-		annotation.setTypeName(declaration.getAst().newName(this.getSourceCodeAnnotationName(declaration)));
-		this.addAnnotation(declaration, annotation);
-	}
-
-	/**
-	 * Return the annotation's name as it can be used in source code;
-	 * i.e. if we can add it to the compilation unit's imports, return the short
-	 * name; if we can't (because of a collision), return the fully-qualified name.
-	 * NB: an import may be added as a side-effect :-(
-	 */
-	protected String getSourceCodeAnnotationName(ModifiedDeclaration declaration) {
-		return declaration.addImport(this.annotationName) ? this.getShortAnnotationName() : this.annotationName;
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.annotationName);
-	}
-
-	/**
-	 * Add the specified annotation to the specified declaration,
-	 * replacing the original annotation if present.
-	 */
-	protected abstract void addAnnotation(ModifiedDeclaration declaration, Annotation annotation);
-
-
-	// ********** public methods **********
-
-	/**
-	 * This is 'public' because we use it in CombinationIndexedDeclarationAnnotationAdapter
-	 * to get the annotation name from a NestedIndexedDeclarationAnnotationAdapter.
-	 */
-	public String getAnnotationName() {
-		return this.annotationName;
-	}
-
-
-	// ********** helper methods **********
-
-	protected boolean nameMatches(ModifiedDeclaration declaration, Annotation annotation) {
-		return this.nameMatches(declaration, annotation, this.annotationName);
-	}
-
-	protected boolean nameMatches(ModifiedDeclaration declaration, Annotation annotation, String name) {
-		return declaration.annotationIsNamed(annotation, name);
-	}
-
-	protected MarkerAnnotation newMarkerAnnotation(AST ast) {
-		return this.newMarkerAnnotation(ast, this.annotationName);
-	}
-
-	protected MarkerAnnotation newMarkerAnnotation(AST ast, String name) {
-		MarkerAnnotation annotation = ast.newMarkerAnnotation();
-		annotation.setTypeName(ast.newName(name));
-		return annotation;
-	}
-
-	protected SingleMemberAnnotation newSingleMemberAnnotation(AST ast) {
-		return this.newSingleMemberAnnotation(ast, this.annotationName);
-	}
-
-	protected SingleMemberAnnotation newSingleMemberAnnotation(AST ast, String name) {
-		SingleMemberAnnotation annotation = ast.newSingleMemberAnnotation();
-		annotation.setTypeName(ast.newName(name));
-		return annotation;
-	}
-
-	protected NormalAnnotation newNormalAnnotation(AST ast) {
-		return this.newNormalAnnotation(ast, this.annotationName);
-	}
-
-	protected NormalAnnotation newNormalAnnotation(AST ast, String name) {
-		NormalAnnotation annotation = ast.newNormalAnnotation();
-		annotation.setTypeName(ast.newName(name));
-		return annotation;
-	}
-
-	protected String getShortAnnotationName() {
-		return convertToShortName(this.annotationName);
-	}
-	
-	protected static String convertToShortName(String name) {
-		return name.substring(name.lastIndexOf('.') + 1);
-	}
-	
-	@SuppressWarnings("unchecked")
-	protected List<MemberValuePair> values(NormalAnnotation na) {
-		return na.values();
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractExpressionConverter.java
deleted file mode 100644
index 6fd4d1d..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractExpressionConverter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Gather together the common implementation behavior.
- * 
- * We're still figuring out Java Generics here.... The methods in this abstract
- * class work fine with any subclass of Expression E; but a ClassCastException
- * will occur as soon as we call any method implemented by a subclass
- * (e.g. StringExpressionConverter) that expects a particular subclass of
- * Expression (e.g. StringLiteral).
- * 
- * @param <T> the type of the object to be converted to and from an expression
- */
-public abstract class AbstractExpressionConverter<T>
-	implements ExpressionConverter<T>
-{
-	protected AbstractExpressionConverter() {
-		super();
-	}
-
-
-	// ********** object -> expression **********
-
-	public Expression convert(T object, AST ast) {
-		return (object == null) ? this.convertNull(ast) : this.convertObject(object, ast);
-	}
-
-	/**
-	 * Return the expression for a <code>null</code> object.
-	 * By default, a <code>null</code> object will
-	 * be converted into a <code>null</code> expression.
-	 */
-	protected Expression convertNull(@SuppressWarnings("unused") AST ast) {
-		return null;
-	}
-
-	/**
-	 * The specified object is not <code>null</code>.
-	 * @see #convert(Object, AST)
-	 */
-	protected abstract Expression convertObject(T object, AST ast);
-
-
-	// ********** expression -> object **********
-
-	public T convert(Expression expression) {
-		return (expression == null) ? this.convertNull() : this.convertExpression(expression);
-	}
-
-	/**
-	 * Return the object for a <code>null</code> expression.
-	 * By default, a <code>null</code> expression will
-	 * be converted into a <code>null</code> object.
-	 */
-	protected T convertNull() {
-		return null;
-	}
-
-	/**
-	 * The specified expression is not <code>null</code>.
-	 * @see #convert(Expression)
-	 */
-	protected abstract T convertExpression(Expression expression);
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractJDTType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractJDTType.java
deleted file mode 100644
index 9a264f7..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractJDTType.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AbstractType;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-
-/**
- * Adapt and extend a JDT abstract type.
- */
-public abstract class AbstractJDTType
-	extends JDTMember
-	implements AbstractType
-{
-
-	/**
-	 * constructor for the compilation unit's primary type
-	 */
-	protected AbstractJDTType(
-			AbstractTypeDeclaration typeDeclaration,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(typeDeclaration, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	/**
-	 * constructor for the compilation unit's primary type
-	 */
-	protected AbstractJDTType(
-			AbstractTypeDeclaration typeDeclaration,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		this(null, typeDeclaration, 1, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	/**
-	 * constructor for nested types
-	 */
-	protected AbstractJDTType(
-			Type declaringType,
-			AbstractTypeDeclaration typeDeclaration,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(declaringType, typeDeclaration, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	/**
-	 * constructor for nested types
-	 */
-	protected AbstractJDTType(
-			Type declaringType,
-			AbstractTypeDeclaration typeDeclaration,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(declaringType, typeDeclaration.getName().getFullyQualifiedName(), occurrence, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	/**
-	 * constructor for testing
-	 */
-	protected AbstractJDTType(Type declaringType, String name, int occurrence, ICompilationUnit compilationUnit) {
-		super(declaringType, name, occurrence, compilationUnit, CommandExecutor.Default.instance(), DefaultAnnotationEditFormatter.instance());
-	}
-
-	@Override
-	protected Type getDeclaringType() {
-		return (Type) super.getDeclaringType();
-	}
-
-	// ********** Member/Type implementation **********
-	
-	public ITypeBinding getBinding(CompilationUnit astRoot) {
-		AbstractTypeDeclaration td = this.getBodyDeclaration(astRoot);
-		return (td == null) ? null : td.resolveBinding();
-	}
-
-	/**
-	 * find the type's body declaration in the specified AST
-	 */
-	@Override
-	public AbstractTypeDeclaration getBodyDeclaration(CompilationUnit astRoot) {
-		Type declaringType = this.getDeclaringType();
-		if (declaringType == null) {
-			return this.getTopLevelTypeDeclaration(astRoot);
-		}
-		TypeDeclaration typeDeclaration = declaringType.getBodyDeclaration(astRoot);
-		// the type declaration can be null when the source is completely hosed
-		return (typeDeclaration == null) ? null : this.getNestedTypeDeclaration(typeDeclaration);
-	}
-
-	public TextRange getNameTextRange(CompilationUnit astRoot) {
-		AbstractTypeDeclaration bodyDeclaration = this.getBodyDeclaration(astRoot);
-		// the declaration can be null if the resource is out of sync with the file system
-		return (bodyDeclaration) == null ? null : ASTTools.buildTextRange(bodyDeclaration.getName());
-	}
-
-
-	// ********** internal **********
-
-	/**
-	 * return the first top-level type in the specified AST with a matching name
-	 */
-	protected AbstractTypeDeclaration getTopLevelTypeDeclaration(CompilationUnit astRoot) {
-		return this.getTypeDeclaration(types(astRoot));
-	}
-
-	protected AbstractTypeDeclaration getTypeDeclaration(List<AbstractTypeDeclaration> typeDeclarations) {
-		return this.getTypeDeclaration(typeDeclarations.toArray(new AbstractTypeDeclaration[typeDeclarations.size()]));
-	}
-
-	/**
-	 * Return the nested type declaration with matching name and occurrence within the declaring type
-	 */
-	protected abstract AbstractTypeDeclaration getNestedTypeDeclaration(TypeDeclaration declaringTypeDeclaration);
-
-	/**
-	 * return the type declaration corresponding to the type from the specified
-	 * set of type declarations (match name and occurrence).
-	 * Only return type or enum declarations
-	 */
-	protected AbstractTypeDeclaration getTypeDeclaration(AbstractTypeDeclaration[] typeDeclarations) {
-		String name = this.getName();
-		int occurrence = this.getOccurrence();
-		int count = 0;
-		for (AbstractTypeDeclaration typeDeclaration : typeDeclarations) {
-			if (typeDeclaration.getName().getFullyQualifiedName().equals(name)) {
-				count++;
-				if (count == occurrence) {
-					return (typeDeclaration.getNodeType() == this.getASTNodeType()) ? typeDeclaration : null;
-				}
-			}
-		}
-		// return null if the type is no longer in the source code;
-		// this can happen when the context model has not yet
-		// been synchronized with the resource model but is still
-		// asking for an ASTNode (e.g. during a selection event)
-		return null;
-	}
-
-	protected abstract int getASTNodeType();
-
-	/**
-	 * we only instantiate a single top-level, non-annotation
-	 * type per compilation unit (i.e. a class, enum, or interface)
-	 */
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	protected static List<AbstractTypeDeclaration> types(CompilationUnit astRoot) {
-		return astRoot.types();
-	}
-
-	protected static EnumDeclaration[] getEnums(TypeDeclaration declaringTypeDeclaration) {
-		List<BodyDeclaration> bd = bodyDeclarations(declaringTypeDeclaration);
-		int typeCount = 0;
-		for (Iterator<BodyDeclaration> it = bd.listIterator(); it.hasNext(); ) {
-			if (it.next().getNodeType() == ASTNode.ENUM_DECLARATION) {
-				typeCount++;
-			}
-		}
-		EnumDeclaration[] memberEnums = new EnumDeclaration[typeCount];
-		int next = 0;
-		for (Iterator<BodyDeclaration> it = bd.listIterator(); it.hasNext(); ) {
-			BodyDeclaration decl = it.next();
-			if (decl.getNodeType() == ASTNode.ENUM_DECLARATION) {
-				memberEnums[next++] = (EnumDeclaration) decl;
-			}
-		}
-		return memberEnums;
-	}
-
-	@SuppressWarnings("unchecked")
-	protected static List<BodyDeclaration> bodyDeclarations(TypeDeclaration typeDeclaration) {
-		return typeDeclaration.bodyDeclarations();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractNestedDeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractNestedDeclarationAnnotationAdapter.java
deleted file mode 100644
index 1e12f71..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AbstractNestedDeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,403 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-/**
- * Pull together some of the behavior common to
- * {@link NestedDeclarationAnnotationAdapter}
- * and {@link NestedIndexedDeclarationAnnotationAdapter}
- */
-public abstract class AbstractNestedDeclarationAnnotationAdapter
-	extends AbstractDeclarationAnnotationAdapter
-{
-	private final DeclarationAnnotationAdapter outerAnnotationAdapter;
-	private final String elementName;
-
-	// reduce NLS checks
-	protected static final String VALUE = "value"; //$NON-NLS-1$
-
-
-	// ********** constructors **********
-
-	/**
-	 * The default element name is <code>value</code>.
-	 */
-	protected AbstractNestedDeclarationAnnotationAdapter(DeclarationAnnotationAdapter outerAnnotationAdapter, String annotationName) {
-		this(outerAnnotationAdapter, VALUE, annotationName);
-	}
-
-	protected AbstractNestedDeclarationAnnotationAdapter(DeclarationAnnotationAdapter outerAnnotationAdapter, String elementName, String annotationName) {
-		super(annotationName);
-		this.outerAnnotationAdapter = outerAnnotationAdapter;
-		this.elementName = elementName;
-	}
-
-
-	// ********** DeclarationAnnotationAdapter implementation **********
-
-	public Annotation getAnnotation(ModifiedDeclaration declaration) {
-		Annotation outer = this.outerAnnotationAdapter.getAnnotation(declaration);
-		if (outer == null) {
-			return null;
-		}
-		Expression value = this.elementValue(outer);
-		if (value == null) {
-			return null;
-		}
-		Annotation inner = this.getAnnotation(value);
-		if (inner == null) {
-			return null;
-		}
-		// return the annotation only if it has a matching name(?)
-		return this.nameMatches(declaration, inner) ? inner : null;
-	}
-
-	public void removeAnnotation(ModifiedDeclaration declaration) {
-		Annotation outer = this.outerAnnotationAdapter.getAnnotation(declaration);
-		if (outer == null) {
-			return;
-		}
-		Expression value = this.elementValue(outer);
-		if (value == null) {
-			return;
-		}
-		// hack to allow short-circuit when the value is an array initializer
-		if (this.removeAnnotation(declaration, outer, value)) {
-			return;
-		}
-		Annotation inner = this.annotationValue(value);
-		if (inner == null) {
-			return;
-		}
-		// remove the annotation only if it has a matching name(?)
-		if (this.nameMatches(declaration, inner)) {
-			this.removeElementAndNormalize(declaration, outer);
-		}
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		// if the annotation is missing, return the outer annotation's node
-		Annotation annotation = this.getAnnotation(declaration);
-		return (annotation != null) ? annotation : this.outerAnnotationAdapter.getAstNode(declaration);
-	}
-
-	@Override
-	protected void addAnnotation(ModifiedDeclaration declaration, Annotation inner) {
-		Annotation outer = this.outerAnnotationAdapter.getAnnotation(declaration);
-		if (outer == null) {
-			this.buildNewOuterAnnotation(declaration, inner);
-		} else if (outer.isMarkerAnnotation()) {
-			this.modifyAnnotation(declaration, (MarkerAnnotation) outer, inner);
-		} else if (outer.isSingleMemberAnnotation()) {
-			this.modifyAnnotation(declaration, (SingleMemberAnnotation) outer, inner);
-		} else if (outer.isNormalAnnotation()) {
-			this.modifyAnnotation(declaration, (NormalAnnotation) outer, inner);
-		} else {
-			throw new IllegalStateException("unknown annotation type: " + outer); //$NON-NLS-1$
-		}
-	}
-
-
-	// ********** abstract methods **********
-
-	/**
-	 * Return an annotation extracted from the specified expression,
-	 * which is the value of the adapter's element.
-	 */
-	protected abstract Annotation getAnnotation(Expression value);
-
-	/**
-	 * Remove the annotation from the specified expression,
-	 * which is the value of the adapter's element.
-	 * Return whether the removal was successful.
-	 */
-	protected abstract boolean removeAnnotation(ModifiedDeclaration declaration, Annotation outer, Expression value);
-
-	/**
-	 * Set the value of the specified outer annotation to the
-	 * specified inner annotation.
-	 */
-	protected abstract void modifyAnnotationValue(SingleMemberAnnotation outer, Annotation inner);
-
-	/**
-	 * Set the value of the specified member value pair to the
-	 * specified inner annotation.
-	 */
-	protected abstract void modifyMemberValuePair(MemberValuePair pair, Annotation inner);
-
-
-	// ********** public methods **********
-
-	public DeclarationAnnotationAdapter getOuterAnnotationAdapter() {
-		return this.outerAnnotationAdapter;
-	}
-
-	public String getElementName() {
-		return this.elementName;
-	}
-
-
-	// ********** internal methods **********
-
-	/**
-	 * If the specified expression is an annotation, cast it to an annotation;
-	 * otherwise return null.
-	 */
-	protected Annotation annotationValue(Expression expression) {
-		switch (expression.getNodeType()) {
-			case ASTNode.NORMAL_ANNOTATION:
-			case ASTNode.SINGLE_MEMBER_ANNOTATION:
-			case ASTNode.MARKER_ANNOTATION:
-				return (Annotation) expression;
-			default:
-				return null;
-		}
-	}
-
-	/**
-	 * Remove the <em>first</em> annotation element with the specified name
-	 * from the specified annotation, converting the annotation as appropriate.
-	 */
-	protected void removeElementAndNormalize(ModifiedDeclaration declaration, Annotation outer) {
-		if (outer.isNormalAnnotation()) {
-			this.removeElementAndNormalize(declaration, (NormalAnnotation) outer);
-		} else if (outer.isSingleMemberAnnotation()) {
-			this.removeElementAndNormalize(declaration, (SingleMemberAnnotation) outer);
-		} else if (outer.isMarkerAnnotation()) {
-			this.removeElementAndNormalize(declaration, (MarkerAnnotation) outer);
-		} else {
-			throw new IllegalArgumentException("unknown annotation type: " + outer); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Remove the <em>first</em> annotation element with the adapter's element
-	 * name from the specified annotation. Convert the annotation to
-	 * a marker annotation or single member annotation if appropriate.
-	 * <pre>
-	 * &#64;Outer(name="Fred", foo=&#64;Inner) => &#64;Outer(name="Fred")
-	 * &#64;Outer(foo=&#64;Inner) => &#64;Outer
-	 * </pre>
-	 */
-	protected void removeElementAndNormalize(ModifiedDeclaration declaration, NormalAnnotation outer) {
-		this.removeElement(outer);
-		this.normalizeAnnotation(declaration, outer);
-	}
-
-	/**
-	 * Remove from the specified annotation the element with
-	 * the adapter's element name.
-	 */
-	protected void removeElement(NormalAnnotation annotation) {
-		for (Iterator<MemberValuePair> stream = this.values(annotation).iterator(); stream.hasNext(); ) {
-			MemberValuePair pair = stream.next();
-			if (pair.getName().getFullyQualifiedName().equals(this.elementName)) {
-				stream.remove();
-				break;
-			}
-		}
-	}
-
-	/**
-	 * Convert the specified normal annotation to a marker annotation or
-	 * single member annotation if appropriate.
-	 */
-	protected void normalizeAnnotation(ModifiedDeclaration declaration, NormalAnnotation outer) {
-		List<MemberValuePair> values = this.values(outer);
-		switch (values.size()) {
-			case 0:
-				// if the elements are all gone, convert the annotation to a marker annotation
-				this.outerAnnotationAdapter.newMarkerAnnotation(declaration);
-				break;
-			case 1:
-				MemberValuePair pair = values.get(0);
-				if (pair.getName().getFullyQualifiedName().equals(VALUE)) {
-					// if the last remaining element is 'value', convert the annotation to a single member annotation
-					Expression vv = pair.getValue();
-					vv = (Expression) ASTNode.copySubtree(vv.getAST(), vv);
-					this.outerAnnotationAdapter.newSingleMemberAnnotation(declaration).setValue(vv);
-				}
-				break;
-			default:
-				// do nothing
-				break;
-		}
-	}
-
-	/**
-	 * Convert the specified single member annotation to a marker annotation
-	 * if the adapter's element name is <code>value</code>.
-	 */
-	protected void removeElementAndNormalize(ModifiedDeclaration declaration, @SuppressWarnings("unused") SingleMemberAnnotation outer) {
-		if (this.elementName.equals(VALUE)) {
-			this.outerAnnotationAdapter.newMarkerAnnotation(declaration);
-		}
-	}
-
-	protected void removeElementAndNormalize(@SuppressWarnings("unused") ModifiedDeclaration declaration, @SuppressWarnings("unused") MarkerAnnotation outer) {
-		// NOP
-	}
-
-	/**
-	 * Return the value of the *first* annotation element
-	 * with the adapter's element name.
-	 * Return null if the annotation has no such element.
-	 * (An element name of "value" will return the value of a single
-	 * member annotation.)
-	 */
-	protected Expression elementValue(Annotation annotation) {
-		if (annotation.isNormalAnnotation()) {
-			return this.elementValue((NormalAnnotation) annotation);
-		}
-		if (annotation.isSingleMemberAnnotation()) {
-			return this.elementValue((SingleMemberAnnotation) annotation);
-		}
-		return null;
-	}
-
-	protected Expression elementValue(NormalAnnotation annotation) {
-		MemberValuePair pair = this.memberValuePair(annotation);
-		return (pair == null) ? null : pair.getValue();
-	}
-
-	/**
-	 * If the adapter's element name is "value", return the value of the
-	 * annotation, otherwise return null.
-	 */
-	protected Expression elementValue(SingleMemberAnnotation annotation) {
-		return this.elementName.equals(VALUE) ? annotation.getValue() : null;
-	}
-
-	/**
-	 * Return the *first* member value pair for the adapter's element name.
-	 * Return null if the specified annotation has no such element.
-	 */
-	protected MemberValuePair memberValuePair(NormalAnnotation annotation) {
-		for (MemberValuePair pair : this.values(annotation)) {
-			if (pair.getName().getFullyQualifiedName().equals(this.elementName)) {
-				return pair;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Build a new outer annotation and add the specified
-	 * inner annotation to it:
-	 * <pre>
-	 *     &#64;Outer(&#64;Inner)
-	 * </pre>
-	 * or
-	 * <pre>
-	 *     &#64;Outer(foo=&#64;Inner)
-	 * </pre>
-	 */
-	protected void buildNewOuterAnnotation(ModifiedDeclaration declaration, Annotation inner) {
-		if (this.elementName.equals(VALUE)) {
-			this.outerAnnotationAdapter.newSingleMemberAnnotation(declaration).setValue(this.buildNewInnerExpression(inner));
-		} else {
-			List<MemberValuePair> values = this.values(this.outerAnnotationAdapter.newNormalAnnotation(declaration));
-			values.add(this.newMemberValuePair(this.buildNewInnerExpression(inner)));
-		}
-	}
-
-	/**
-	 * Build an expression to be added to a new outer annotation
-	 * for the specified inner annotation.
-	 */
-	protected abstract Expression buildNewInnerExpression(Annotation inner);
-
-	/**
-	 * Build a new member value pair with the specified name and value.
-	 */
-	protected MemberValuePair newMemberValuePair(String name, Expression value) {
-		AST ast = value.getAST();
-		MemberValuePair pair = ast.newMemberValuePair();
-		pair.setName(ast.newSimpleName(name));
-		pair.setValue(value);
-		return pair;
-	}
-
-	/**
-	 * Build a new member value pair with the adapter's element name
-	 * and the specified inner annotation.
-	 */
-	protected MemberValuePair newMemberValuePair(Expression value) {
-		return this.newMemberValuePair(this.elementName, value);
-	}
-
-	/**
-	 * Add the specified inner annotation to the marker annotation.
-	 */
-	protected void modifyAnnotation(ModifiedDeclaration declaration, @SuppressWarnings("unused") MarkerAnnotation outer, Annotation inner) {
-		this.buildNewOuterAnnotation(declaration, inner);
-	}
-
-	/**
-	 * Add the specified inner annotation to the single member annotation.
-	 */
-	protected void modifyAnnotation(ModifiedDeclaration declaration, SingleMemberAnnotation outer, Annotation inner) {
-		if (this.elementName.equals(VALUE)) {
-			this.modifyAnnotationValue(outer, inner);
-		} else {
-			this.modifyAnnotationNonValue(declaration, outer, inner);
-		}
-	}
-
-	/**
-	 * Add the specified inner annotation to the single member annotation,
-	 * converting it to a normal annotation:
-	 * <pre>
-	 *     &#64;Outer("lorem ipsum") => &#64;Outer(value="lorem ipsum", foo=&#64;Inner)
-	 * </pre>
-	 */
-	protected void modifyAnnotationNonValue(ModifiedDeclaration declaration, SingleMemberAnnotation outer, Annotation inner) {
-		Expression vv = outer.getValue();
-		vv = (Expression) ASTNode.copySubtree(vv.getAST(), vv);
-		NormalAnnotation newOuter = this.outerAnnotationAdapter.newNormalAnnotation(declaration);
-		List<MemberValuePair> values = this.values(newOuter);
-		values.add(this.newMemberValuePair(VALUE, vv));
-		values.add(this.newMemberValuePair(this.buildNewInnerExpression(inner)));
-	}
-
-	/**
-	 * Add the specified inner annotation to the normal annotation:
-	 * <pre>
-	 *     &#64;Outer(bar="lorem ipsum") => &#64;Outer(bar="lorem ipsum", foo=&#64;Inner)
-	 * </pre>
-	 * or
-	 * <pre>
-	 *     &#64;Outer(foo=&#64;Inner("lorem ipsum")) => &#64;Outer(foo=&#64;Inner)
-	 * </pre>
-	 */
-	protected void modifyAnnotation(@SuppressWarnings("unused") ModifiedDeclaration declaration, NormalAnnotation outer, Annotation inner) {
-		MemberValuePair pair = this.memberValuePair(outer);
-		if (pair == null) {
-			List<MemberValuePair> values = this.values(outer);
-			values.add(this.newMemberValuePair(inner));
-		} else {
-			this.modifyMemberValuePair(pair, inner);
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotatedElementAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotatedElementAnnotationElementAdapter.java
deleted file mode 100644
index 4419a56..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotatedElementAnnotationElementAdapter.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
- /**
- * Adapt an annotated element and a declaration annotation element adapter.
- */
-public class AnnotatedElementAnnotationElementAdapter<T>
-	implements AnnotationElementAdapter<T>
-{
-	private final AnnotatedElement annotatedElement;
-	private final DeclarationAnnotationElementAdapter<T> daea;
-
-
-	// ********** constructor **********
-
-	public AnnotatedElementAnnotationElementAdapter(AnnotatedElement annotatedElement, DeclarationAnnotationElementAdapter<T> daea) {
-		super();
-		this.annotatedElement = annotatedElement;
-		this.daea = daea;
-	}
-
-
-	// ********** AnnotationElementAdapter implementation **********
-
-	public T getValue() {
-		return this.daea.getValue(this.annotatedElement.getModifiedDeclaration());
-	}
-
-	public T getValue(CompilationUnit astRoot) {
-		return this.daea.getValue(this.annotatedElement.getModifiedDeclaration(astRoot));
-	}
-
-	public void setValue(T value) {
-		this.edit(this.buildSetValueEditor(value));
-	}
-
-	public Expression getExpression(CompilationUnit astRoot) {
-		return this.daea.getExpression(this.annotatedElement.getModifiedDeclaration(astRoot));
-	}
-
-	public ASTNode getAstNode(CompilationUnit astRoot) {
-		return this.daea.getAstNode(this.annotatedElement.getModifiedDeclaration(astRoot));
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.daea);
-	}
-
-
-	// ********** internal methods **********
-
-	protected void edit(AnnotatedElement.Editor editor) {
-		this.annotatedElement.edit(editor);
-	}
-
-	protected AnnotatedElement.Editor buildSetValueEditor(T value) {
-		return new SetValueEditor<T>(value, this.daea);
-	}
-
-
-	// ********** member classes **********
-
-	protected static class SetValueEditor<T> implements AnnotatedElement.Editor {
-		private final DeclarationAnnotationElementAdapter<T> daea;
-		private final T value;
-
-		SetValueEditor(T value, DeclarationAnnotationElementAdapter<T> daea) {
-			super();
-			this.value = value;
-			this.daea = daea;
-		}
-		public void edit(ModifiedDeclaration declaration) {
-			this.daea.setValue(this.value, declaration);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotationStringArrayExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotationStringArrayExpressionConverter.java
deleted file mode 100644
index 337a054..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotationStringArrayExpressionConverter.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ArrayInitializer;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedExpressionConverter;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Convert an array initializer or single expression to/from an array of
- * strings (e.g. {"text0", "text1"}).
- * E is the type of the expressions to be found either stand-alone or
- * as elements in the array initializer.
- */
-public class AnnotationStringArrayExpressionConverter
-	extends AbstractExpressionConverter<String[]>
-	implements IndexedExpressionConverter<String>
-{
-	private final ExpressionConverter<String> elementConverter;
-	private final StringArrayExpressionConverter arrayConverter;
-
-
-	/**
-	 * The default behavior is to remove the array initializer if it is empty.
-	 */
-	public AnnotationStringArrayExpressionConverter(ExpressionConverter<String> elementConverter) {
-		this(elementConverter, true);
-	}
-
-	public AnnotationStringArrayExpressionConverter(ExpressionConverter<String> elementConverter, boolean removeArrayInitializerWhenEmpty) {
-		super();
-		this.elementConverter = elementConverter;
-		this.arrayConverter = new StringArrayExpressionConverter(elementConverter, removeArrayInitializerWhenEmpty);
-	}
-
-	/**
-	 * if we only have a single string in the array return the single expression,
-	 * without braces, instead of an array initializer
-	 */
-	@Override
-	protected Expression convertObject(String[] strings, AST ast) {
-		return (strings.length == 1) ?
-				this.elementConverter.convert(strings[0], ast) :
-				this.arrayConverter.convertObject(strings, ast);
-	}
-
-	@Override
-	protected String[] convertNull() {
-		return this.arrayConverter.convertNull();
-	}
-
-	/**
-	 * check for a single expression with no surrounding braces, implying a
-	 * single-entry array
-	 */
-	@Override
-	protected String[] convertExpression(Expression expression) {
-		return (expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) ?
-				this.convertArrayInitializer((ArrayInitializer) expression) :
-				this.convertNonArrayInitializer(expression);
-	}
-
-	protected String[] convertArrayInitializer(ArrayInitializer arrayInitializer) {
-		return this.arrayConverter.convertArrayInitializer(arrayInitializer);
-	}
-
-	/**
-	 * The specified expression is <em>not</em> an array initializer.
-	 * If we have trouble converting the standalone expression, simply return an
-	 * empty array (as opposed to an array with a <code>null</code> element).
-	 */
-	protected String[] convertNonArrayInitializer(Expression expression) {
-		String element = this.elementConverter.convert(expression);
-		return (element == null) ? StringTools.EMPTY_STRING_ARRAY : new String[] { element };
-	}
-
-	public Expression selectExpression(Expression expression, int index) {
-		if (expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-			return this.arrayConverter.selectExpression(expression, index);
-		}
-		if (index == 0) {
-			return expression;
-		}
-		throw new ArrayIndexOutOfBoundsException();
-	}
-
-
-	// ********** factory methods **********
-
-	/**
-	 * Build an expression converter for an annotation element of type String[].
-	 *     @Foo(bar={"text0", "text1"})
-	 * or
-	 *     @Foo(bar="text0")
-	 */
-	public static AnnotationStringArrayExpressionConverter forStrings() {
-		return new AnnotationStringArrayExpressionConverter(StringExpressionConverter.instance());
-	}
-
-	/**
-	 * Build an expression converter for an annotation element of type <enum>[].
-	 *     @Foo(bar={BAZ, BAT})
-	 * or
-	 *     @Foo(bar=BAZ)
-	 */
-	public static AnnotationStringArrayExpressionConverter forNames() {
-		return new AnnotationStringArrayExpressionConverter(NameStringExpressionConverter.instance());
-	}
-
-
-	/**
-	 * Build an expression converter for an annotation element of type Class[].
-	 *     @Foo(bar={Baz.class, Bat.class})
-	 * or
-	 *     @Foo(bar=Baz.class)
-	 */
-	public static AnnotationStringArrayExpressionConverter forTypes() {
-		return new AnnotationStringArrayExpressionConverter(TypeStringExpressionConverter.instance());
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/BooleanExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/BooleanExpressionConverter.java
deleted file mode 100644
index f33a719..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/BooleanExpressionConverter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.BooleanLiteral;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-
-/**
- * Convert a boolean literal to/from a Boolean
- * (e.g. Boolean.TRUE).
- */
-public final class BooleanExpressionConverter
-	extends AbstractExpressionConverter<Boolean>
-{
-	private static final ExpressionConverter<Boolean> INSTANCE = new BooleanExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<Boolean> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private BooleanExpressionConverter() {
-		super();
-	}
-
-	@Override
-	protected BooleanLiteral convertObject(Boolean booleanObject, AST ast) {
-		return ast.newBooleanLiteral(booleanObject.booleanValue());
-	}
-
-	@Override
-	protected Boolean convertExpression(Expression expression) {
-		Object value = expression.resolveConstantExpressionValue();
-		return (value instanceof Boolean) ? ((Boolean) value) : null;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/CharacterStringExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/CharacterStringExpressionConverter.java
deleted file mode 100644
index cfb4705..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/CharacterStringExpressionConverter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.CharacterLiteral;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-
-/**
- * Convert a character literal to/from a string representation of a character
- * (e.g. "A").
- */
-public final class CharacterStringExpressionConverter
-	extends AbstractExpressionConverter<String>
-{
-	private static final ExpressionConverter<String> INSTANCE = new CharacterStringExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<String> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private CharacterStringExpressionConverter() {
-		super();
-	}
-	
-	@Override
-	protected CharacterLiteral convertObject(String string, AST ast) {
-		CharacterLiteral characterLiteral = ast.newCharacterLiteral();
-		characterLiteral.setCharValue(string.charAt(0));
-		return characterLiteral;
-	}
-
-	@Override
-	protected String convertExpression(Expression expression) {
-		Object value = expression.resolveConstantExpressionValue();
-		return (value instanceof Character) ? ((Character) value).toString() : null;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/CombinationIndexedDeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/CombinationIndexedDeclarationAnnotationAdapter.java
deleted file mode 100644
index dde05b2..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/CombinationIndexedDeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,500 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Manipulate an annotation that either occurs stand-alone, e.g.
- * <pre>
- *     &#64;Inner("zero")
- *     private int id;
- * </pre>
- *     
- * or is embedded in an element array within another annotation, e.g.
- * <pre>
- *     &#64;Outer(foo={&#64;Inner("zero"), &#64;Inner("one"), &#64;Inner("two")})
- *     private int id;
- *     
- *         annotationName = "Inner"
- *         containerAnnotationName = "Outer"
- *         elementName = "foo"
- *         index = 0-2
- * </pre>
- * 
- * This is a useful pattern because a declaration cannot have more
- * than one annotation of the same type, and allowing the stand-alone
- * configuration reduces clutter.
- * <br>
- * NB: This configuration only makes sense for "top-level" annotations, as
- * opposed to "nested" annotations. This is because annotation elements
- * can only be declared with a type of a single annotation and annotations
- * cannot be part of an inheritance hierarchy.
- * For example, the following configurations cannot *both* be supported:
- * <pre>
- *     &#64;Foo(bar=&#64;Outer(...))
- *     private int id;
- * 
- *     &#64;Foo(bar=&#64;Inner(...))  // not allowed
- *     private int id;
- * </pre>
- * 
- * NB: Behavior is undefined when both the stand-alone and the nested
- * configurations annotate the same declaration, e.g.
- * <pre>
- *     // undefined behavior
- *     &#64;Inner("zero")
- *     &#64;Outer(foo={&#64;Inner("zero"), &#64;Inner("one"), &#64;Inner("two")})
- *     private int id;
- * </pre>
- */
-public class CombinationIndexedDeclarationAnnotationAdapter
-	implements IndexedDeclarationAnnotationAdapter
-{
-
-	/**
-	 * this adapter is used when the annotation is "stand-alone":
-	 * <pre>
-	 *     &#64;Inner("zero")
-	 * </pre>
-	 * and is only used when the index is 0 or 1
-	 */
-	private final DeclarationAnnotationAdapter standAloneAnnotationAdapter;
-
-	/**
-	 * this adapter is used when the annotation is "nested":
-	 * <pre>
-	 *     &#64;Outer(foo={&#64;Inner("zero"), &#64;Inner("one")})
-	 * </pre>
-	 */
-	private final NestedIndexedDeclarationAnnotationAdapter nestedAnnotationAdapter;
-
-	/**
-	 * this adapter is for the "nested" annotation at the zero index;
-	 * and is only used when the index is 1
-	 */
-	private final NestedIndexedDeclarationAnnotationAdapter zeroNestedAnnotationAdapter;
-
-	// reduce NLS checks
-	protected static final String VALUE = "value"; //$NON-NLS-1$
-
-
-	// ********** constructors **********
-
-	/**
-	 * default element name is "value"
-	 * <pre>
-	 *     &#64;Inner("zero")
-	 *     &#64;Outer({&#64;Inner("zero"), &#64;Inner("one")})
-	 * </pre>
-	 */
-	public CombinationIndexedDeclarationAnnotationAdapter(String annotationName, String containerAnnotationName, int index) {
-		this(annotationName, containerAnnotationName, VALUE, index);
-	}
-
-	public CombinationIndexedDeclarationAnnotationAdapter(String annotationName, String containerAnnotationName, String elementName, int index) {
-		this(new SimpleDeclarationAnnotationAdapter(annotationName), new SimpleDeclarationAnnotationAdapter(containerAnnotationName), elementName, index, annotationName);
-	}
-
-	/**
-	 * default element name is "value"
-	 */
-	public CombinationIndexedDeclarationAnnotationAdapter(
-			DeclarationAnnotationAdapter standAloneAnnotationAdapter, 
-			DeclarationAnnotationAdapter containerAnnotationAdapter, 
-			int index, 
-			String nestedAnnotationName
-	) {
-		this(standAloneAnnotationAdapter, containerAnnotationAdapter, VALUE, index, nestedAnnotationName);
-	}
-
-	public CombinationIndexedDeclarationAnnotationAdapter(
-			DeclarationAnnotationAdapter standAloneAnnotationAdapter, 
-			DeclarationAnnotationAdapter containerAnnotationAdapter, 
-			String elementName, 
-			int index, 
-			String nestedAnnotationName
-	) {
-		super();
-		this.standAloneAnnotationAdapter = standAloneAnnotationAdapter;
-		this.nestedAnnotationAdapter = new NestedIndexedDeclarationAnnotationAdapter(containerAnnotationAdapter, elementName, index, nestedAnnotationName);
-		this.zeroNestedAnnotationAdapter = new NestedIndexedDeclarationAnnotationAdapter(containerAnnotationAdapter, elementName, 0, nestedAnnotationName);
-	}
-
-
-	// ********** DeclarationAnnotationAdapter implementation **********
-
-	public Annotation getAnnotation(ModifiedDeclaration declaration) {
-		if (this.getIndex() == 0) {
-			// check for the stand-alone annotation
-			Annotation standAloneAnnotation = this.getStandAloneAnnotation(declaration);
-			if (standAloneAnnotation != null) {
-				return standAloneAnnotation;
-			}
-		}
-		return this.getNestedAnnotation(declaration);
-	}
-
-	/**
-	 * <pre>
-	 * [none] => &#64;Inner
-	 *     or
-	 * &#64;Inner("lorem ipsum") => &#64;Inner
-	 *     or
-	 * &#64;Inner(text="lorem ipsum") => &#64;Inner
-	 *     or
-	 * &#64;Outer(foo={&#64;Inner, &#64;Inner}) => &#64;Outer(foo={&#64;Inner, &#64;Inner, &#64;Inner})
-	 *     or
-	 * &#64;Outer(foo=&#64;Inner) => &#64;Outer(foo={&#64;Inner, &#64;Inner})
-	 *     or
-	 * &#64;Inner => &#64;Outer(foo={&#64;Inner, &#64;Inner})
-	 *     etc.
-	 * </pre>
-	 */
-	public MarkerAnnotation newMarkerAnnotation(ModifiedDeclaration declaration) {
-		return (MarkerAnnotation) this.newAnnotation(MARKER_ANNOTATION_FACTORY, declaration);
-	}
-
-	public SingleMemberAnnotation newSingleMemberAnnotation(ModifiedDeclaration declaration) {
-		return (SingleMemberAnnotation) this.newAnnotation(SINGLE_MEMBER_ANNOTATION_FACTORY, declaration);
-	}
-
-	public NormalAnnotation newNormalAnnotation(ModifiedDeclaration declaration) {
-		return (NormalAnnotation) this.newAnnotation(NORMAL_ANNOTATION_FACTORY, declaration);
-	}
-
-	public void removeAnnotation(ModifiedDeclaration declaration) {
-		if (this.getIndex() == 0) {
-			// check for the stand-alone annotation
-			if (this.standAloneAnnotationIsPresent(declaration)) {
-				this.removeStandAloneAnnotation(declaration);
-				return;
-			}
-		}
-		this.removeNestedAnnotation(declaration);
-		if (this.nestedElementCanBeConvertedToStandAlone(declaration)) {
-			this.convertLastElementAnnotationToStandAloneAnnotation(declaration);
-		}
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		// if the annotation is missing, delegate to the nested annotation adapter
-		Annotation annotation = this.getAnnotation(declaration);
-		return (annotation != null) ? annotation : this.nestedAnnotationAdapter.getAstNode(declaration);
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.getAnnotationName());
-	}
-
-
-	// ********** IndexedDeclarationAnnotationAdapter implementation **********
-
-	public int getIndex() {
-		return this.nestedAnnotationAdapter.getIndex();
-	}
-
-	public void moveAnnotation(int newIndex, ModifiedDeclaration declaration) {
-		int oldIndex = this.getIndex();
-		if (newIndex == oldIndex) {
-			return;
-		}
-
-		Annotation standAloneAnnotation = this.getStandAloneAnnotation(declaration);
-		if (standAloneAnnotation == null) {
-			this.moveNestedAnnotation(newIndex, declaration);
-			if (this.nestedElementCanBeConvertedToStandAlone(declaration)) {
-				this.convertLastElementAnnotationToStandAloneAnnotation(declaration);
-			}
-		} else {
-			if ((oldIndex == 0) && (newIndex == 1)) {
-				// this is one of two situations where we transition from stand-alone to container
-				this.moveStandAloneAnnotationToContainerAnnotation(standAloneAnnotation, declaration);
-				this.moveNestedAnnotation(newIndex, declaration);
-			} else if (newIndex == 0) {
-				// we are moving a 'null' entry on top of the stand-alone, so remove it
-				this.removeStandAloneAnnotation(declaration);
-			} else {
-				throw new IllegalStateException("old index = " + oldIndex + "; new index = " + newIndex); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-
-	// ********** internal methods **********
-
-	/**
-	 * build the appropriate new annotation,
-	 * which may require moving the 0th annotation from "stand-alone" to "nested"
-	 */
-	private Annotation newAnnotation(AnnotationFactory annotationFactory, ModifiedDeclaration declaration) {
-		if (this.getIndex() ==  0) {
-			return this.newZeroAnnotation(annotationFactory, declaration);
-		}
-		if (this.zeroNestedAnnotationIsPresent(declaration)) {
-			// manipulate the container annotation - ignore the stand-alone annotation(?)
-			// @Outer(foo=@Inner("zero")) => @Outer(foo={@Inner("zero"), @Inner})
-			//     or
-			// @Outer(foo={@Inner("zero"), @Inner("one")}) => @Outer(foo={@Inner("zero"), @Inner})
-			return annotationFactory.newAnnotation(this.nestedAnnotationAdapter, declaration);
-		}
-
-		// this is one of two situations where we transition from stand-alone to container
-		this.moveStandAloneAnnotationToContainerAnnotation(declaration);
-		// once the stand-alone annotation is moved to index=0, build the new annotation at index=1
-		return annotationFactory.newAnnotation(this.nestedAnnotationAdapter, declaration);
-	}
-
-	/**
-	 * the index is 0 - build the appropriate new annotation,
-	 * which may be either "stand-alone" or "nested"
-	 */
-	private Annotation newZeroAnnotation(AnnotationFactory annotationFactory, ModifiedDeclaration declaration) {
-		if (this.standAloneAnnotationIsPresent(declaration)) {
-			// replace the stand-alone annotation - ignore the container annotation(?)
-			// @Inner(text="lorem ipsum") => @Inner
-			return annotationFactory.newAnnotation(this.standAloneAnnotationAdapter, declaration);
-		}
-		if (this.containerAnnotationIsPresent(declaration)) {
-			// manipulate the container annotation
-			// @Outer(foo=@Inner(text="lorem ipsum")) => @Outer(foo=@Inner)
-			return annotationFactory.newAnnotation(this.nestedAnnotationAdapter, declaration);
-		}
-		// neither annotation is present - add a new stand-alone annotation
-		return annotationFactory.newAnnotation(this.standAloneAnnotationAdapter, declaration);
-	}
-
-	/**
-	 * move the stand-alone annotation to the container annotation at index=0
-	 */
-	private void moveStandAloneAnnotationToContainerAnnotation(ModifiedDeclaration declaration) {
-		Annotation standAloneAnnotation = this.getStandAloneAnnotation(declaration);
-		if (standAloneAnnotation == null) {
-			throw new IllegalStateException("the stand-alone annotation is missing"); //$NON-NLS-1$
-		}
-		this.moveStandAloneAnnotationToContainerAnnotation(standAloneAnnotation, declaration);
-	}
-
-	/**
-	 * move the specified, non-null, stand-alone annotation to
-	 * the container annotation at index=0
-	 */
-	private void moveStandAloneAnnotationToContainerAnnotation(Annotation standAloneAnnotation, ModifiedDeclaration declaration) {
-		if (standAloneAnnotation.isMarkerAnnotation()) {
-			this.zeroNestedAnnotationAdapter.newMarkerAnnotation(declaration);
-		} else if (standAloneAnnotation.isSingleMemberAnnotation()) {
-			Expression vv = ((SingleMemberAnnotation) standAloneAnnotation).getValue();
-			vv = (Expression) ASTNode.copySubtree(vv.getAST(), vv);
-			this.zeroNestedAnnotationAdapter.newSingleMemberAnnotation(declaration).setValue(vv);
-		} else if (standAloneAnnotation.isNormalAnnotation()) {
-			NormalAnnotation newNA = this.zeroNestedAnnotationAdapter.newNormalAnnotation(declaration);
-			List<MemberValuePair> values = this.values(newNA);
-			for (MemberValuePair pair : this.values((NormalAnnotation) standAloneAnnotation)) {
-				values.add((MemberValuePair) ASTNode.copySubtree(pair.getAST(), pair));
-			}
-		} else {
-			throw new IllegalStateException("unknown annotation type: " + standAloneAnnotation); //$NON-NLS-1$
-		}
-		this.removeStandAloneAnnotation(declaration);
-	}
-
-	/**
-	 * return whether the "nested" annotation container has been reduced to
-	 * a single element (and the array initializer is converted to just
-	 * the single remaining element) and can be further converted to the
-	 * "stand-alone" annotation:
-	 * <pre>
-	 *     &#64;Outer(foo={&#64;Inner("zero"), &#64;Inner("one")}) =>
-	 *     &#64;Outer(foo=&#64;Inner("zero")) =>
-	 *     &#64;Inner("zero")
-	 * </pre>
-	 */
-	private boolean nestedElementCanBeConvertedToStandAlone(ModifiedDeclaration declaration) {
-		Annotation containerAnnotation = this.getContainerAnnotation(declaration);
-		if (containerAnnotation == null) {
-			return false;
-		}
-		if (containerAnnotation.isMarkerAnnotation()) {
-			return false;
-		}
-		if (containerAnnotation.isSingleMemberAnnotation()) {
-			if (this.getElementName().equals(VALUE)) {
-				return (((SingleMemberAnnotation) containerAnnotation).getValue().getNodeType() != ASTNode.ARRAY_INITIALIZER)
-						&& (this.zeroNestedAnnotationAdapter.getAnnotation(declaration) != null);
-			}
-			return false;
-		}
-		if (containerAnnotation.isNormalAnnotation()) {
-			NormalAnnotation na = (NormalAnnotation) containerAnnotation;
-			if (na.values().size() == 0) {
-				return false;  // there are no elements present
-			}
-			if (na.values().size() != 1) {
-				return false;  // there are other elements present - leave them all alone
-			}
-			MemberValuePair pair = (MemberValuePair) na.values().get(0);
-			if (this.getElementName().equals(pair.getName().getFullyQualifiedName())) {
-				return (pair.getValue().getNodeType() != ASTNode.ARRAY_INITIALIZER)
-						&& (this.zeroNestedAnnotationAdapter.getAnnotation(declaration) != null);
-			}
-			return false;
-		}
-		throw new IllegalStateException("unknown annotation type: " + containerAnnotation); //$NON-NLS-1$
-	}
-
-	/**
-	 * move the annotation in the container annotation at index=0
-	 * to the stand-alone annotation
-	 */
-	private void convertLastElementAnnotationToStandAloneAnnotation(ModifiedDeclaration declaration) {
-		Annotation last = this.zeroNestedAnnotationAdapter.getAnnotation(declaration);
-		if (last == null) {
-			throw new IllegalStateException("the last nested annotation is missing"); //$NON-NLS-1$
-		} else if (last.isMarkerAnnotation()) {
-			this.newStandAloneMarkerAnnotation(declaration);
-		} else if (last.isSingleMemberAnnotation()) {
-			Expression vv = ((SingleMemberAnnotation) last).getValue();
-			vv = (Expression) ASTNode.copySubtree(vv.getAST(), vv);
-			this.newStandAloneSingleMemberAnnotation(declaration).setValue(vv);
-		} else if (last.isNormalAnnotation()) {
-			NormalAnnotation newNA = this.newStandAloneNormalAnnotation(declaration);
-			List<MemberValuePair> values = this.values(newNA);
-			for (MemberValuePair pair : this.values((NormalAnnotation) last)) {
-				values.add((MemberValuePair) ASTNode.copySubtree(pair.getAST(), pair));
-			}
-		} else {
-			throw new IllegalStateException("unknown annotation type: " + last); //$NON-NLS-1$
-		}
-		this.removeContainerAnnotation(declaration);
-	}
-
-	private boolean standAloneAnnotationIsPresent(ModifiedDeclaration declaration) {
-		return this.getStandAloneAnnotation(declaration) != null;
-	}
-
-	private Annotation getStandAloneAnnotation(ModifiedDeclaration declaration) {
-		return this.standAloneAnnotationAdapter.getAnnotation(declaration);
-	}
-
-	private MarkerAnnotation newStandAloneMarkerAnnotation(ModifiedDeclaration declaration) {
-		return this.standAloneAnnotationAdapter.newMarkerAnnotation(declaration);
-	}
-
-	private SingleMemberAnnotation newStandAloneSingleMemberAnnotation(ModifiedDeclaration declaration) {
-		return this.standAloneAnnotationAdapter.newSingleMemberAnnotation(declaration);
-	}
-
-	private NormalAnnotation newStandAloneNormalAnnotation(ModifiedDeclaration declaration) {
-		return this.standAloneAnnotationAdapter.newNormalAnnotation(declaration);
-	}
-
-	private void removeStandAloneAnnotation(ModifiedDeclaration declaration) {
-		this.standAloneAnnotationAdapter.removeAnnotation(declaration);
-	}
-
-	private Annotation getNestedAnnotation(ModifiedDeclaration declaration) {
-		return this.nestedAnnotationAdapter.getAnnotation(declaration);
-	}
-
-	private void moveNestedAnnotation(int newIndex, ModifiedDeclaration declaration) {
-		this.nestedAnnotationAdapter.moveAnnotation(newIndex, declaration);
-	}
-
-	private void removeNestedAnnotation(ModifiedDeclaration declaration) {
-		this.nestedAnnotationAdapter.removeAnnotation(declaration);
-	}
-
-	private boolean containerAnnotationIsPresent(ModifiedDeclaration declaration) {
-		return this.getContainerAnnotation(declaration) != null;
-	}
-
-	private Annotation getContainerAnnotation(ModifiedDeclaration declaration) {
-		return this.nestedAnnotationAdapter.getOuterAnnotationAdapter().getAnnotation(declaration);
-	}
-
-	private void removeContainerAnnotation(ModifiedDeclaration declaration) {
-		this.nestedAnnotationAdapter.getOuterAnnotationAdapter().removeAnnotation(declaration);
-	}
-
-	private boolean zeroNestedAnnotationIsPresent(ModifiedDeclaration declaration) {
-		return this.getZeroNestedAnnotation(declaration) != null;
-	}
-
-	private Annotation getZeroNestedAnnotation(ModifiedDeclaration declaration) {
-		return this.zeroNestedAnnotationAdapter.getAnnotation(declaration);
-	}
-
-	private String getAnnotationName() {
-		return this.nestedAnnotationAdapter.getAnnotationName();
-	}
-
-	private String getElementName() {
-		return this.nestedAnnotationAdapter.getElementName();
-	}
-
-	@SuppressWarnings("unchecked")
-	protected List<MemberValuePair> values(NormalAnnotation na) {
-		return na.values();
-	}
-
-
-	// ********** annotation factories **********
-
-	/**
-	 * define interface that allows us to "re-use" the nasty code in
-	 * #newAnnotation(AnnotationFactory, ModifiedDeclaration)
-	 */
-	private interface AnnotationFactory {
-		Annotation newAnnotation(DeclarationAnnotationAdapter adapter, ModifiedDeclaration declaration);
-	}
-
-	private static final AnnotationFactory MARKER_ANNOTATION_FACTORY = new AnnotationFactory() {
-		public Annotation newAnnotation(DeclarationAnnotationAdapter adapter, ModifiedDeclaration declaration) {
-			return adapter.newMarkerAnnotation(declaration);
-		}
-		@Override
-		public String toString() {
-			return "MarkerAnnotationFactory"; //$NON-NLS-1$
-		}
-	};
-
-	private static final AnnotationFactory SINGLE_MEMBER_ANNOTATION_FACTORY = new AnnotationFactory() {
-		public Annotation newAnnotation(DeclarationAnnotationAdapter adapter, ModifiedDeclaration declaration) {
-			return adapter.newSingleMemberAnnotation(declaration);
-		}
-		@Override
-		public String toString() {
-			return "SingleMemberAnnotationFactory"; //$NON-NLS-1$
-		}
-	};
-
-	private static final AnnotationFactory NORMAL_ANNOTATION_FACTORY = new AnnotationFactory() {
-		public Annotation newAnnotation(DeclarationAnnotationAdapter adapter, ModifiedDeclaration declaration) {
-			return adapter.newNormalAnnotation(declaration);
-		}
-		@Override
-		public String toString() {
-			return "NormalAnnotationFactory"; //$NON-NLS-1$
-		}
-	};
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ConversionDeclarationAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ConversionDeclarationAnnotationElementAdapter.java
deleted file mode 100644
index fb934f3..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ConversionDeclarationAnnotationElementAdapter.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Wrap a declaration annotation element adapter that deals with AST
- * expressions, converting them to/from various other objects.
- * 
- * @param <T> the type of the object be passed to and returned by the adapter
- */
-public class ConversionDeclarationAnnotationElementAdapter<T>
-	implements DeclarationAnnotationElementAdapter<T>
-{
-	/**
-	 * The wrapped adapter that returns and takes AST expressions.
-	 */
-	protected final DeclarationAnnotationElementAdapter<Expression> adapter;
-
-	/**
-	 * The converter that converts AST expressions to other objects
-	 * (e.g. Strings).
-	 */
-	protected final ExpressionConverter<T> converter;
-
-
-	// ********** constructors **********
-
-	/**
-	 * The default element name is <code>value</code>.
-	 */
-	public ConversionDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, ExpressionConverter<T> converter) {
-		this(new ExpressionDeclarationAnnotationElementAdapter<Expression>(annotationAdapter), converter);
-	}
-
-	public ConversionDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName, ExpressionConverter<T> converter) {
-		this(new ExpressionDeclarationAnnotationElementAdapter<Expression>(annotationAdapter, elementName), converter);
-	}
-
-	public ConversionDeclarationAnnotationElementAdapter(DeclarationAnnotationElementAdapter<Expression> adapter, ExpressionConverter<T> converter) {
-		super();
-		this.adapter = adapter;
-		this.converter = converter;
-	}
-
-
-	// ********** DeclarationAnnotationElementAdapter implementation **********
-
-	public T getValue(ModifiedDeclaration declaration) {
-		Expression expression = this.adapter.getValue(declaration);
-		return this.converter.convert(expression);
-	}
-
-	public void setValue(T value, ModifiedDeclaration declaration) {
-		Expression expression;
-		try {
-			expression = this.converter.convert(value, declaration.getAst());
-		} catch (IllegalArgumentException ex) {
-			// if there is a problem converting the 'value' to an Expression we get this exception
-			return;  // don't set the value if it is "illegal"
-		}
-		this.adapter.setValue(expression, declaration);
-	}
-
-	public Expression getExpression(ModifiedDeclaration declaration) {
-		return this.adapter.getExpression(declaration);
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		return this.adapter.getAstNode(declaration);
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.adapter);
-	}
-
-
-	// ********** factory static methods **********
-
-	/**
-	 * The default element name is <code>value</code>;
-	 * the default expression converter expects string constant expressions.
-	 */
-	public static ConversionDeclarationAnnotationElementAdapter<String> forStrings(DeclarationAnnotationAdapter annotationAdapter) {
-		return new ConversionDeclarationAnnotationElementAdapter<String>(annotationAdapter, StringExpressionConverter.instance());
-	}
-
-	/**
-	 * The default expression converter expects string constant expressions.
-	 */
-	public static ConversionDeclarationAnnotationElementAdapter<String> forStrings(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
-		return new ConversionDeclarationAnnotationElementAdapter<String>(annotationAdapter, elementName, StringExpressionConverter.instance());
-	}
-
-	/**
-	 * The default element name is <code>value</code>;
-	 * the default expression converter expects number constant expressions.
-	 */
-	public static ConversionDeclarationAnnotationElementAdapter<Integer> forNumbers(DeclarationAnnotationAdapter annotationAdapter) {
-		return new ConversionDeclarationAnnotationElementAdapter<Integer>(annotationAdapter, NumberIntegerExpressionConverter.instance());
-	}
-
-	/**
-	 * The default expression converter expects number constant expressions.
-	 */
-	public static ConversionDeclarationAnnotationElementAdapter<Integer> forNumbers(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
-		return new ConversionDeclarationAnnotationElementAdapter<Integer>(annotationAdapter, elementName, NumberIntegerExpressionConverter.instance());
-	}
-
-	/**
-	 * The default element name is <code>value</code>;
-	 * the default expression converter expects boolean constant expressions.
-	 */
-	public static ConversionDeclarationAnnotationElementAdapter<Boolean> forBooleans(DeclarationAnnotationAdapter annotationAdapter) {
-		return new ConversionDeclarationAnnotationElementAdapter<Boolean>(annotationAdapter, BooleanExpressionConverter.instance());
-	}
-
-	/**
-	 * The default expression converter expects boolean constant expressions.
-	 */
-	public static ConversionDeclarationAnnotationElementAdapter<Boolean> forBooleans(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
-		return new ConversionDeclarationAnnotationElementAdapter<Boolean>(annotationAdapter, elementName, BooleanExpressionConverter.instance());
-	}
-
-	/**
-	 * The default element name is <code>value</code>;
-	 * the default expression converter expects character constant expressions.
-	 */
-	public static ConversionDeclarationAnnotationElementAdapter<String> forCharacters(DeclarationAnnotationAdapter annotationAdapter) {
-		return new ConversionDeclarationAnnotationElementAdapter<String>(annotationAdapter, CharacterStringExpressionConverter.instance());
-	}
-
-	/**
-	 * The default expression converter expects character constant expressions.
-	 */
-	public static ConversionDeclarationAnnotationElementAdapter<String> forCharacters(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
-		return new ConversionDeclarationAnnotationElementAdapter<String>(annotationAdapter, elementName, CharacterStringExpressionConverter.instance());
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/DefaultAnnotationEditFormatter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/DefaultAnnotationEditFormatter.java
deleted file mode 100644
index 97264a9..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/DefaultAnnotationEditFormatter.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-
-/**
- * This implementation will clean up some of the nasty Eclipse annotation
- * formatting (or lack thereof); e.g. arrays of annotations.
- */
-public final class DefaultAnnotationEditFormatter
-	implements AnnotationEditFormatter
-{
-	private static final DefaultAnnotationEditFormatter INSTANCE = new DefaultAnnotationEditFormatter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static DefaultAnnotationEditFormatter instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private DefaultAnnotationEditFormatter() {
-		super();
-	}
-
-	/**
-	 * TODO
-	 */
-	public void format(IDocument doc, TextEdit editTree) throws MalformedTreeException, BadLocationException {
-		TextEdit[] edits = editTree.getChildren();
-		int len = edits.length;
-		if (len == 0) {
-			return;
-		}
-
-		MultiTextEdit extraEdits = new MultiTextEdit();
-		for (int i = 0; i < len; i++) {
-			TextEdit edit1 = edits[i];
-			if ( ! (edit1 instanceof InsertEdit)) {
-				continue;  // if the edit is not an insert, skip to the next edit
-			}
-			InsertEdit insert1 = (InsertEdit) edit1;
-			int j = i + 1;
-			if (j < len) {
-				TextEdit edit2 = edits[j];
-				if (edit2 instanceof InsertEdit) {
-					InsertEdit insert2 = (InsertEdit) edit2;
-					String text1 = insert1.getText();
-					String text2 = insert2.getText();
-					int offset1 = insert1.getOffset();
-					int offset2 = insert2.getOffset();
-					if (this.stringIsAnnotation(text1) && text2.equals(" ")) { //$NON-NLS-1$
-						// an annotation was inserted before something on the same line;
-						// replace the trailing space with a newline and appropriate indent
-						extraEdits.addChild(new ReplaceEdit(offset2, 1, this.buildCR(doc, offset2)));
-						i++;  // jump the index past 'edit2'
-						continue;  // go to the next edit
-					}
-					int comma1Length = this.commaLength(text1);
-					if ((comma1Length != 0) && this.stringIsAnnotation(text2)) {
-						// an annotation was inserted in an array initializer on the
-						// same line as the previous array element;
-						// replace the preceding space with a newline and appropriate indent
-						extraEdits.addChild(new ReplaceEdit(offset1 + comma1Length, text1.length() - comma1Length, this.buildCR(doc, offset1)));
-						i++;  // jump the index past 'edit2'
-						continue;  // go to the next edit
-					}
-				}
-			}
-			this.formatArrayInitializer(doc, insert1, extraEdits);
-		}
-		extraEdits.apply(doc, TextEdit.NONE);
-	}
-
-	/**
-	 * If the insert edit is inserting an annotation containing an array of annotations as
-	 * its value then format them nicely.
-	 */
-	private void formatArrayInitializer(IDocument doc, InsertEdit insertEdit, MultiTextEdit extraEdits) throws BadLocationException {
-		String s = insertEdit.getText();
-		if ( ! this.stringIsAnnotation(s)) {
-			return;
-		}
-		int len = s.length();
-		int pos = 1;  // skip '@'
-		while (pos < len) {
-			char c = s.charAt(pos);
-			pos++;  // bump to just past first '('
-			if (c == '(') {
-				break;
-			}
-		}
-		if (pos == len) {
-			return;  // reached end of string
-		}
-		while (pos < len) {
-			char c = s.charAt(pos);
-			pos++;  // bump to just past first '{'
-			if (c == '{') {
-				break;
-			}
-			if (c != ' ') {
-				return;
-			}
-		}
-		if (pos == len) {
-			return;  // reached end of string
-		}
-		// now look for '@' not inside parentheses and put in 
-		// line delimeter and indent string before each
-		int offset = insertEdit.getOffset();
-		String indent = null;
-		int parenDepth = 0;
-		while (pos < len) {
-			switch (s.charAt(pos)) {
-				case '(' :
-					parenDepth++;
-					break;
-				case ')' :
-					parenDepth--;
-					break;
-				case '@' :
-					if (parenDepth == 0) {
-						if (indent == null) {
-							indent = this.buildCR(doc, offset, "\t");  // TODO use tab preference? //$NON-NLS-1$
-						}
-						extraEdits.addChild(new InsertEdit(offset + pos, indent));
-					}
-					break;
-				case '}' :
-					if (parenDepth == 0) {
-						extraEdits.addChild(new InsertEdit(offset + pos, this.buildCR(doc, offset)));
-					}
-					break;
-			}
-			pos++;
-		}
-	}
-
-	/**
-	 * Build a string containing a line delimeter and indenting characters 
-	 * matching the indent level of the line containing the character offset
-	 * (i.e. the new line's indent matches the current line).
-	 */
-	private String buildCR(IDocument doc, int offset) throws BadLocationException {
-		return this.buildCR(doc, offset, ""); //$NON-NLS-1$
-	}
-
-	private String buildCR(IDocument doc, int offset, String suffix) throws BadLocationException {
-		int line = doc.getLineOfOffset(offset);
-		StringBuilder sb = new StringBuilder();
-		sb.append(doc.getLineDelimiter(line));  // use same CR as current line
-
-		int o = doc.getLineOffset(line);  // match the whitespace of the current line
-		char c = doc.getChar(o++);
-		while ((c == ' ') || (c == '\t')) {
-			sb.append(c);
-			c = doc.getChar(o++);
-		}
-		sb.append(suffix);
-		return sb.toString();
-	}
-
-	/**
-	 * Return whether the specified string is an annotation.
-	 */
-	private boolean stringIsAnnotation(String string) {
-		return (string.length() > 1) && string.charAt(0) == '@';
-	}
-
-	/**
-	 * If the specified string is a single comma, possibly surrounded by
-	 * spaces, return the length of the substring containing the
-	 * initial spaces and the comma.
-	 */
-	private int commaLength(String string) {
-		boolean comma = false;
-		int len = string.length();
-		int result = 0;
-		for (int i = 0; i < len; i++) {
-			switch (string.charAt(i)) {
-				case ' ' :
-					if ( ! comma) {
-						result++;  // space preceding comma
-					}
-					break;
-				case ',' :
-					if (comma) {
-						return 0;  // second comma!
-					}
-					comma = true;
-					result++;
-					break;
-				default:
-					return 0;  // non-comma, non-space char
-			}
-		}
-		return result;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ElementAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ElementAnnotationAdapter.java
deleted file mode 100644
index 17f14a4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ElementAnnotationAdapter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-
-/**
- * Adapt an annotated element and a declaration annotation adapter.
- */
-public class ElementAnnotationAdapter extends AbstractAnnotationAdapter {
-
-
-	// ********** constructor **********
-
-	public ElementAnnotationAdapter(AnnotatedElement annotatedElement, DeclarationAnnotationAdapter daa) {
-		super(annotatedElement, daa);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ElementIndexedAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ElementIndexedAnnotationAdapter.java
deleted file mode 100644
index f3e3467..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ElementIndexedAnnotationAdapter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Adapt an annotated element and an indexed declaration annotation adapter.
- */
-public class ElementIndexedAnnotationAdapter
-	extends AbstractAnnotationAdapter
-	implements IndexedAnnotationAdapter
-{
-	private final IndexedDeclarationAnnotationAdapter idaa;
-
-
-	// ********** constructor **********
-
-	public ElementIndexedAnnotationAdapter(AnnotatedElement annotatedElement, IndexedDeclarationAnnotationAdapter idaa) {
-		super(annotatedElement, idaa);
-		this.idaa = idaa;
-	}
-
-
-	// ********** IndexedAnnotationAdapter implementation **********
-
-	public int getIndex() {
-		return this.idaa.getIndex();
-	}
-
-	public void moveAnnotation(int newIndex) {
-		this.edit(this.buildMoveAnnotationEditor(newIndex));
-	}
-
-
-	// ********** factory methods **********
-
-	protected AnnotatedElement.Editor buildMoveAnnotationEditor(int newIndex) {
-		return new MoveAnnotationEditor(this.idaa, newIndex);
-	}
-
-
-	// ********** member classes **********
-
-	protected static class MoveAnnotationEditor implements AnnotatedElement.Editor {
-		private final IndexedDeclarationAnnotationAdapter idaa;
-		private int index;
-
-		MoveAnnotationEditor(IndexedDeclarationAnnotationAdapter idaa, int index) {
-			super();
-			this.idaa = idaa;
-			this.index = index;
-		}
-		public void edit(ModifiedDeclaration declaration) {
-			this.idaa.moveAnnotation(this.index, declaration);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/EnumArrayDeclarationAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/EnumArrayDeclarationAnnotationElementAdapter.java
deleted file mode 100644
index 3b3a74b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/EnumArrayDeclarationAnnotationElementAdapter.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ArrayInitializer;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Wrap a declaration annotation element adapter and simply
- * add an import for the enums when necessary.
- */
-public class EnumArrayDeclarationAnnotationElementAdapter
-	implements DeclarationAnnotationElementAdapter<String[]>
-{
-	/**
-	 * The wrapped adapter that returns and takes name strings (enums).
-	 */
-	private final ConversionDeclarationAnnotationElementAdapter<String[]> adapter;
-
-
-	// ********** constructors **********
-
-	/**
-	 * The default element name is <code>value</code>.
-	 * The default behavior is to remove the array initializer if it is empty.
-	 */
-	public EnumArrayDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter) {
-		this(annotationAdapter, VALUE);
-	}
-
-	/**
-	 * The default behavior is to remove the array initializer if it is empty.
-	 */
-	public EnumArrayDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
-		this(annotationAdapter, elementName, true);
-	}
-
-	public EnumArrayDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName, boolean removeArrayInitializerWhenEmpty) {
-		this(new ConversionDeclarationAnnotationElementAdapter<String[]>(annotationAdapter, elementName, buildExpressionConverter(removeArrayInitializerWhenEmpty)));
-	}
-
-	private static ExpressionConverter<String[]> buildExpressionConverter(boolean removeArrayInitializerWhenEmpty) {
-		return new AnnotationStringArrayExpressionConverter(NameStringExpressionConverter.instance(), removeArrayInitializerWhenEmpty);
-	}
-
-	protected EnumArrayDeclarationAnnotationElementAdapter(ConversionDeclarationAnnotationElementAdapter<String[]> adapter) {
-		super();
-		this.adapter = adapter;
-	}
-
-
-	// ********** DeclarationAnnotationElementAdapter implementation **********
-
-	public String[] getValue(ModifiedDeclaration declaration) {
-		// ignore the adapter's getValue() - we want the expression
-		return this.resolve(this.adapter.getExpression(declaration), declaration);
-	}
-
-	public void setValue(String[] value, ModifiedDeclaration declaration) {
-		this.adapter.setValue(this.convertToSourceCodeNames(value, declaration), declaration);
-	}
-
-	public Expression getExpression(ModifiedDeclaration declaration) {
-		return this.adapter.getExpression(declaration);
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		return this.adapter.getAstNode(declaration);
-	}
-
-
-	// ********** internal methods **********
-
-	/**
-	 * resolve the enums, which can be
-	 *     null
-	 * or
-	 *     {FOO, BAR, BAZ}
-	 * or
-	 *     FOO
-	 */
-	protected String[] resolve(Expression expression, ModifiedDeclaration declaration) {
-		if (expression == null) {
-			return StringTools.EMPTY_STRING_ARRAY;
-		} else if (expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-			return this.resolveArray((ArrayInitializer) expression, declaration);
-		} else {
-			return this.resolveSingleElement(expression, declaration);
-		}
-	}
-
-	protected String[] resolveArray(ArrayInitializer ai, @SuppressWarnings("unused") ModifiedDeclaration declaration) {
-		List<Expression> expressions = this.expressions(ai);
-		int len = expressions.size();
-		String[] enums = new String[len];
-		for (int i = len; i-- > 0; ) {
-			enums[i] = this.resolveEnum(expressions.get(i));
-		}
-		return enums;
-	}
-
-	protected String[] resolveSingleElement(Expression enumExpression, @SuppressWarnings("unused") ModifiedDeclaration declaration) {
-		return new String[] {this.resolveEnum(enumExpression)};
-	}
-
-	protected String resolveEnum(Expression expression) {
-		return ASTTools.resolveEnum(expression);
-	}
-
-	// minimize scope of suppressd warnings
-	@SuppressWarnings("unchecked")
-	private List<Expression> expressions(ArrayInitializer arrayInitializer) {
-		return arrayInitializer.expressions();
-	}
-
-	/**
-	 * convert the fully-qualified enums to names that can be inserted in source code
-	 * NB: imports may be added as a side-effect :-(
-	 */
-	protected String[] convertToSourceCodeNames(String[] enums, ModifiedDeclaration declaration) {
-		if (enums == null) {
-			return null;
-		}
-		int len = enums.length;
-		String[] sourceCodeNames = new String[len];
-		for (int i = 0; i < len; i++) {
-			sourceCodeNames[i] = this.convertToSourceCodeName(enums[i], declaration);
-		}
-		return sourceCodeNames;
-	}
-
-	protected String convertToSourceCodeName(String enum_, ModifiedDeclaration declaration) {
-		return EnumDeclarationAnnotationElementAdapter.convertToSourceCodeName(enum_, declaration);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/EnumDeclarationAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/EnumDeclarationAnnotationElementAdapter.java
deleted file mode 100644
index 21cbe29..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/EnumDeclarationAnnotationElementAdapter.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-/**
- * Wrap a declaration annotation element adapter and simply
- * add an import for the enum when necessary.
- */
-public class EnumDeclarationAnnotationElementAdapter
-	implements DeclarationAnnotationElementAdapter<String>
-{
-	/**
-	 * The wrapped adapter that returns and takes name strings (enums).
-	 */
-	private final ConversionDeclarationAnnotationElementAdapter<String> adapter;
-
-
-	// ********** constructors **********
-
-	/**
-	 * The default element name is <code>value</code>.
-	 */
-	public EnumDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter) {
-		this(annotationAdapter, VALUE);
-	}
-
-	public EnumDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
-		this(new ConversionDeclarationAnnotationElementAdapter<String>(annotationAdapter, elementName, NameStringExpressionConverter.instance()));
-	}
-
-	protected EnumDeclarationAnnotationElementAdapter(ConversionDeclarationAnnotationElementAdapter<String> adapter) {
-		super();
-		this.adapter = adapter;
-	}
-
-
-	// ********** DeclarationAnnotationElementAdapter implementation **********
-
-	public String getValue(ModifiedDeclaration declaration) {
-		return this.resolve(this.adapter.getExpression(declaration));
-	}
-
-	public void setValue(String value, ModifiedDeclaration declaration) {
-		this.adapter.setValue(convertToSourceCodeName(value, declaration), declaration);
-	}
-
-	public Expression getExpression(ModifiedDeclaration declaration) {
-		return this.adapter.getExpression(declaration);
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		return this.adapter.getAstNode(declaration);
-	}
-
-
-	// ********** internal methods **********
-
-	/**
-	 * resolve the enum
-	 */
-	protected String resolve(Expression expression) {
-		return ASTTools.resolveEnum(expression);
-	}
-
-	/**
-	 * convert the fully-qualified enum constant to a static import and the constant's short name, e.g.
-	 *     static import javax.persistence.FetchType.EAGER;
-	 *     return "EAGER"
-	 * if that doesn't work, convert to a normal import and the constant's partially-qualified name, e.g.
-	 *     import javax.persistence.FetchType;
-	 *     return "FetchType.EAGER"
-	 * if that doesn't work, simply return the constant's fully-qualified name, e.g.
-	 *     return "javax.persistence.FetchType.EAGER"
-	 * NB: an import may be added as a side-effect :-(
-	 */
-	protected static String convertToSourceCodeName(String enumConstantName, ModifiedDeclaration declaration) {
-		return (enumConstantName == null) ? null : convertToSourceCodeName_(enumConstantName, declaration);
-	}
-
-	/**
-	 * pre-condition: enum constant name is non-null;
-	 * convert it to its short version if we can add a static import etc.
-	 */
-	protected static String convertToSourceCodeName_(String enumConstantName, ModifiedDeclaration declaration) {
-		if (declaration.addStaticImport(enumConstantName)) {
-			return convertToShortName(enumConstantName);
-		}
-		if (declaration.addImport(convertToTypeName(enumConstantName))) {
-			return convertToPartiallyQualifiedName(enumConstantName);
-		}
-		return enumConstantName;
-	}
-
-	protected static String convertToShortName(String name) {
-		return name.substring(name.lastIndexOf('.') + 1);
-	}
-
-	protected static String convertToTypeName(String name) {
-		return name.substring(0, name.lastIndexOf('.'));
-	}
-
-	protected static String convertToPartiallyQualifiedName(String name) {
-		return name.substring(name.lastIndexOf('.', name.lastIndexOf('.') - 1) + 1);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ExpressionDeclarationAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ExpressionDeclarationAnnotationElementAdapter.java
deleted file mode 100644
index d3b0370..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ExpressionDeclarationAnnotationElementAdapter.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Most obvious implementation of the interface.
- * Assume the element's value is an Expression.
- */
-public class ExpressionDeclarationAnnotationElementAdapter<E extends Expression>
-	implements DeclarationAnnotationElementAdapter<E>
-{
-	/**
-	 * Adapter used to manipulate the element's annotation.
-	 */
-	private final DeclarationAnnotationAdapter annotationAdapter;
-
-	/**
-	 * The name of the relevant annotation element.
-	 */
-	private final String elementName;
-
-
-	// ********** constructors **********
-
-	/**
-	 * The default element name is <code>value</code>.
-	 */
-	public ExpressionDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter) {
-		this(annotationAdapter, VALUE);
-	}
-
-	public ExpressionDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
-		this.annotationAdapter = annotationAdapter;
-		this.elementName = elementName;
-	}
-
-
-	// ********** DeclarationAnnotationElementAdapter implementation **********
-
-	public E getValue(ModifiedDeclaration declaration) {
-		// return the expression unmodified
-		return this.getExpression(declaration);
-	}
-
-	public void setValue(E value, ModifiedDeclaration declaration) {
-		this.setValue(value, this.annotationAdapter.getAnnotation(declaration), declaration);
-	}
-
-	public E getExpression(ModifiedDeclaration declaration) {
-		return this.expression(this.annotationAdapter.getAnnotation(declaration));
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		Expression exp = this.getExpression(declaration);
-		return (exp != null) ? exp : this.annotationAdapter.getAstNode(declaration);
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.elementName);
-	}
-
-
-	// ********** expression **********
-
-	/**
-	 * Return the expression value of the *first* annotation element
-	 * with the adapter's element name.
-	 * Return null if the annotation has no such element.
-	 * (An element name of "value" will return the value of a single
-	 * member annotation.)
-	 */
-	protected E expression(Annotation annotation) {
-		if (annotation == null) {
-			return this.expressionNoAnnotation();
-		}
-		if (annotation.isMarkerAnnotation()) {
-			return this.expressionMarkerAnnotation((MarkerAnnotation) annotation);
-		}
-		if (annotation.isSingleMemberAnnotation()) {
-			return this.expressionSingleMemberAnnotation((SingleMemberAnnotation) annotation);
-		}
-		if (annotation.isNormalAnnotation()) {
-			return this.expressionNormalAnnotation((NormalAnnotation) annotation);
-		}
-		throw new IllegalArgumentException("unknown annotation type: " + annotation); //$NON-NLS-1$
-	}
-
-	protected E expressionNoAnnotation() {
-		return null;
-	}
-
-	/**
-	 * Return the expression value of the *first* annotation element
-	 * with the adapter's element name.
-	 * Return null if the annotation has no such element.
-	 */
-	protected E expressionMarkerAnnotation(@SuppressWarnings("unused") MarkerAnnotation annotation) {
-		return null;
-	}
-
-	/**
-	 * Return the expression value of the *first* annotation element
-	 * with the adapter's element name.
-	 * Return null if the annotation has no such element.
-	 */
-	protected E expressionSingleMemberAnnotation(SingleMemberAnnotation annotation) {
-		return this.downcast(this.elementName.equals(VALUE) ? annotation.getValue() : null);
-	}
-
-	@SuppressWarnings("unchecked")
-	private E downcast(Expression e) {
-		return (E) e;
-	}
-
-	/**
-	 * Return the expression value of the *first* annotation element
-	 * with the adapter's element name.
-	 * Return null if the annotation has no such element.
-	 */
-	protected E expressionNormalAnnotation(NormalAnnotation annotation) {
-		MemberValuePair pair = this.memberValuePair(annotation);
-		return this.downcast((pair == null) ? null : pair.getValue());
-	}
-
-
-	// ********** set value **********
-
-	/**
-	 * set non-null, non-empty value
-	 */
-	protected void setValue(Expression value, Annotation annotation, ModifiedDeclaration declaration) {
-		if (value == null) {
-			this.removeElement(annotation, declaration);
-		}
-		else if (annotation == null) {
-			this.setValueNoAnnotation(value, declaration);
-		}
-		else if (annotation.isMarkerAnnotation()) {
-			this.setValueMarkerAnnotation(value, (MarkerAnnotation) annotation, declaration);
-		}
-		else if (annotation.isSingleMemberAnnotation()) {
-			this.setValueSingleMemberAnnotation(value, (SingleMemberAnnotation) annotation, declaration);
-		}
-		else if (annotation.isNormalAnnotation()) {
-			this.setValueNormalAnnotation(value, (NormalAnnotation) annotation, declaration);
-		}
-		else {
-			throw new IllegalArgumentException("unknown annotation type: " + annotation); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * add non-null, non-empty value
-	 */
-	protected void setValueNoAnnotation(Expression value, ModifiedDeclaration declaration) {
-		if (this.elementName.equals(VALUE)) {
-			// @Foo("xxx")
-			this.annotationAdapter.newSingleMemberAnnotation(declaration).setValue(value);
-		} else {
-			// @Foo(bar="xxx")
-			this.addValue(value, this.annotationAdapter.newNormalAnnotation(declaration));
-		}
-	}
-
-	protected void addValue(Expression value, NormalAnnotation annotation) {
-		this.addValue(value, annotation, this.elementName);
-	}
-
-	protected void addValue(Expression value, NormalAnnotation annotation, String annotationElementName) {
-		AST ast = annotation.getAST();
-		MemberValuePair pair = ast.newMemberValuePair();
-		pair.setName(ast.newSimpleName(annotationElementName));
-		pair.setValue(value);
-		List<MemberValuePair> values = this.values(annotation);
-		values.add(pair);
-	}
-	
-	protected void setValueMarkerAnnotation(Expression value, @SuppressWarnings("unused") MarkerAnnotation annotation, ModifiedDeclaration declaration) {
-		// @Foo => @Foo("xxx")
-		//     or
-		// @Foo => @Foo(bar="xxx")
-		this.setValueNoAnnotation(value, declaration);
-	}
-
-	protected void setValueSingleMemberAnnotation(Expression value, SingleMemberAnnotation annotation, ModifiedDeclaration declaration) {
-		if (this.elementName.equals(VALUE)) {
-			// @Foo("yyy") => @Foo("xxx")
-			annotation.setValue(value);
-		} else {
-			// @Foo("yyy") => @Foo(value="yyy", bar="xxx")
-			Expression vv = annotation.getValue();
-			vv = (Expression) ASTNode.copySubtree(vv.getAST(), vv);
-			NormalAnnotation normalAnnotation = this.annotationAdapter.newNormalAnnotation(declaration);
-			this.addValue(vv, normalAnnotation, VALUE);
-			this.addValue(value, normalAnnotation);
-		}
-	}
-
-	protected void setValueNormalAnnotation(Expression value, NormalAnnotation annotation, @SuppressWarnings("unused") ModifiedDeclaration declaration) {
-		MemberValuePair pair = this.memberValuePair(annotation);
-		if (pair == null) {
-			this.addValue(value, annotation);
-		} else {
-			pair.setValue(value);
-		}
-	}
-
-
-	// ********** remove element **********
-
-	protected void removeElement(Annotation annotation, ModifiedDeclaration declaration) {
-		if (annotation == null) {
-			this.removeElementNoAnnotation(declaration);
-		}
-		else if (annotation.isMarkerAnnotation()) {
-			this.removeElementMarkerAnnotation((MarkerAnnotation) annotation, declaration);
-		}
-		else if (annotation.isSingleMemberAnnotation()) {
-			this.removeElementSingleMemberAnnotation((SingleMemberAnnotation) annotation, declaration);
-		}
-		else if (annotation.isNormalAnnotation()) {
-			this.removeElementNormalAnnotation((NormalAnnotation) annotation, declaration);
-		}
-		else {
-			throw new IllegalArgumentException("unknown annotation type: " + annotation); //$NON-NLS-1$
-		}
-	}
-
-	protected void removeElementNoAnnotation(@SuppressWarnings("unused") ModifiedDeclaration declaration) {
-		// the element is already gone (?)
-	}
-
-	protected void removeElementMarkerAnnotation(@SuppressWarnings("unused") MarkerAnnotation annotation, @SuppressWarnings("unused") ModifiedDeclaration declaration) {
-		// the element is already gone (?)
-	}
-
-	protected void removeElementSingleMemberAnnotation(@SuppressWarnings("unused") SingleMemberAnnotation annotation, ModifiedDeclaration declaration) {
-		if (this.elementName.equals(VALUE)) {
-			// @Foo("xxx") => @Foo
-			this.annotationAdapter.newMarkerAnnotation(declaration);
-		} else {
-			// the [non-'value'] element is already gone (?)
-		}
-	}
-
-	protected void removeElementNormalAnnotation(NormalAnnotation annotation, ModifiedDeclaration declaration) {
-		List<MemberValuePair> values = this.values(annotation);
-		if ((values.size() == 1) && values.get(0).getName().getFullyQualifiedName().equals(this.elementName)) {
-			// @Foo(bar="xxx") => @Foo
-			this.annotationAdapter.newMarkerAnnotation(declaration);
-		} else {
-			this.removeElement(annotation);
-			if (values.size() == 1) {
-				MemberValuePair pair = values.get(0);
-				if (pair.getName().getFullyQualifiedName().equals(VALUE)) {
-					// @Foo(bar="xxx", value="yyy") => @Foo("yyy")
-					Expression vv = pair.getValue();
-					vv = (Expression) ASTNode.copySubtree(vv.getAST(), vv);
-					this.annotationAdapter.newSingleMemberAnnotation(declaration).setValue(vv);
-				} else {
-					// @Foo(bar="xxx", baz="yyy") => @Foo(baz="yyy")
-				}
-			} else {
-				// @Foo(bar="xxx", baz="yyy", joo="xxx") => @Foo(baz="yyy", joo="xxx")
-			}
-		}
-	}
-
-	/**
-	 * Remove the *first* member value pair from the specified annotation element
-	 * with the adapter's element name.
-	 */
-	protected void removeElement(NormalAnnotation annotation) {
-		for (Iterator<MemberValuePair> stream = this.values(annotation).iterator(); stream.hasNext(); ) {
-			MemberValuePair pair = stream.next();
-			if (pair.getName().getFullyQualifiedName().equals(this.elementName)) {
-				stream.remove();
-			}
-		}
-	}
-
-
-	// ********** convenience methods **********
-
-	/**
-	 * Return the *first* member value pair for the specified annotation element
-	 * with the adapter's element name.
-	 * Return null if the annotation has no such element.
-	 */
-	protected MemberValuePair memberValuePair(NormalAnnotation annotation) {
-		for (MemberValuePair pair : this.values(annotation)) {
-			if (pair.getName().getFullyQualifiedName().equals(this.elementName)) {
-				return pair;
-			}
-		}
-		return null;
-	}
-
-	@SuppressWarnings("unchecked")
-	protected List<MemberValuePair> values(NormalAnnotation na) {
-		return na.values();
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/GenericVisitor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/GenericVisitor.java
deleted file mode 100644
index 92160af..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/GenericVisitor.java
+++ /dev/null
@@ -1,791 +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
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.AnnotationTypeDeclaration;
-import org.eclipse.jdt.core.dom.AnnotationTypeMemberDeclaration;
-import org.eclipse.jdt.core.dom.AnonymousClassDeclaration;
-import org.eclipse.jdt.core.dom.ArrayAccess;
-import org.eclipse.jdt.core.dom.ArrayCreation;
-import org.eclipse.jdt.core.dom.ArrayInitializer;
-import org.eclipse.jdt.core.dom.ArrayType;
-import org.eclipse.jdt.core.dom.AssertStatement;
-import org.eclipse.jdt.core.dom.Assignment;
-import org.eclipse.jdt.core.dom.Block;
-import org.eclipse.jdt.core.dom.BlockComment;
-import org.eclipse.jdt.core.dom.BooleanLiteral;
-import org.eclipse.jdt.core.dom.BreakStatement;
-import org.eclipse.jdt.core.dom.CastExpression;
-import org.eclipse.jdt.core.dom.CatchClause;
-import org.eclipse.jdt.core.dom.CharacterLiteral;
-import org.eclipse.jdt.core.dom.ClassInstanceCreation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.ConditionalExpression;
-import org.eclipse.jdt.core.dom.ConstructorInvocation;
-import org.eclipse.jdt.core.dom.ContinueStatement;
-import org.eclipse.jdt.core.dom.DoStatement;
-import org.eclipse.jdt.core.dom.EmptyStatement;
-import org.eclipse.jdt.core.dom.EnhancedForStatement;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.ExpressionStatement;
-import org.eclipse.jdt.core.dom.FieldAccess;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.ForStatement;
-import org.eclipse.jdt.core.dom.IfStatement;
-import org.eclipse.jdt.core.dom.ImportDeclaration;
-import org.eclipse.jdt.core.dom.InfixExpression;
-import org.eclipse.jdt.core.dom.Initializer;
-import org.eclipse.jdt.core.dom.InstanceofExpression;
-import org.eclipse.jdt.core.dom.Javadoc;
-import org.eclipse.jdt.core.dom.LabeledStatement;
-import org.eclipse.jdt.core.dom.LineComment;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.MemberRef;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.MethodInvocation;
-import org.eclipse.jdt.core.dom.MethodRef;
-import org.eclipse.jdt.core.dom.MethodRefParameter;
-import org.eclipse.jdt.core.dom.Modifier;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.NullLiteral;
-import org.eclipse.jdt.core.dom.NumberLiteral;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-import org.eclipse.jdt.core.dom.ParameterizedType;
-import org.eclipse.jdt.core.dom.ParenthesizedExpression;
-import org.eclipse.jdt.core.dom.PostfixExpression;
-import org.eclipse.jdt.core.dom.PrefixExpression;
-import org.eclipse.jdt.core.dom.PrimitiveType;
-import org.eclipse.jdt.core.dom.QualifiedName;
-import org.eclipse.jdt.core.dom.QualifiedType;
-import org.eclipse.jdt.core.dom.ReturnStatement;
-import org.eclipse.jdt.core.dom.SimpleName;
-import org.eclipse.jdt.core.dom.SimpleType;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
-import org.eclipse.jdt.core.dom.StringLiteral;
-import org.eclipse.jdt.core.dom.SuperConstructorInvocation;
-import org.eclipse.jdt.core.dom.SuperFieldAccess;
-import org.eclipse.jdt.core.dom.SuperMethodInvocation;
-import org.eclipse.jdt.core.dom.SwitchCase;
-import org.eclipse.jdt.core.dom.SwitchStatement;
-import org.eclipse.jdt.core.dom.SynchronizedStatement;
-import org.eclipse.jdt.core.dom.TagElement;
-import org.eclipse.jdt.core.dom.TextElement;
-import org.eclipse.jdt.core.dom.ThisExpression;
-import org.eclipse.jdt.core.dom.ThrowStatement;
-import org.eclipse.jdt.core.dom.TryStatement;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclarationStatement;
-import org.eclipse.jdt.core.dom.TypeLiteral;
-import org.eclipse.jdt.core.dom.TypeParameter;
-import org.eclipse.jdt.core.dom.VariableDeclarationExpression;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.jdt.core.dom.VariableDeclarationStatement;
-import org.eclipse.jdt.core.dom.WhileStatement;
-import org.eclipse.jdt.core.dom.WildcardType;
-
-/**
- * copied from org.eclipse.jdt.internal.corext.dom.GenericVisitor
- */
-public class GenericVisitor extends ASTVisitor {
-
-	public GenericVisitor() {
-		super();
-	}
-
-	public GenericVisitor(boolean visitJavadocTags) {
-		super(visitJavadocTags);
-	}
-
-	// ********** hooks for subclasses **********
-
-	protected boolean visit_(@SuppressWarnings("unused") ASTNode node) {
-		return true;
-	}
-
-	protected void endVisit_(@SuppressWarnings("unused") ASTNode node) {
-		// do nothing
-	}
-
-	// ********** overrides **********
-
-	@Override
-	public boolean visit(AnonymousClassDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ArrayAccess node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ArrayCreation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ArrayInitializer node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ArrayType node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(AssertStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(Assignment node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(Block node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(BooleanLiteral node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(BreakStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(CastExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(CatchClause node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(CharacterLiteral node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ClassInstanceCreation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(CompilationUnit node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ConditionalExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ConstructorInvocation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ContinueStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(DoStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(EmptyStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ExpressionStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(FieldAccess node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(FieldDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ForStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(IfStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ImportDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(InfixExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(InstanceofExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(Initializer node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(Javadoc node) {
-		return (super.visit(node)) ? visit_(node) : false;
-	}
-	@Override
-	public boolean visit(LabeledStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(MethodDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(MethodInvocation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(NullLiteral node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(NumberLiteral node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(PackageDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ParenthesizedExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(PostfixExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(PrefixExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(PrimitiveType node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(QualifiedName node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ReturnStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SimpleName node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SimpleType node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(StringLiteral node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SuperConstructorInvocation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SuperFieldAccess node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SuperMethodInvocation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SwitchCase node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SwitchStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SynchronizedStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ThisExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ThrowStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(TryStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(TypeDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(TypeDeclarationStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(TypeLiteral node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SingleVariableDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(VariableDeclarationExpression node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(VariableDeclarationStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(VariableDeclarationFragment node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(WhileStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(AnnotationTypeDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(AnnotationTypeMemberDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(BlockComment node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(EnhancedForStatement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(EnumConstantDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(EnumDeclaration node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(LineComment node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(MarkerAnnotation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(MemberRef node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(MemberValuePair node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(MethodRef node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(MethodRefParameter node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(Modifier node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(NormalAnnotation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(ParameterizedType node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(QualifiedType node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(SingleMemberAnnotation node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(TagElement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(TextElement node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(TypeParameter node) {
-		return visit_(node);
-	}
-	@Override
-	public boolean visit(WildcardType node) {
-		return visit_(node);
-	}
-
-	@Override
-	public void endVisit(AnonymousClassDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ArrayAccess node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ArrayCreation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ArrayInitializer node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ArrayType node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(AssertStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(Assignment node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(Block node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(BooleanLiteral node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(BreakStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(CastExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(CatchClause node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(CharacterLiteral node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ClassInstanceCreation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(CompilationUnit node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ConditionalExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ConstructorInvocation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ContinueStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(DoStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(EmptyStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ExpressionStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(FieldAccess node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(FieldDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ForStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(IfStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ImportDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(InfixExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(InstanceofExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(Initializer node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(Javadoc node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(LabeledStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(MethodDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(MethodInvocation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(NullLiteral node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(NumberLiteral node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(PackageDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ParenthesizedExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(PostfixExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(PrefixExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(PrimitiveType node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(QualifiedName node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ReturnStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SimpleName node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SimpleType node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(StringLiteral node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SuperConstructorInvocation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SuperFieldAccess node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SuperMethodInvocation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SwitchCase node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SwitchStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SynchronizedStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ThisExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ThrowStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(TryStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(TypeDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(TypeDeclarationStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(TypeLiteral node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SingleVariableDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(VariableDeclarationExpression node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(VariableDeclarationStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(VariableDeclarationFragment node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(WhileStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(AnnotationTypeDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(AnnotationTypeMemberDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(BlockComment node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(EnhancedForStatement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(EnumConstantDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(EnumDeclaration node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(LineComment node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(MarkerAnnotation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(MemberRef node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(MemberValuePair node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(MethodRef node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(MethodRefParameter node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(Modifier node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(NormalAnnotation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(ParameterizedType node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(QualifiedType node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(SingleMemberAnnotation node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(TagElement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(TextElement node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(TypeParameter node) {
-		endVisit_(node);
-	}
-	@Override
-	public void endVisit(WildcardType node) {
-		endVisit_(node);
-	}
-
-}
-
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/IndexedConversionDeclarationAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/IndexedConversionDeclarationAnnotationElementAdapter.java
deleted file mode 100644
index fe84b5a..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/IndexedConversionDeclarationAnnotationElementAdapter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedExpressionConverter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-/**
- * Wrap a declaration annotation element adapter that deals with AST
- * array expressions, converting them to/from various other objects.
- * 
- * @param <T> the type of the object in the array to be passed to and
- * returned by the adapter
- */
-public class IndexedConversionDeclarationAnnotationElementAdapter<T>
-	extends ConversionDeclarationAnnotationElementAdapter<T[]>
-	implements IndexedDeclarationAnnotationElementAdapter<T>
-{
-	public IndexedConversionDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, IndexedExpressionConverter<T> converter) {
-		super(annotationAdapter, converter);
-	}
-
-	public IndexedConversionDeclarationAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName, IndexedExpressionConverter<T> converter) {
-		super(annotationAdapter, elementName, converter);
-	}
-
-	protected IndexedExpressionConverter<T> getConverter() {
-		return (IndexedExpressionConverter<T>) this.converter;
-	}
-
-	public Expression selectExpression(ModifiedDeclaration declaration, int index) {
-		return this.getConverter().selectExpression(this.getExpression(declaration), index);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTAnnotatedElement.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTAnnotatedElement.java
deleted file mode 100644
index 85171fe..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTAnnotatedElement.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.LocationKind;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.TextEdit;
-
-/**
- * Adapt and extend a JDT member with simplified annotation handling.
- */
-public abstract class JDTAnnotatedElement
-	implements AnnotatedElement
-{
-
-	/** the annotated element's name (duh) */
-	private final String name;
-
-	/**
-	 * the compilation unit (file) containing the annotated element;
-	 * used for building an AST when we modify the annotated element
-	 */
-	private final ICompilationUnit compilationUnit;
-
-	/**
-	 * this allows clients to provide a way to modify the compilation unit
-	 * (file) when it is open in an editor and should be modified on the UI
-	 * thread
-	 */
-	private final CommandExecutor modifySharedDocumentCommandExecutor;
-
-	/** this will format the annotated element's annotations a bit */
-	private final AnnotationEditFormatter annotationEditFormatter;
-
-
-	// ********** constructors **********
-	
-	protected JDTAnnotatedElement(
-			String name,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(name, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	protected JDTAnnotatedElement(
-			String name,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super();
-		this.name = name;
-		this.compilationUnit = compilationUnit;
-		this.modifySharedDocumentCommandExecutor = modifySharedDocumentCommandExecutor;
-		this.annotationEditFormatter = annotationEditFormatter;
-	}
-
-
-	// ********** AnnotatedElement implementation **********
-
-	public String getName() {
-		return this.name;
-	}
-
-	public abstract ModifiedDeclaration getModifiedDeclaration(CompilationUnit astRoot);
-	
-	public ModifiedDeclaration getModifiedDeclaration() {
-		return this.getModifiedDeclaration(this.buildASTRoot());
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.name);
-	}
-
-
-	// ********** editing **********
-
-	/**
-	 * Edit the member with the specified editor.
-	 * The editor will be invoked once the member's compilation unit
-	 * is in an editable state.
-	 */
-	public void edit(Editor editor) {
-		try {
-			this.edit_(editor);
-		} catch (JavaModelException ex) {
-			throw new RuntimeException(ex);
-		} catch (BadLocationException ex) {
-			throw new RuntimeException(ex);
-		}
-	}
-
-	/**
-	 * NB: Be careful changing this method.
-	 * Things to look out for:
-	 *     - when editing via the JavaEditor there is no need to create a working copy
-	 *     - when editing without an editor or via a simple text editor, a "working copy" must be created.
-	 *        (at least as far as I can tell  ~kfm)
-	 *     - sharedDocument is only ever false in tests (headless mode).  In the UI, even if the file
-	 *        is not open in an editor, sharedDocument is still true (buffer is not null)
-	 *     - if a working copy is created, then we must discard it
-	 */
-	protected void edit_(Editor editor) throws JavaModelException, BadLocationException {
-		boolean createWorkingCopy = ! this.compilationUnit.isWorkingCopy();
-		if (createWorkingCopy) {
-			this.compilationUnit.becomeWorkingCopy(null);
-		}
-
-		ITextFileBuffer buffer = FileBuffers.getTextFileBufferManager().getTextFileBuffer(this.compilationUnit.getResource().getFullPath(), LocationKind.NORMALIZE);
-		boolean sharedDocument = (buffer != null);  // documents are typically shared when they are already open in an editor
-		IDocument doc = sharedDocument ?
-				buffer.getDocument() :
-				new Document(this.compilationUnit.getBuffer().getContents());
-
-		try {
-			CompilationUnit astRoot = this.buildASTRoot();
-			astRoot.recordModifications();
-	
-			editor.edit(this.getModifiedDeclaration(astRoot));
-	
-			TextEdit edits = astRoot.rewrite(doc, this.compilationUnit.getJavaProject().getOptions(true));
-			if (sharedDocument) {
-				this.modifySharedDocumentCommandExecutor.execute(new ModifySharedDocumentCommand(edits, doc));
-			} else {
-				this.applyEdits(edits, doc);
-			}
-		}
-		finally {
-			if (createWorkingCopy) {
-				//discardWorkingCopy must be called every time becomeWorkingCopy is called.
-				this.compilationUnit.getBuffer().setContents(doc.get());
-				this.compilationUnit.commitWorkingCopy(true, null);  // true="force"
-				this.compilationUnit.discardWorkingCopy();
-			}
-		}
-	}
-
-	/**
-	 * apply the specified edits to the specified document,
-	 * reformatting the document if necessary
-	 */
-	protected void applyEdits(TextEdit edits, IDocument doc) throws MalformedTreeException, BadLocationException {
-		edits.apply(doc, TextEdit.UPDATE_REGIONS);
-		this.annotationEditFormatter.format(doc, edits);
-	}
-
-	protected CompilationUnit buildASTRoot() {
-		return ASTTools.buildASTRoot(this.compilationUnit);
-	}
-
-
-	// ********** modify shared document command class **********
-
-	/**
-	 * simple command that calls back to the member to apply the edits
-	 * in the same way as if the document were not shared
-	 */
-	protected class ModifySharedDocumentCommand
-		implements Command
-	{
-		private final TextEdit edits;
-		private final IDocument doc;
-
-		protected ModifySharedDocumentCommand(TextEdit edits, IDocument doc) {
-			super();
-			this.edits = edits;
-			this.doc = doc;
-		}
-
-		public void execute() {
-			try {
-				JDTAnnotatedElement.this.applyEdits(this.edits, this.doc);
-			} catch (MalformedTreeException ex) {
-				throw new RuntimeException(ex);
-			} catch (BadLocationException ex) {
-				throw new RuntimeException(ex);
-			}
-		}
-
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTEnum.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTEnum.java
deleted file mode 100644
index 47ed58b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTEnum.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.Enum;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-
-/**
- * Adapt and extend a JDT enum.
- */
-public class JDTEnum
-	extends AbstractJDTType
-	implements Enum
-{
-
-	/**
-	 * constructor for the compilation unit's primary type, an enum
-	 */
-	public JDTEnum(
-			EnumDeclaration enumDeclaration,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(enumDeclaration, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	/**
-	 * constructor for the compilation unit's primary type, an enum
-	 */
-	public JDTEnum(
-			EnumDeclaration enumDeclaration,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(null, enumDeclaration, 1, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	/**
-	 * constructor for nested enums
-	 */
-	public JDTEnum(
-			Type declaringType,
-			EnumDeclaration enumDeclaration,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(declaringType, enumDeclaration, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	/**
-	 * constructor for nested enums
-	 */
-	public JDTEnum(
-			Type declaringType,
-			EnumDeclaration enumDeclaration,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(declaringType, enumDeclaration, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	/**
-	 * constructor for testing
-	 */
-	public JDTEnum(Type declaringType, String name, int occurrence, ICompilationUnit compilationUnit) {
-		super(declaringType, name, occurrence, compilationUnit);
-	}
-
-	@Override
-	public EnumDeclaration getBodyDeclaration(CompilationUnit astRoot) {
-		return (EnumDeclaration) super.getBodyDeclaration(astRoot);
-	}
-
-	public boolean isPersistable(CompilationUnit astRoot) {
-		return true;
-	}
-
-	public EnumConstantDeclaration[] getEnumConstants(CompilationUnit astRoot) {
-		List<EnumConstantDeclaration> enumConstants = enumConstants(getBodyDeclaration(astRoot));
-		return enumConstants.toArray(new EnumConstantDeclaration[enumConstants.size()]);
-	}
-
-	@SuppressWarnings("unchecked")
-	private static List<EnumConstantDeclaration> enumConstants(EnumDeclaration ed) {
-		return ed.enumConstants();
-	}
-
-	
-	// ********** internal **********
-
-	@Override
-	protected EnumDeclaration getTopLevelTypeDeclaration(CompilationUnit astRoot) {
-		return (EnumDeclaration) super.getTopLevelTypeDeclaration(astRoot);
-	}
-
-	@Override
-	protected EnumDeclaration getTypeDeclaration(List<AbstractTypeDeclaration> typeDeclarations) {
-		return (EnumDeclaration) super.getTypeDeclaration(typeDeclarations);
-	}
-
-	@Override
-	protected EnumDeclaration getNestedTypeDeclaration(TypeDeclaration declaringTypeDeclaration) {
-		return this.getTypeDeclaration(getEnums(declaringTypeDeclaration));
-	}
-
-	@Override
-	protected EnumDeclaration getTypeDeclaration(AbstractTypeDeclaration[] typeDeclarations) {
-		return (EnumDeclaration) super.getTypeDeclaration(typeDeclarations);
-	}
-
-	@Override
-	protected int getASTNodeType() {
-		return ASTNode.ENUM_DECLARATION;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTEnumConstant.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTEnumConstant.java
deleted file mode 100644
index ea35295..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTEnumConstant.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.IVariableBinding;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.Enum;
-import org.eclipse.jpt.common.core.utility.jdt.EnumConstant;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-
-/**
- * Adapt and extend a JDT enum constant.
- */
-public class JDTEnumConstant
-	extends JDTMember
-	implements EnumConstant
-{
-
-	// ********** constructors **********
-
-	public JDTEnumConstant(
-			Enum declaringEnum,
-			String name,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(declaringEnum, name, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-	
-	public JDTEnumConstant(
-			Enum declaringEnum,
-			String name,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(declaringEnum, name, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	/**
-	 * constructor for testing
-	 */
-	public JDTEnumConstant(Enum declaringEnum, String name, int occurrence, ICompilationUnit compilationUnit) {
-		this(declaringEnum, name, occurrence, compilationUnit, CommandExecutor.Default.instance(), DefaultAnnotationEditFormatter.instance());
-	}
-
-	@Override
-	protected Enum getDeclaringType() {
-		return (Enum) super.getDeclaringType();
-	}
-
-	// ********** AnnotatedElement/EnumConstant implementation **********
-
-	public IVariableBinding getBinding(CompilationUnit astRoot) {
-		return this.getBodyDeclaration(astRoot).resolveVariable();
-	}
-
-	@Override
-	public EnumConstantDeclaration getBodyDeclaration(CompilationUnit astRoot) {
-		return this.getSelectedDeclaration(astRoot);
-	}
-
-	public TextRange getNameTextRange(CompilationUnit astRoot) {
-		EnumConstantDeclaration declaration = this.getBodyDeclaration(astRoot);
-		// the declaration can be null if the resource is out of sync with the file system
-		return (declaration == null) ? null : ASTTools.buildTextRange(declaration.getName());
-	}
-
-	//As far as I can tell, enum constants are always "persistable", 
-	//there are no modifiers you can add to an enum constant
-	public boolean isPersistable(CompilationUnit astRoot) {
-		return true;
-	}
-
-
-	// ********** internal **********
-
-	protected EnumConstantDeclaration getSelectedDeclaration(CompilationUnit astRoot) {
-		String name = this.getName();
-		int occurrence = this.getOccurrence();
-		int count = 0;
-		for (EnumConstantDeclaration enumConstantDeclaration : this.getDeclaringTypeEnumConstantDeclarations(astRoot)) {
-			if (enumConstantDeclaration.getName().getFullyQualifiedName().equals(name)) {
-				count++;
-				if (count == occurrence) {
-					return enumConstantDeclaration;
-				}
-			}
-		}
-		// return null if the field is no longer in the source code;
-		// this can happen when the context model has not yet
-		// been synchronized with the resource model but is still
-		// asking for an ASTNode (e.g. during a selection event)
-		return null;
-	}
-
-	protected EnumConstantDeclaration[] getDeclaringTypeEnumConstantDeclarations(CompilationUnit astRoot) {
-		List<EnumConstantDeclaration> enumConstants = enumConstants(this.getDeclaringTypeDeclaration(astRoot));
-		return enumConstants.toArray(new EnumConstantDeclaration[enumConstants.size()]);
-	}
-
-	@SuppressWarnings("unchecked")
-	private static List<EnumConstantDeclaration> enumConstants(EnumDeclaration ed) {
-		return ed.enumConstants();
-	}
-
-	protected EnumDeclaration getDeclaringTypeDeclaration(CompilationUnit astRoot) {
-		return this.getDeclaringType().getBodyDeclaration(astRoot);
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTFieldAttribute.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTFieldAttribute.java
deleted file mode 100644
index 45668bf..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTFieldAttribute.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.IVariableBinding;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.FieldAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-
-/**
- * Adapt and extend a JDT field.
- * Attribute based on a Java field, e.g.
- *     private int foo;
- */
-public class JDTFieldAttribute
-	extends JDTMember
-	implements FieldAttribute
-{
-
-	// ********** constructors **********
-
-	public JDTFieldAttribute(
-			Type declaringType,
-			String name,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(declaringType, name, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-	
-	public JDTFieldAttribute(
-			Type declaringType,
-			String name,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(declaringType, name, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	/**
-	 * constructor for testing
-	 */
-	public JDTFieldAttribute(Type declaringType, String name, int occurrence, ICompilationUnit compilationUnit) {
-		this(declaringType, name, occurrence, compilationUnit, CommandExecutor.Default.instance(), DefaultAnnotationEditFormatter.instance());
-	}
-
-
-	// ********** Member/Attribute/FieldAttribute implementation **********
-
-	@Override
-	protected Type getDeclaringType() {
-		return (Type) super.getDeclaringType();
-	}
-
-	public IVariableBinding getBinding(CompilationUnit astRoot) {
-		return this.getFragment(astRoot).resolveBinding();
-	}
-
-	@Override
-	public FieldDeclaration getBodyDeclaration(CompilationUnit astRoot) {
-		return this.getSelectedDeclaration(astRoot, FIELD_DECLARATION_SELECTOR);
-	}
-
-	public TextRange getNameTextRange(CompilationUnit astRoot) {
-		VariableDeclarationFragment fragment = this.getFragment(astRoot);
-		// the fragment can be null if the resource is out of sync with the file system
-		return (fragment == null) ? null : ASTTools.buildTextRange(fragment.getName());
-	}
-
-	public String getAttributeName() {
-		return this.getName();
-	}
-
-	public ITypeBinding getTypeBinding(CompilationUnit astRoot) {
-		return this.getBodyDeclaration(astRoot).getType().resolveBinding();
-	}
-
-	public boolean isField() {
-		return true;
-	}
-
-	public boolean isPersistable(CompilationUnit astRoot) {
-		IVariableBinding binding = this.getBinding(astRoot);
-		return (binding == null) ? false : JPTTools.fieldIsPersistable(new JPTToolsAdapter(binding));
-	}
-
-
-	// ********** internal **********
-
-	protected TypeDeclaration getDeclaringTypeDeclaration(CompilationUnit astRoot) {
-		// assume the declaring type is not an enum or annotation
-		// since they do not have field or method declarations
-		return this.getDeclaringType().getBodyDeclaration(astRoot);
-	}
-
-	protected VariableDeclarationFragment getFragment(CompilationUnit astRoot) {
-		return this.getSelectedDeclaration(astRoot, VARIABLE_DECLARATION_FRAGMENT_SELECTOR);
-	}
-
-	/**
-	 * return either a FieldDeclaration or a VariableDeclarationFragment,
-	 * depending on the specified selector;
-	 * 
-	 * handle multiple fields declared in a single statement:
-	 *     private int foo, bar;
-	 */
-	protected <T extends ASTNode> T getSelectedDeclaration(CompilationUnit astRoot, Selector<T> selector) {
-		String name = this.getName();
-		int occurrence = this.getOccurrence();
-		int count = 0;
-		for (FieldDeclaration fieldDeclaration : this.getDeclaringTypeFieldDeclarations(astRoot)) {
-			for (VariableDeclarationFragment fragment : fragments(fieldDeclaration)) {
-				if (fragment.getName().getFullyQualifiedName().equals(name)) {
-					count++;
-					if (count == occurrence) {
-						return selector.select(fieldDeclaration, fragment);
-					}
-				}
-			}
-		}
-		// return null if the field is no longer in the source code;
-		// this can happen when the context model has not yet
-		// been synchronized with the resource model but is still
-		// asking for an ASTNode (e.g. during a selection event)
-		return null;
-	}
-
-	protected FieldDeclaration[] getDeclaringTypeFieldDeclarations(CompilationUnit astRoot) {
-		TypeDeclaration typeDeclaration = this.getDeclaringTypeDeclaration(astRoot);
-		// the declaration can be null if the resource is out of sync with the file system
-		return (typeDeclaration == null) ? EMPTY_FIELD_DECLARATION_ARRAY : typeDeclaration.getFields();
-	}
-	protected static final FieldDeclaration[] EMPTY_FIELD_DECLARATION_ARRAY = new FieldDeclaration[0];
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	protected static List<VariableDeclarationFragment> fragments(FieldDeclaration fd) {
-		return fd.fragments();
-	}
-
-
-	// ********** Selector **********
-
-	// I'm not quite sure this interface is worth the resulting obfuscation,
-	// but, then, I kept changing both methods, so...  ~bjv
-	protected interface Selector<T extends ASTNode> {
-		T select(FieldDeclaration fieldDeclaration, VariableDeclarationFragment variableDeclarationFragment);
-		String getDescription();
-	}
-
-	protected static final Selector<FieldDeclaration> FIELD_DECLARATION_SELECTOR =
-		new Selector<FieldDeclaration>() {
-			public FieldDeclaration select(FieldDeclaration fieldDeclaration, VariableDeclarationFragment variableDeclarationFragment) {
-				return fieldDeclaration;
-			}
-			public String getDescription() {
-				return "field declaration"; //$NON-NLS-1$
-			}
-			@Override
-			public String toString() {
-				return "FIELD_DECLARATION_SELECTOR"; //$NON-NLS-1$
-			}
-		};
-
-	protected static final Selector<VariableDeclarationFragment> VARIABLE_DECLARATION_FRAGMENT_SELECTOR =
-		new Selector<VariableDeclarationFragment>() {
-			public VariableDeclarationFragment select(FieldDeclaration fieldDeclaration, VariableDeclarationFragment variableDeclarationFragment) {
-				return variableDeclarationFragment;
-			}
-			public String getDescription() {
-				return "variable declaration fragment"; //$NON-NLS-1$
-			}
-			@Override
-			public String toString() {
-				return "VARIABLE_DECLARATION_FRAGMENT_SELECTOR"; //$NON-NLS-1$
-			}
-		};
-
-
-	// ********** JPTTools adapter **********
-
-	/**
-	 * JPTTools needs an adapter so it can work with either an IField
-	 * or an IVariableBinding etc.
-	 */
-	protected static class JPTToolsAdapter implements JPTTools.FieldAdapter {
-		private final IVariableBinding fieldBinding;
-
-		protected JPTToolsAdapter(IVariableBinding fieldBinding) {
-			super();
-			if (fieldBinding == null) {
-				throw new NullPointerException();
-			}
-			this.fieldBinding = fieldBinding;
-		}
-
-		public int getModifiers() {
-			return this.fieldBinding.getModifiers();
-		}
-
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTMember.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTMember.java
deleted file mode 100644
index 609e797..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTMember.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.jdt.AbstractType;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-
-/**
- * Adapt and extend a JDT member with simplified annotation handling.
- */
-public abstract class JDTMember extends JDTAnnotatedElement
-	implements Member
-{
-
-	/** this will be null for the primary type */
-	private final AbstractType declaringType;
-
-	/**
-	 * members can occur more than once in non-compiling source;
-	 * count starts at 1; the primary type will have occurrence 1
-	 */
-	private final int occurrence;
-
-
-	// ********** constructors **********
-	
-	protected JDTMember(
-			AbstractType declaringType,
-			String name,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(declaringType, name, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	protected JDTMember(
-			AbstractType declaringType,
-			String name,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(name, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-		this.declaringType = declaringType;
-		this.occurrence = occurrence;
-	}
-
-	//covariant override
-	public abstract BodyDeclaration getBodyDeclaration(CompilationUnit astRoot);
-
-	
-	// ********** Member implementation **********
-
-	@Override
-	public ModifiedDeclaration getModifiedDeclaration(CompilationUnit astRoot) {
-		return new JDTModifiedDeclaration(this.getBodyDeclaration(astRoot));
-	}
-
-	public boolean matches(String memberName, int occur) {
-		return memberName.equals(this.getName()) && (occur == this.occurrence);
-	}
-
-
-	// ********** internal **********
-
-	protected int getOccurrence() {
-		return this.occurrence;
-	}
-
-	/**
-	 * this will return null for a top-level type
-	 */
-	protected AbstractType getDeclaringType() {
-		return this.declaringType;
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTMethodAttribute.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTMethodAttribute.java
deleted file mode 100644
index 17d31b4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTMethodAttribute.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.Arrays;
-import java.util.List;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IMethodBinding;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.MethodAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.JavaType;
-import org.eclipse.jpt.common.utility.MethodSignature;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-import org.eclipse.jpt.common.utility.internal.NameTools;
-import org.eclipse.jpt.common.utility.internal.SimpleMethodSignature;
-
-/**
- * Adapt and extend a JDT method.
- * Attribute based on a Java property, e.g.
- *     private int getFoo() {
- *         return foo;
- *     }
- *     private void setFoo(int foo) {
- *         this.foo = foo;
- *     }
- */
-public class JDTMethodAttribute
-	extends JDTMember
-	implements MethodAttribute
-{
-	/** we need the parameter types to build the method signature */
-	private final JavaType[] parameterTypes;
-
-
-	// ********** constructors **********
-
-	public static JDTMethodAttribute newInstance(
-			Type declaringType,
-			MethodSignature signature,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		return newInstance(declaringType, signature, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	public static JDTMethodAttribute newInstance(
-			Type declaringType,
-			MethodSignature signature,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		return new JDTMethodAttribute(declaringType, signature, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	private JDTMethodAttribute(
-			Type declaringType,
-			MethodSignature methodSignature,
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(declaringType, methodSignature.getName(), occurrence, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-		this.parameterTypes = methodSignature.getParameterTypes();
-	}
-
-	/**
-	 * constructor for testing
-	 */
-	public JDTMethodAttribute(Type declaringType, String name, String[] parameterTypeNames, int occurrence, ICompilationUnit compilationUnit) {
-		this(declaringType, new SimpleMethodSignature(name, parameterTypeNames), occurrence, compilationUnit, CommandExecutor.Default.instance(), DefaultAnnotationEditFormatter.instance());
-	}
-
-
-	// ********** Member/Attribute/MethodAttribute implementation **********
-
-	@Override
-	protected Type getDeclaringType() {
-		return (Type) super.getDeclaringType();
-	}
-
-	public boolean isField() {
-		return false;
-	}
-	
-	public IMethodBinding getBinding(CompilationUnit astRoot) {
-		return this.getBodyDeclaration(astRoot).resolveBinding();
-	}
-
-	@Override
-	public MethodDeclaration getBodyDeclaration(CompilationUnit astRoot) {
-		int count = 0;
-		for (MethodDeclaration methodDeclaration : this.getDeclaringTypeMethodDeclarations(astRoot)) {
-			if (this.matches(methodDeclaration)) {
-				count++;
-				if (count == this.getOccurrence()) {
-					return methodDeclaration;
-				}
-			}
-		}
-		// return null if the method is no longer in the source code;
-		// this can happen when the context model has not yet
-		// been synchronized with the resource model but is still
-		// asking for an ASTNode (e.g. during a selection event)
-		return null;
-	}
-
-	public boolean matches(MethodSignature signature, int occurrence) {
-		return this.matches(signature) && (occurrence == this.getOccurrence());
-	}
-
-	protected boolean matches(MethodSignature signature) {
-		return signature.getName().equals(this.getName())
-					&& Arrays.equals(this.parameterTypes, signature.getParameterTypes());
-	}
-
-	protected boolean matches(MethodDeclaration methodDeclaration) {
-		return this.matches(ASTTools.buildMethodSignature(methodDeclaration));
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	protected static List<SingleVariableDeclaration> parameters(MethodDeclaration methodDeclaration) {
-		return methodDeclaration.parameters();
-	}
-
-	@Override
-	public boolean matches(String memberName, int occurrence) {
-		throw new UnsupportedOperationException("Use #matches(MethodSignature, int)."); //$NON-NLS-1$
-	}
-
-	public TextRange getNameTextRange(CompilationUnit astRoot) {
-		MethodDeclaration methodDeclaration = this.getBodyDeclaration(astRoot);
-		// the declaration can be null if the resource is out of sync with the file system
-		return (methodDeclaration == null) ? null : ASTTools.buildTextRange(methodDeclaration.getName());
-	}
-
-	/**
-	 * return "foo" for a method named "getFoo", "isFoo", "setFoo"
-	 */
-	public String getAttributeName() {
-		return NameTools.convertGetterSetterMethodNameToPropertyName(this.getName());
-	}
-
-	public ITypeBinding getTypeBinding(CompilationUnit astRoot) {
-		IMethodBinding methodBinding = getBodyDeclaration(astRoot).resolveBinding();
-		return (methodBinding == null) ? null : methodBinding.getReturnType();
-	}
-
-	public boolean isPersistable(CompilationUnit astRoot) {
-		IMethodBinding binding = this.getBinding(astRoot);
-		return (binding == null) ? false : JPTTools.methodIsPersistablePropertyGetter(new JPTToolsAdapter(binding));
-	}
-
-
-	// ********** internal **********
-
-	protected TypeDeclaration getDeclaringTypeDeclaration(CompilationUnit astRoot) {
-		// assume the declaring type is not an enum or annotation
-		// since they do not have field or method declarations
-		return this.getDeclaringType().getBodyDeclaration(astRoot);
-	}
-
-	protected MethodDeclaration[] getDeclaringTypeMethodDeclarations(CompilationUnit astRoot) {
-		TypeDeclaration typeDeclaration = this.getDeclaringTypeDeclaration(astRoot);
-		// the declaration can be null if the resource is out of sync with the file system
-		return (typeDeclaration == null) ? EMPTY_METHOD_DECLARATION_ARRAY : typeDeclaration.getMethods();
-	}
-	protected static final MethodDeclaration[] EMPTY_METHOD_DECLARATION_ARRAY = new MethodDeclaration[0];
-
-
-	// ********** JPTTools adapter **********
-
-	/**
-	 * JPTTools needs an adapter so it can work with either an IMethod
-	 * or an IMethodBinding etc.
-	 */
-	protected static class SimpleJPTToolsAdapter
-		implements JPTTools.SimpleMethodAdapter
-	{
-		protected final IMethodBinding methodBinding;
-
-		protected SimpleJPTToolsAdapter(IMethodBinding methodBinding) {
-			super();
-			if (methodBinding == null) {
-				throw new NullPointerException();
-			}
-			this.methodBinding = methodBinding;
-		}
-
-		public int getModifiers() {
-			return this.methodBinding.getModifiers();
-		}
-
-		public String getReturnTypeErasureName() {
-			ITypeBinding returnType = this.methodBinding.getReturnType();
-			return (returnType == null) ? null : returnType.getTypeDeclaration().getErasure().getQualifiedName();
-		}
-
-		public boolean isConstructor() {
-			return this.methodBinding.isConstructor();
-		}
-	}
-
-	protected static class JPTToolsAdapter
-		extends SimpleJPTToolsAdapter
-		implements JPTTools.MethodAdapter
-	{
-		protected JPTToolsAdapter(IMethodBinding methodBinding) {
-			super(methodBinding);
-		}
-
-		public String getName() {
-			return this.methodBinding.getName();
-		}
-
-		public int getParametersLength() {
-			return this.methodBinding.getParameterTypes().length;
-		}
-
-		public JPTTools.SimpleMethodAdapter getSibling(String name) {
-			ITypeBinding typeBinding = this.methodBinding.getDeclaringClass();
-			if (typeBinding == null) {
-				return null;
-			}
-			for (IMethodBinding sibling : typeBinding.getDeclaredMethods()) {
-				if ((sibling.getParameterTypes().length == 0)
-						&& sibling.getName().equals(name)) {
-					return new SimpleJPTToolsAdapter(sibling);
-				}
-			}
-			return null;
-		}
-
-		public JPTTools.SimpleMethodAdapter getSibling(String name, String parameterTypeErasureName) {
-			ITypeBinding typeBinding = this.methodBinding.getDeclaringClass();
-			if (typeBinding == null) {
-				return null;
-			}
-			for (IMethodBinding sibling : typeBinding.getDeclaredMethods()) {
-				ITypeBinding[] siblingParmTypes = sibling.getParameterTypes();
-				if ((siblingParmTypes.length == 1)
-						&& sibling.getName().equals(name)
-						&& siblingParmTypes[0].getTypeDeclaration().getErasure().getQualifiedName().equals(parameterTypeErasureName)) {
-					return new SimpleJPTToolsAdapter(sibling);
-				}
-			}
-			return null;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTModifiedDeclaration.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTModifiedDeclaration.java
deleted file mode 100644
index 6e67e46..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTModifiedDeclaration.java
+++ /dev/null
@@ -1,584 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IExtendedModifier;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.ImportDeclaration;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationExpression;
-import org.eclipse.jdt.core.dom.VariableDeclarationStatement;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterators.FilteringIterator;
-import org.eclipse.jpt.common.utility.internal.iterators.SubIteratorWrapper;
-
-/**
- * Wrap any of the AST nodes that have modifiers (specifically, annotations);
- * i.e. BodyDeclaration, SingleVariableDeclaration, VariableDeclarationExpression,
- * and VariableDeclarationStatement.
- */
-public class JDTModifiedDeclaration
-	implements ModifiedDeclaration
-{
-	private final Adapter adapter;
-
-
-	// ********** constructors **********
-
-	public JDTModifiedDeclaration(Adapter adapter) {
-		super();
-		this.adapter = adapter;
-	}
-
-	public JDTModifiedDeclaration(BodyDeclaration declaration) {
-		this(new BodyDeclarationAdapter(declaration));
-	}
-	
-	public JDTModifiedDeclaration(PackageDeclaration declaration) {
-		this(new PackageDeclarationAdapter(declaration));			
-	}
-
-	public JDTModifiedDeclaration(SingleVariableDeclaration declaration) {
-		this(new SingleVariableDeclarationAdapter(declaration));
-	}
-
-	public JDTModifiedDeclaration(VariableDeclarationExpression declaration) {
-		this(new VariableDeclarationExpressionAdapter(declaration));
-	}
-
-	public JDTModifiedDeclaration(VariableDeclarationStatement declaration) {
-		this(new VariableDeclarationStatementAdapter(declaration));
-	}
-
-
-	// ********** annotations **********
-
-	public Annotation getAnnotationNamed(String annotationName) {
-		for (Iterator<Annotation> stream = this.annotations(); stream.hasNext(); ) {
-			Annotation annotation = stream.next();
-			if (this.annotationIsNamed(annotation, annotationName)) {
-				return annotation;
-			}
-		}
-		return null;
-	}
-
-	public void removeAnnotationNamed(String annotationName) {
-		for (Iterator<IExtendedModifier> stream = this.getModifiers().iterator(); stream.hasNext(); ) {
-			IExtendedModifier modifier = stream.next();
-			if (modifier.isAnnotation()) {
-				if (this.annotationIsNamed((Annotation) modifier, annotationName)) {
-					stream.remove();
-					break;
-				}
-			}
-		}
-	}
-
-	public void replaceAnnotationNamed(String oldAnnotationName, Annotation newAnnotation) {
-		List<IExtendedModifier> modifiers = this.getModifiers();
-		for (ListIterator<IExtendedModifier> stream = modifiers.listIterator(); stream.hasNext(); ) {
-			IExtendedModifier modifier = stream.next();
-			if (modifier.isAnnotation()) {
-				if (this.annotationIsNamed((Annotation) modifier, oldAnnotationName)) {
-					stream.set(newAnnotation);
-					return;
-				}
-			}
-		}
-		this.addAnnotation(newAnnotation);
-	}
-
-	/**
-	 * Add the specified annotation to the declaration.
-	 * By convention annotations precede the "standard" (JLS2) modifiers;
-	 * though, technically, they can be interspersed.
-	 */
-	protected void addAnnotation(Annotation annotation) {
-		List<IExtendedModifier> modifiers = this.getModifiers();
-		for (ListIterator<IExtendedModifier> stream = modifiers.listIterator(); stream.hasNext(); ) {
-			if (stream.next().isModifier()) {
-				stream.previous();  // put the annotation *before* the first "standard" (JLS2) modifier
-				stream.add(annotation);
-				return;
-			}
-		}
-		modifiers.add(annotation);  // just tack it on to the end
-	}
-
-	/**
-	 * Return the declaration's annotations.
-	 */
-	protected Iterator<Annotation> annotations() {
-		return new SubIteratorWrapper<IExtendedModifier, Annotation>(this.annotations_());
-	}
-
-	protected Iterator<IExtendedModifier> annotations_() {
-		return new FilteringIterator<IExtendedModifier>(this.getModifiers().iterator()) {
-			@Override
-			protected boolean accept(IExtendedModifier next) {
-				return next.isAnnotation();
-			}
-		};
-	}
-
-
-	// ********** add import **********
-
-	public boolean addImport(String className) {
-		if (className.indexOf('.') == -1) {
-			return true;  // the class is in the default package - no need for import
-		}
-		return this.addImport(className, false);
-	}
-
-	public boolean addStaticImport(String enumConstantName) {
-		int index1 = enumConstantName.indexOf('.');
-		if (index1 == -1) {
-			throw new IllegalArgumentException(enumConstantName);  // shouldn't happen?
-		}
-		int index2 = enumConstantName.indexOf('.', index1 + 1);
-		if (index2 == -1) {
-			return true;  // the enum is in the default package - no need for import
-		}
-		return this.addImport(enumConstantName, true);
-	}
-
-	public boolean addImport(String importName, boolean staticImport) {
-		Boolean include = this.importsInclude(importName, staticImport);
-		if (include != null) {
-			return include.booleanValue();
-		}
-
-		ImportDeclaration importDeclaration = this.getAst().newImportDeclaration();
-		importDeclaration.setName(this.getAst().newName(importName));
-		importDeclaration.setStatic(staticImport);
-		this.getImports().add(importDeclaration);
-		return true;
-	}
-
-	/**
-	 * Just a bit hacky:
-	 *     Return Boolean.TRUE if the import is already present.
-	 *     Return Boolean.FALSE if a colliding import is already present.
-	 *     Return null if a new import may be added.
-	 * This hackery allows us to loop through the imports only once
-	 * (and compose our methods).
-	 * Pre-condition: 'importName' is not in the "default" package (i.e. it *is* qualified)
-	 */
-	protected Boolean importsInclude(String importName, boolean staticImport) {
-		int period = importName.lastIndexOf('.');  // should not be -1
-		String importNameQualifier = importName.substring(0, period);
-		String shortImportName = importName.substring(period + 1);
-		return this.importsInclude(importName, importNameQualifier, shortImportName, staticImport);
-	}
-
-	/**
-	 * pre-calculate the qualifier and short name
-	 */
-	protected Boolean importsInclude(String importName, String importNameQualifier, String shortImportName, boolean staticImport) {
-		for (ImportDeclaration importDeclaration : this.getImports()) {
-			if (importDeclaration.isStatic() == staticImport) {
-				Boolean match = this.importMatches(importDeclaration, importName, importNameQualifier, shortImportName);
-				if (match != null) {
-					return match;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * we should be able to rely on the JDT model here, since we are looking
-	 * at objects that should not be changing underneath us...
-	 */
-	protected Boolean importMatches(ImportDeclaration importDeclaration, String importName, String importNameQualifier, String shortImportName) {
-		// examples:
-		// 'importName' is "java.util.Date"
-		//     or
-		// 'importName' is "java.lang.annotation.ElementType.TYPE"
-		String idn = importDeclaration.getName().getFullyQualifiedName();
-		if (importName.equals(idn)) {
-			// import java.util.Date; => "Date" will resolve to "java.util.Date"
-			// import static java.lang.annotation.ElementType.TYPE; => "TYPE" will resolve to "java.lang.annotation.ElementType.TYPE"
-			return Boolean.TRUE;
-		}
-
-		String shortIDN = idn.substring(idn.lastIndexOf('.') + 1);
-		if (shortImportName.equals(shortIDN)) {
-			// import java.sql.Date; => ambiguous resolution of "Date"
-			// import static org.foo.Bar.TYPE; => ambiguous resolution of "TYPE"
-			return Boolean.FALSE;
-		}
-
-		if (importDeclaration.isOnDemand()) {
-			if (importNameQualifier.equals(idn)) {
-				// import java.util.*; => "Date" will resolve to "java.util.Date"
-				// import static java.lang.annotation.ElementType.*; => "TYPE" will resolve to "java.lang.annotation.ElementType.TYPE"
-				return Boolean.TRUE;
-			}
-			if (importDeclaration.isStatic()) {
-				if (this.enumResolves(idn, shortImportName)) {
-					// import static org.foo.Bar.*; => ambiguous resolution of "TYPE"
-					return Boolean.FALSE;
-				}
-			} else {
-				if (this.typeResolves(idn + '.' + shortImportName)) {
-					// import java.sql.*; => ambiguous resolution of "Date"
-					return Boolean.FALSE;
-				}
-			}
-		}
-		// no matches - OK to add explicit import
-		return null;
-	}
-
-	protected boolean enumResolves(String enumTypeName, String enumConstantName) {
-		try {
-			return this.enumResolves_(enumTypeName, enumConstantName);
-		} catch (JavaModelException ex) {
-			throw new RuntimeException(ex);
-		}
-	}
-
-	protected boolean enumResolves_(String enumTypeName, String enumConstantName) throws JavaModelException {
-		IType jdtType = this.findType_(enumTypeName);
-		if (jdtType == null) {
-			return false;
-		}
-		if ( ! jdtType.isEnum()) {
-			return false;
-		}
-		for (IField jdtField : jdtType.getFields()) {
-			if (jdtField.isEnumConstant() && jdtField.getElementName().equals(enumConstantName)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	protected boolean typeResolves(String name) {
-		return this.findType(name) != null;
-	}
-
-	protected IType findType(String name) {
-		try {
-			return this.findType_(name);
-		} catch (JavaModelException ex) {
-			throw new RuntimeException(ex);
-		}
-	}
-
-	protected IType findType_(String name) throws JavaModelException {
-		return this.getCompilationUnit().getJavaElement().getJavaProject().findType(name);
-	}
-
-	protected List<ImportDeclaration> getImports() {
-		return this.imports(this.getCompilationUnit());
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	protected List<ImportDeclaration> imports(CompilationUnit astRoot) {
-		return astRoot.imports();
-	}
-
-
-	// ********** annotation name resolution **********
-
-	public boolean annotationIsNamed(Annotation annotation, String name) {
-		return this.getQualifiedName(annotation).equals(name);
-	}
-
-	/**
-	 * Simply return the annotation's unqualified name if we can't "resolve" it.
-	 */
-	protected String getQualifiedName(Annotation annotation) {
-		ITypeBinding typeBinding = annotation.resolveTypeBinding();
-		if (typeBinding != null) {
-			String resolvedName = typeBinding.getQualifiedName();
-			if (resolvedName != null) {
-				return resolvedName;
-			}
-		}
-		// hack(?): check for a matching import because when moving a stand-alone
-		// annotation to its container in CombinationIndexedDeclarationAnnotationAdapter
-		// the container's import is added but then it won't "resolve" upon
-		// subsequent lookups (because the parser hasn't had time to run?)... :-(
-		return this.convertToFullClassName(annotation.getTypeName().getFullyQualifiedName());
-	}
-
-	/**
-	 * If necessary, use the declaration's imports to calculate a guess as to
-	 * the specified name's fully-qualified form.
-	 * Simply return the unqualified name if we can't "resolve" it.
-	 */
-	protected String convertToFullClassName(String name) {
-		// check for fully-qualified name
-		return (name.lastIndexOf('.') != -1) ? name : this.resolveAgainstImports(name, false);
-	}
-
-	/**
-	 * If necessary, use the declaration's imports to calculate a guess as to
-	 * the specified name's fully-qualified form.
-	 * Simply return the unqualified name if we can't "resolve" it.
-	 */
-	protected String convertToFullEnumConstantName(String name) {
-		int index1 = name.indexOf('.');
-		if (index1 == -1) {
-			// short name, e.g. "TYPE"
-			// true = look for static import of enum constant
-			return this.resolveAgainstImports(name, true);
-		}
-
-		int index2 = name.indexOf('.', index1 + 1);
-		if (index2 == -1) {
-			// partially-qualified name, e.g. "ElementType.TYPE"
-			// false = look regular import of enum class, not static import of enum constant
-			return this.resolveAgainstImports(name, false);
-		}
-
-		// fully-qualified name, e.g. "java.lang.annotation.ElementType.TYPE"
-		return name;
-	}
-
-	/**
-	 * Attempt to resolve the specified "short" name against the declaration's
-	 * imports. Return the name unchanged if we can't resolve it (perhaps it is
-	 * in the "default" package).
-	 */
-	protected String resolveAgainstImports(String shortName, boolean static_) {
-		for (ImportDeclaration importDeclaration : this.getImports()) {
-			if (importDeclaration.isStatic() == static_) {
-				String resolvedName = this.resolveAgainstImport(importDeclaration, shortName);
-				if (resolvedName != null) {
-					return resolvedName;
-				}
-			}
-		}
-		return shortName;  // "default" package or unknown
-	}
-
-	/**
-	 * Attempt to resolve the specified "short" name against the specified
-	 * import. Return the resolved name if the import resolves it; otherwise
-	 * return null.
-	 */
-	protected String resolveAgainstImport(ImportDeclaration importDeclaration, String shortName) {
-		String idn = importDeclaration.getName().getFullyQualifiedName();
-		if (importDeclaration.isOnDemand()) {
-			String candidate = idn + '.' + shortName;
-			if (importDeclaration.isStatic()) {
-				if (this.enumResolves(idn, shortName)) {
-					return candidate;
-				}
-			} else {
-				if (this.typeResolves(candidate)) {
-					return candidate;
-				}
-			}
-			// no match
-			return null;
-		}
-
-		// explicit import - see whether its end matches 'shortName'
-		int period = idn.length() - shortName.length() - 1;
-		if (period < 1) {
-			// something must precede period
-			return null;
-		}
-		if ((idn.charAt(period) == '.') && idn.endsWith(shortName)) {
-			return idn;  // probable exact match
-		}
-		return null;
-	}
-
-
-	// ********** miscellaneous methods **********
-
-	public ASTNode getDeclaration() {
-		return this.adapter.getDeclaration();
-	}
-
-	/**
-	 * Return the declaration's list of modifiers.
-	 * Element type: org.eclipse.jdt.core.dom.IExtendedModifier
-	 */
-	protected List<IExtendedModifier> getModifiers() {
-		return this.adapter.getModifiers();
-	}
-
-	public AST getAst() {
-		return this.getDeclaration().getAST();
-	}
-
-	protected CompilationUnit getCompilationUnit() {
-		return (CompilationUnit) this.getDeclaration().getRoot();
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.adapter.toString());
-	}
-
-
-	// ********** declaration adapter interface and implementations **********
-
-	/**
-	 * Define common protocol among the various "declarations".
-	 */
-	public interface Adapter {
-
-		/**
-		 * Return the adapted "declaration".
-		 */
-		ASTNode getDeclaration();
-
-		/**
-		 * Return the "declaration"'s list of modifiers.
-		 * Element type: org.eclipse.jdt.core.dom.IExtendedModifier
-		 */
-		List<IExtendedModifier> getModifiers();
-
-	}
-
-	public static class BodyDeclarationAdapter implements Adapter {
-		private final BodyDeclaration declaration;
-		public BodyDeclarationAdapter(BodyDeclaration declaration) {
-			super();
-			this.declaration = declaration;
-		}
-		public ASTNode getDeclaration() {
-			return this.declaration;
-		}
-		@SuppressWarnings("unchecked")
-		public List<IExtendedModifier> getModifiers() {
-			return this.declaration.modifiers();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, this.declaration.toString());
-		}
-	}
-	
-	public static class PackageDeclarationAdapter implements Adapter {
-		private final PackageDeclaration declaration;
-		public PackageDeclarationAdapter(PackageDeclaration declaration) {
-			super();
-			this.declaration = declaration;
-		}
-		public ASTNode getDeclaration() {
-			return this.declaration;
-		}
-		@SuppressWarnings("unchecked")
-		public List<IExtendedModifier> getModifiers() {
-			return this.declaration.annotations();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, this.declaration.toString());
-		}
-	}
-	
-	/*public static class ASTNodeAdapter implements Adapter {
-		private final ASTNode declaration;
-		public ASTNodeAdapter(ASTNode declaration) {
-			super();
-			this.declaration = declaration;
-		}
-		public ASTNode getDeclaration() {
-			return this.declaration;
-		}
-		@SuppressWarnings("unchecked")
-		public List<IExtendedModifier> getModifiers() {
-			if (declaration instanceof BodyDeclaration) {
-				return ((BodyDeclaration) declaration).modifiers();				
-			} else if (declaration instanceof PackageDeclaration) {
-				return ((PackageDeclaration) declaration).annotations();				
-			}
-			return Collections.emptyList();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, this.declaration.toString());
-		}
-	}*/
-
-	public static class SingleVariableDeclarationAdapter implements Adapter {
-		private final SingleVariableDeclaration declaration;
-		public SingleVariableDeclarationAdapter(SingleVariableDeclaration declaration) {
-			super();
-			this.declaration = declaration;
-		}
-		public ASTNode getDeclaration() {
-			return this.declaration;
-		}
-		@SuppressWarnings("unchecked")
-		public List<IExtendedModifier> getModifiers() {
-			return this.declaration.modifiers();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, this.declaration.toString());
-		}
-	}
-
-	public static class VariableDeclarationExpressionAdapter implements Adapter {
-		private final VariableDeclarationExpression declaration;
-		public VariableDeclarationExpressionAdapter(VariableDeclarationExpression declaration) {
-			super();
-			this.declaration = declaration;
-		}
-		public ASTNode getDeclaration() {
-			return this.declaration;
-		}
-		@SuppressWarnings("unchecked")
-		public List<IExtendedModifier> getModifiers() {
-			return this.declaration.modifiers();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, this.declaration.toString());
-		}
-	}
-
-	public static class VariableDeclarationStatementAdapter implements Adapter {
-		private final VariableDeclarationStatement declaration;
-		public VariableDeclarationStatementAdapter(VariableDeclarationStatement declaration) {
-			super();
-			this.declaration = declaration;
-		}
-		public ASTNode getDeclaration() {
-			return this.declaration;
-		}
-		@SuppressWarnings("unchecked")
-		public List<IExtendedModifier> getModifiers() {
-			return this.declaration.modifiers();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, this.declaration.toString());
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTPackage.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTPackage.java
deleted file mode 100644
index 3057928..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTPackage.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2012 Red Hat, 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:
- *     Red Hat, Inc. - initial API and implementation
- *     Oracle
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IPackageBinding;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedPackage;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-
-public class JDTPackage
-	extends JDTAnnotatedElement 
-	implements AnnotatedPackage
-{
-	protected JDTPackage(PackageDeclaration declaringPackage,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		super(declaringPackage.getName().getFullyQualifiedName(), 
-				compilationUnit,
-				modifySharedDocumentCommandExecutor);
-	}
-
-	public JDTPackage(
-			PackageDeclaration declaringPackage,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(declaringPackage.getName().getFullyQualifiedName(),
-				compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	@Override
-	public ModifiedDeclaration getModifiedDeclaration(CompilationUnit astRoot) {
-		return new JDTModifiedDeclaration(this.getBodyDeclaration(astRoot));
-	}
-
-	public IPackageBinding getBinding(CompilationUnit astRoot) {
-		PackageDeclaration pd = this.getBodyDeclaration(astRoot);
-		return (pd == null) ? null : pd.resolveBinding();
-	}
-
-	public PackageDeclaration getBodyDeclaration(CompilationUnit astRoot) {
-		return astRoot.getPackage();
-	}
-
-	public TextRange getNameTextRange(CompilationUnit astRoot) {
-		return ASTTools.buildTextRange(this.getBodyDeclaration(astRoot).getName());
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTType.java
deleted file mode 100644
index 48d3da1..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JDTType.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-
-/**
- * Adapt and extend a JDT type.
- */
-public class JDTType
-	extends AbstractJDTType
-	implements Type
-{
-
-	/**
-	 * constructor for the compilation unit's primary type
-	 */
-	public JDTType(
-			TypeDeclaration typeDeclaration,  // exclude annotations and enums
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(typeDeclaration, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	/**
-	 * constructor for the compilation unit's primary type
-	 */
-	public JDTType(
-			TypeDeclaration typeDeclaration,  // exclude annotations and enums
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		this(null, typeDeclaration, 1, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	/**
-	 * constructor for nested types
-	 */
-	public JDTType(
-			Type declaringType,
-			TypeDeclaration typeDeclaration,  // exclude annotations and enums
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor) {
-		this(declaringType, typeDeclaration, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, DefaultAnnotationEditFormatter.instance());
-	}
-
-	/**
-	 * constructor for nested types
-	 */
-	public JDTType(
-			Type declaringType,
-			TypeDeclaration typeDeclaration,  // exclude annotations and enums
-			int occurrence,
-			ICompilationUnit compilationUnit,
-			CommandExecutor modifySharedDocumentCommandExecutor,
-			AnnotationEditFormatter annotationEditFormatter) {
-		super(declaringType, typeDeclaration, occurrence, compilationUnit, modifySharedDocumentCommandExecutor, annotationEditFormatter);
-	}
-
-	/**
-	 * constructor for testing
-	 */
-	public JDTType(Type declaringType, String name, int occurrence, ICompilationUnit compilationUnit) {
-		super(declaringType, name, occurrence, compilationUnit);
-	}
-
-
-	// ********** Member/Type implementation **********
-
-	/**
-	 * find the type's body declaration in the specified AST
-	 */
-	@Override
-	public TypeDeclaration getBodyDeclaration(CompilationUnit astRoot) {
-		return (TypeDeclaration) super.getBodyDeclaration(astRoot);
-	}
-
-	public boolean isPersistable(CompilationUnit astRoot) {
-		ITypeBinding binding = this.getBinding(astRoot);
-		return (binding == null) ? false : JPTTools.typeIsPersistable(new JPTToolsAdapter(binding));
-	}
-
-	public TypeDeclaration[] getTypes(CompilationUnit astRoot) {
-		return this.getBodyDeclaration(astRoot).getTypes();
-	}
-
-	public EnumDeclaration[] getEnums(CompilationUnit astRoot) {
-		return getEnums(this.getBodyDeclaration(astRoot));
-	}
-
-	public FieldDeclaration[] getFields(CompilationUnit astRoot) {
-		return this.getBodyDeclaration(astRoot).getFields();
-	}
-
-	public MethodDeclaration[] getMethods(CompilationUnit astRoot) {
-		return this.getBodyDeclaration(astRoot).getMethods();
-	}
-
-
-	// ********** internal **********
-
-	/**
-	 * return the first top-level type in the specified AST with a matching name
-	 */
-	@Override
-	protected TypeDeclaration getTopLevelTypeDeclaration(CompilationUnit astRoot) {
-		return (TypeDeclaration) super.getTopLevelTypeDeclaration(astRoot);
-	}
-
-	@Override
-	protected TypeDeclaration getTypeDeclaration(List<AbstractTypeDeclaration> typeDeclarations) {
-		return (TypeDeclaration) super.getTypeDeclaration(typeDeclarations);
-	}
-
-	/**
-	 * return the nested type with a matching name and occurrence
-	 */
-	@Override
-	protected TypeDeclaration getNestedTypeDeclaration(TypeDeclaration declaringTypeDeclaration) {
-		return this.getTypeDeclaration(declaringTypeDeclaration.getTypes());
-	}
-
-	/**
-	 * return the type declaration corresponding to the type from the specified
-	 * set of type declarations (match name and occurrence)
-	 */
-	@Override
-	protected TypeDeclaration getTypeDeclaration(AbstractTypeDeclaration[] typeDeclarations) {
-		return (TypeDeclaration) super.getTypeDeclaration(typeDeclarations);
-	}
-
-	@Override
-	protected int getASTNodeType() {
-		return ASTNode.TYPE_DECLARATION;
-	}
-
-
-	// ********** JPT tools adapter **********
-
-	protected static class JPTToolsAdapter
-		implements JPTTools.TypeAdapter
-	{
-		private final ITypeBinding typeBinding;
-		protected JPTToolsAdapter(ITypeBinding typeBinding) {
-			super();
-			if (typeBinding == null) {
-				throw new NullPointerException();
-			}
-			this.typeBinding = typeBinding;
-		}
-
-		public int getModifiers() {
-			return this.typeBinding.getModifiers();
-		}
-
-		public boolean isAnnotation() {
-			return this.typeBinding.isAnnotation();
-		}
-
-		public boolean isAnonymous() {
-			return this.typeBinding.isAnonymous();
-		}
-
-		public boolean isArray() {
-			return this.typeBinding.isArray();
-		}
-
-		public boolean isEnum() {
-			return this.typeBinding.isEnum();
-		}
-
-		public boolean isInterface() {
-			return this.typeBinding.isInterface();
-		}
-
-		public boolean isLocal() {
-			return this.typeBinding.isLocal();
-		}
-
-		public boolean isMember() {
-			return this.typeBinding.isMember();
-		}
-
-		public boolean isPrimitive() {
-			return this.typeBinding.isPrimitive();
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JPTTools.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JPTTools.java
deleted file mode 100644
index f1930c8..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/JPTTools.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.lang.reflect.Modifier;
-
-/**
- * Convenience methods for JPA-related queries concerning JDT objects.
- */
-//TODO this needs to move because it is only used for JPA
-public class JPTTools {
-
-	// ********** type **********
-
-	/**
-	 * Return whether the specified type can be "persisted", i.e. marked as
-	 * Entity, MappedSuperclass, Embeddable
-	 */
-	public static boolean typeIsPersistable(TypeAdapter typeAdapter) {
-		if (typeAdapter.isInterface()) {
-			return false;
-		}
-		if (typeAdapter.isAnnotation()) {
-			return false;
-		}
-		if (typeAdapter.isEnum()) {
-			return false;
-		}
-		if (typeAdapter.isLocal()) {
-			return false;
-		}
-		if (typeAdapter.isAnonymous()) {
-			return false;
-		}
-		if (typeAdapter.isPrimitive()) {
-			return false;  // should never get here(?)
-		}
-		if (typeAdapter.isArray()) {
-			return false;  // should never get here(?)
-		}
-		return true;
-	}
-
-	/**
-	 * Queries needed to calculate whether a type is "persistable".
-	 * Adapted to ITypeBinding and IType.
-	 */
-	public interface TypeAdapter {
-		int getModifiers();
-		boolean isAnnotation();
-		boolean isAnonymous();
-		boolean isArray();
-		boolean isEnum();
-		boolean isInterface();
-		boolean isLocal();
-		boolean isMember();
-		boolean isPrimitive();
-	}
-
-
-	// ********** field **********
-
-	/**
-	 * Return whether the specified field may be "persisted".
-	 * According to the spec, "All non-transient instance variables that are not 
-	 * annotated with the Transient annotation are persistent."
-	 */
-	public static boolean fieldIsPersistable(FieldAdapter fieldAdapter) {
-		int modifiers = fieldAdapter.getModifiers();
-		if (Modifier.isStatic(modifiers)) {
-			return false;
-		}
-		if (Modifier.isTransient(modifiers)) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Queries needed to calculate whether a field is "persistable".
-	 * Adapted to IVariableBinding and IField.
-	 */
-	public interface FieldAdapter {
-		/**
-		 * Return the field's modifiers. We use these to check whether the
-		 * field is static or transient.
-		 */
-		int getModifiers();
-	}
-
-
-	// ********** method **********
-
-	/**
-	 * Return whether the specified method is a "getter" method that
-	 * represents a property that may be "persisted".
-	 */
-	public static boolean methodIsPersistablePropertyGetter(MethodAdapter methodAdapter) {
-		if (methodHasInvalidModifiers(methodAdapter)) {
-			return false;
-		}
-		if (methodAdapter.isConstructor()) {
-			return false;
-		}
-
-		String returnTypeName = methodAdapter.getReturnTypeErasureName();
-		if (returnTypeName == null) {
-			return false;  // DOM method bindings can have a null name
-		}
-		if (returnTypeName.equals("void")) { //$NON-NLS-1$
-			return false;
-		}
-		if (methodHasParameters(methodAdapter)) {
-			return false;
-		}
-
-		String name = methodAdapter.getName();
-		int beginIndex = 0;
-		boolean booleanGetter = false;
-		if (name.startsWith("is")) { //$NON-NLS-1$
-			if (returnTypeName.equals("boolean")) { //$NON-NLS-1$
-				beginIndex = 2;
-			} else {
-				return false;
-			}
-		} else if (name.startsWith("get")) { //$NON-NLS-1$
-			beginIndex = 3;
-			if (returnTypeName.equals("boolean")) { //$NON-NLS-1$
-				booleanGetter = true;
-			}
-		} else {
-			return false;
-		}
-
-		String capitalizedAttributeName = name.substring(beginIndex);
-		// if the type has both methods:
-		//     boolean isProperty()
-		//     boolean getProperty()
-		// then #isProperty() takes precedence and we ignore #getProperty();
-		// but only having #getProperty() is OK too
-		// (see the JavaBeans spec 1.01)
-		if (booleanGetter && methodHasValidSiblingIsMethod(methodAdapter, capitalizedAttributeName)) {
-			return false;  // since the type also defines #isProperty(), ignore #getProperty()
-		}
-		return methodHasValidSiblingSetMethod(methodAdapter, capitalizedAttributeName, returnTypeName);
-	}
-
-	/**
-	 * Return whether the method's modifiers prevent it
-	 * from being a getter or setter for a "persistent" property.
-	 */
-	private static boolean methodHasInvalidModifiers(SimpleMethodAdapter methodAdapter) {
-		int modifiers = methodAdapter.getModifiers();
-		if (Modifier.isStatic(modifiers)) {
-			return true;
-		}
-		return false;
-	}
-
-	private static boolean methodHasParameters(MethodAdapter methodAdapter) {
-		return methodAdapter.getParametersLength() != 0;
-	}
-
-	/**
-	 * Return whether the method has a sibling "is" method for the specified
-	 * property and that method is valid for a "persistable" property.
-	 * Pre-condition: the method is a "boolean getter" (e.g. 'public boolean getProperty()');
-	 * this prevents us from returning true when the method itself is an
-	 * "is" method.
-	 */
-	private static boolean methodHasValidSiblingIsMethod(MethodAdapter methodAdapter, String capitalizedAttributeName) {
-		SimpleMethodAdapter isMethodAdapter = methodAdapter.getSibling("is" + capitalizedAttributeName); //$NON-NLS-1$
-		return methodIsValidSibling(isMethodAdapter, "boolean"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Return whether the method has a sibling "set" method
-	 * and that method is valid for a "persistable" property.
-	 */
-	private static boolean methodHasValidSiblingSetMethod(MethodAdapter methodAdapter, String capitalizedAttributeName, String parameterTypeErasureName) {
-		SimpleMethodAdapter setMethodAdapter = methodAdapter.getSibling("set" + capitalizedAttributeName, parameterTypeErasureName); //$NON-NLS-1$
-		return methodIsValidSibling(setMethodAdapter, "void"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Return whether the specified method is a valid sibling with the
-	 * specified return type.
-	 */
-	private static boolean methodIsValidSibling(SimpleMethodAdapter methodAdapter, String returnTypeName) {
-		if (methodAdapter == null) {
-			return false;
-		}
-		if (methodHasInvalidModifiers(methodAdapter)) {
-			return false;
-		}
-		if (methodAdapter.isConstructor()) {
-			return false;
-		}
-		String rtName = methodAdapter.getReturnTypeErasureName();
-		if (rtName == null) {
-			return false;  // DOM method bindings can have a null name
-		}
-		return rtName.equals(returnTypeName);
-	}
-
-	/**
-	 * Queries needed to calculate whether a method is "persistable".
-	 * Adapted to IMethodBinding and IMethod.
-	 */
-	public interface SimpleMethodAdapter {
-		/**
-		 * Return the method's modifiers.
-		 * We use these to check whether the method is static, final, etc.
-		 */
-		int getModifiers();
-
-		/**
-		 * Return the name of the method's return type erasure.
-		 * We use this to check for
-		 *   - boolean getters
-		 *   - void return types
-		 *   - matching getters and setters
-		 */
-		String getReturnTypeErasureName();
-
-		/**
-		 * Return whether the method is a constructor.
-		 */
-		boolean isConstructor();
-	}
-
-	/**
-	 * Queries needed to calculate whether a method is "persistable".
-	 * Adapted to IMethodBinding and IMethod.
-	 */
-	public interface MethodAdapter extends SimpleMethodAdapter {
-		/**
-		 * Return the method's name.
-		 * We use this to determine
-		 *   - whether the method is a "getter"
-		 *   - the property name implied by the getter's name
-		 */
-		String getName();
-
-		/**
-		 * Return the number of paramters declared by the method.
-		 * We use this to determine whether the method is a "getter".
-		 */
-		int getParametersLength();
-
-		/**
-		 * Return the method's "sibling" with the specified name and no parameters.
-		 * We use this to find an "is" boolean getter that would take precedence
-		 * over a "get" boolean getter.
-		 */
-		SimpleMethodAdapter getSibling(String name);
-
-		/**
-		 * Return the method's "sibling" with the specified name and single parameter.
-		 * We use this to find a matching "setter" for a possible "getter".
-		 */
-		SimpleMethodAdapter getSibling(String name, String parameterTypeErasureName);
-	}
-
-
-	// ********** suppressed constructor **********
-
-	/**
-	 * Suppress default constructor, ensuring non-instantiability.
-	 */
-	private JPTTools() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NameStringExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NameStringExpressionConverter.java
deleted file mode 100644
index 5c9bc46..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NameStringExpressionConverter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-
-/**
- * Convert a name to/from a string representation of a name/identifier
- * (e.g. "com.xxx.Foo.VALUE1" or "value").
- */
-public final class NameStringExpressionConverter
-	extends AbstractExpressionConverter<String>
-{
-	private static final ExpressionConverter<String> INSTANCE = new NameStringExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<String> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private NameStringExpressionConverter() {
-		super();
-	}
-
-	@Override
-	protected Name convertObject(String string, AST ast) {
-		return ast.newName(string);
-	}
-
-	@Override
-	protected String convertExpression(Expression expression) {
-		switch (expression.getNodeType()) {
-			case ASTNode.QUALIFIED_NAME:
-			case ASTNode.SIMPLE_NAME:
-				return ((Name) expression).getFullyQualifiedName();
-			default:
-				return null;
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NestedDeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NestedDeclarationAnnotationAdapter.java
deleted file mode 100644
index 17eb956..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NestedDeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-/**
- * Manipulate an annotation that is embedded as an element within
- * another annotation, e.g.
- * <pre>
- *     &#64;Outer(foo=&#64;Inner)
- *     private int id;
- *         outerAnnotationAdapter = AnnotationAdapter<&#64;Outer>
- *         elementName = "foo"
- *         annotationName = "Inner"
- * </pre>
- */
-public class NestedDeclarationAnnotationAdapter
-	extends AbstractNestedDeclarationAnnotationAdapter
-{
-	// ********** constructors **********
-
-	/**
-	 * The default element name is <code>value</code>.
-	 */
-	public NestedDeclarationAnnotationAdapter(DeclarationAnnotationAdapter outerAnnotationAdapter, String annotationName) {
-		super(outerAnnotationAdapter, annotationName);
-	}
-
-	/**
-	 * default behavior is to remove the outer annotation when it is empty
-	 */
-	public NestedDeclarationAnnotationAdapter(DeclarationAnnotationAdapter outerAnnotationAdapter, String elementName, String annotationName) {
-		super(outerAnnotationAdapter, elementName, annotationName);
-	}
-
-
-	// ********** AbstractNestedDeclarationAnnotationAdapter implementation **********
-
-	@Override
-	protected Annotation getAnnotation(Expression value) {
-		return this.annotationValue(value);
-	}
-
-	@Override
-	protected Expression buildNewInnerExpression(Annotation inner) {
-		return inner;
-	}
-
-	/**
-	 * the annotation is the expression itself, so the annotation cannot be
-	 * "removed" from itself - return 'false'
-	 */
-	@Override
-	protected boolean removeAnnotation(ModifiedDeclaration declaration, Annotation outer, Expression value) {
-		return false;
-	}
-
-	/**
-	 * <pre>
-	 * &#64;Outer("lorem ipsum") => &#64;Outer(&#64;Inner)
-	 * </pre>
-	 */
-	@Override
-	protected void modifyAnnotationValue(SingleMemberAnnotation outer, Annotation inner) {
-		// replace(?) the current element value
-		outer.setValue(inner);
-	}
-
-	/**
-	 * Simply set the pair's value.
-	 */
-	@Override
-	protected void modifyMemberValuePair(MemberValuePair pair, Annotation inner) {
-		pair.setValue(inner);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NestedIndexedDeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NestedIndexedDeclarationAnnotationAdapter.java
deleted file mode 100644
index acfd743..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NestedIndexedDeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.ArrayInitializer;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-/**
- * Manipulate an annotation that is embedded in an element array within
- * another annotation, e.g.
- * <pre>
- *     &#64;Outer(foo={&#64;Inner("zero"), &#64;Inner("one"), &#64;Inner("two")})
- *     private int id;
- *         outerAnnotationAdapter = AnnotationAdapter<&#64;Outer>
- *         elementName = "foo"
- *         index = 0-2
- *         annotationName = "Inner"
- * </pre>
- */
-public class NestedIndexedDeclarationAnnotationAdapter
-	extends AbstractNestedDeclarationAnnotationAdapter
-	implements IndexedDeclarationAnnotationAdapter
-{
-	private int index;
-
-
-	// ********** constructors **********
-
-	/**
-	 * The default element name is <code>value</code>.
-	 */
-	public NestedIndexedDeclarationAnnotationAdapter(DeclarationAnnotationAdapter annotationAdapter, int index, String annotationName) {
-		super(annotationAdapter, annotationName);
-		this.index = index;
-	}
-
-	public NestedIndexedDeclarationAnnotationAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName, int index, String annotationName) {
-		super(annotationAdapter, elementName, annotationName);
-		this.index = index;
-	}
-
-
-	// ********** AbstractNestedDeclarationAnnotationAdapter implementation **********
-
-	@Override
-	protected Annotation getAnnotation(Expression value) {
-		if (value.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-			return this.annotation((ArrayInitializer) value);
-		}
-		return (this.index == 0) ? this.annotationValue(value) : null;
-	}
-
-	@Override
-	protected Expression buildNewInnerExpression(Annotation inner) {
-		return (this.index == 0) ? inner : (Expression) this.buildNewInnerArrayInitializer(inner);
-	}
-
-	@Override
-	protected boolean removeAnnotation(ModifiedDeclaration declaration, Annotation outer, Expression value) {
-		if (value.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-			this.removeAnnotation(declaration, outer, (ArrayInitializer) value);
-			return true;
-		}
-		// if our index is greater than zero, but we don't have an array,
-		// then the annotation must already be gone
-		return (this.index != 0);
-	}
-
-	/**
-	 * <pre>
-	 * &#64;Outer({&#64;Inner(0), &#64;Inner(1)}) => &#64;Outer({&#64;Inner(0), &#64;Inner(1), &#64;Inner(2)})
-	 *     or
-	 * &#64;Outer("lorem ipsum") => &#64;Outer(&#64;Inner(0))
-	 *     or
-	 * &#64;Outer(&#64;Inner(0)) => &#64;Outer({&#64;Inner(0), &#64;Inner(1)})
-	 * </pre>
-	 */
-	@Override
-	protected void modifyAnnotationValue(SingleMemberAnnotation outer, Annotation inner) {
-		this.modifyExpression(outer, SINGLE_MEMBER_ANNOTATION_EXPRESSION_PROVIDER, inner);
-	}
-
-	/**
-	 * <pre>
-	 * &#64;Outer(text="lorem ipsum") => &#64;Outer(text="lorem ipsum", foo=&#64;Inner(0))
-	 *     or
-	 * &#64;Outer(foo={&#64;Inner(0), &#64;Inner(1)}) => &#64;Outer(foo={&#64;Inner(0), &#64;Inner(1), &#64;Inner(2)})
-	 *     or
-	 * &#64;Outer(foo="lorem ipsum") => &#64;Outer(foo=&#64;Inner(0))
-	 *     or
-	 * &#64;Outer(foo=&#64;NotInner) => &#64;Outer(foo=&#64;Inner(0))
-	 *     or
-	 * &#64;Outer(foo=&#64;Inner(0)) => &#64;Outer(foo={&#64;Inner(0), &#64;Inner(1)})
-	 * </pre>
-	 */
-	@Override
-	protected void modifyMemberValuePair(MemberValuePair pair, Annotation inner) {
-		this.modifyExpression(pair, MEMBER_VALUE_PAIR_EXPRESSION_PROVIDER, inner);
-	}
-
-
-	// ********** IndexedDeclarationAnnotationAdapter implementation **********
-
-	public int getIndex() {
-		return this.index;
-	}
-
-	/**
-	 * Move the annotation to the specified index, leaving its original
-	 * position cleared out.
-	 */
-	public void moveAnnotation(int newIndex, ModifiedDeclaration declaration) {
-		int oldIndex = this.index;
-		if (newIndex == oldIndex) {
-			return;
-		}
-
-		Annotation original = this.getAnnotation(declaration);
-		if (original == null) {
-			this.index = newIndex;
-			this.removeAnnotation(declaration);  // clear out the new location (?)
-		} else {
-			Annotation copy = (Annotation) ASTNode.copySubtree(original.getAST(), original);
-			this.index = newIndex;
-			this.addAnnotation(declaration, copy);  // install the copy in the new location
-			this.index = oldIndex;
-			this.removeAnnotation(declaration);  // go back and clear out the original location (AFTER the move)
-			this.index = newIndex;
-		}
-	}
-
-
-	// ********** internal methods **********
-
-	/**
-	 * Return the adapter's annotation from the specified array initializer.
-	 */
-	private Annotation annotation(ArrayInitializer value) {
-		List<Expression> expressions = this.expressions(value);
-		return (this.index >= expressions.size()) ? null : this.annotationValue(expressions.get(this.index));
-	}
-
-	/**
-	 * Build a new array initializer to hold the specified annotation,
-	 * padding it with 'null' literals as necessary
-	 */
-	private ArrayInitializer buildNewInnerArrayInitializer(Annotation inner) {
-		ArrayInitializer ai = inner.getAST().newArrayInitializer();
-		this.addInnerToExpressions(inner, this.expressions(ai));
-		return ai;
-	}
-
-	/**
-	 * Add the specified annotation to the specified array initializer,
-	 * padding it with 'null' literals as necessary
-	 */
-	private void addInnerToExpressions(Annotation inner, List<Expression> expressions) {
-		if (expressions.size() > this.index) {
-			throw new IllegalStateException("expressions size is greater than index (size: " + expressions.size() + "  index: " + this.index + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		while (expressions.size() < this.index) {
-			expressions.add(inner.getAST().newNullLiteral());
-		}
-		expressions.add(inner);
-	}
-
-	/**
-	 * Remove the adapter's annotation from the specified array initializer.
-	 */
-	private void removeAnnotation(ModifiedDeclaration declaration, Annotation outer, ArrayInitializer value) {
-		List<Expression> expressions = this.expressions(value);
-		if (this.index >= expressions.size()) {
-			return;  // avoid IndexOutOfBoundsException(?)
-		}
-		Annotation inner = this.annotationValue(expressions.get(this.index));
-		if (inner == null) {
-			return;
-		}
-		if ( ! this.nameMatches(declaration, inner)) {
-			return;
-		}
-		if (this.index == (expressions.size() - 1)) {
-			expressions.remove(this.index);
-		} else {
-			expressions.set(this.index, value.getAST().newNullLiteral());
-		}
-		this.trimExpressions(declaration, outer, expressions);
-	}
-
-	/**
-	 * Strip all the null literals off the end of the specified list of expressions
-	 * and normalize the specified outer annotation.
-	 */
-	private void trimExpressions(ModifiedDeclaration declaration, Annotation outer, List<Expression> expressions) {
-		// start at the end of the list
-		for (int i = expressions.size(); i-- > 0; ) {
-			if (expressions.get(i).getNodeType() == ASTNode.NULL_LITERAL) {
-				expressions.remove(i);
-			} else {
-				break;  // stop with the first non-null literal encountered
-			}
-		}
-		switch (expressions.size()) {
-			case 0:
-				this.removeElementAndNormalize(declaration, outer);
-				break;
-			case 1:
-				this.convertArrayToLastRemainingExpression(outer, expressions.get(0));
-				break;
-			default:
-				break;
-		}
-	}
-
-	/**
-	 * When there is only a single element in an array initializer, convert the
-	 * expression to be just the single element; e.g.
-	 * <pre>
-	 *     &#64;Foo(xxx={"abc"}) => &#64;Foo(xxx="abc")
-	 * or
-	 *     &#64;Foo({"abc"}) => &#64;Foo("abc")
-	 * </pre>
-	 */
-	private void convertArrayToLastRemainingExpression(Annotation outer, Expression lastValue) {
-		lastValue = (Expression) ASTNode.copySubtree(lastValue.getAST(), lastValue);
-		if (outer.isNormalAnnotation()) {
-			this.memberValuePair((NormalAnnotation) outer).setValue(lastValue);
-		} else if (outer.isSingleMemberAnnotation()) {
-			((SingleMemberAnnotation) outer).setValue(lastValue);
-		} else {
-			throw new IllegalArgumentException("unexpected annotation type: " + outer); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Manipulate the specified expression appropriately.
-	 * If it is an array initializer, add the specified annotation to it.
-	 * If it is not, replace the expression or convert it into an array
-	 * initializer.
-	 */
-	private void modifyExpression(ASTNode node, ExpressionProvider expProvider, Annotation inner) {
-		Expression value = expProvider.getExpression(node);
-		if (value.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-			// ignore the other entries in the array initializer(?) - they may not be matching Annotations...
-			List<Expression> expressions = this.expressions((ArrayInitializer) value);
-			if (this.index >= expressions.size()) {
-				this.addInnerToExpressions(inner, expressions);
-			} else {
-				expressions.set(this.index, inner);
-			}
-		} else {
-			if (this.index == 0) {
-				// replace whatever was there before
-				expProvider.setExpression(node, inner);
-			} else {
-				// convert to an array
-				ArrayInitializer ai = inner.getAST().newArrayInitializer();
-				List<Expression> expressions = this.expressions(ai);
-				expressions.add((Expression) ASTNode.copySubtree(value.getAST(), value));
-				this.addInnerToExpressions(inner, expressions);
-				expProvider.setExpression(node, ai);
-			}
-		}
-	}
-
-	@SuppressWarnings("unchecked")
-	protected List<Expression> expressions(ArrayInitializer ai) {
-		return ai.expressions();
-	}
-
-
-	// ********** expression providers **********
-
-	/**
-	 * define interface that allows us to "re-use" the code in
-	 * #modifyExpression(ASTNode, ExpressionProvider, Annotation)
-	 */
-	private interface ExpressionProvider {
-		Expression getExpression(ASTNode node);
-		void setExpression(ASTNode node, Expression expression);
-	}
-
-	private static final ExpressionProvider MEMBER_VALUE_PAIR_EXPRESSION_PROVIDER = new ExpressionProvider() {
-		public Expression getExpression(ASTNode node) {
-			return ((MemberValuePair) node).getValue();
-		}
-		public void setExpression(ASTNode node, Expression expression) {
-			((MemberValuePair) node).setValue(expression);
-		}
-		@Override
-		public String toString() {
-			return "MemberValuePairExpressionProvider"; //$NON-NLS-1$
-		}
-	};
-
-	private static final ExpressionProvider SINGLE_MEMBER_ANNOTATION_EXPRESSION_PROVIDER = new ExpressionProvider() {
-		public Expression getExpression(ASTNode node) {
-			return ((SingleMemberAnnotation) node).getValue();
-		}
-		public void setExpression(ASTNode node, Expression expression) {
-			((SingleMemberAnnotation) node).setValue(expression);
-		}
-		@Override
-		public String toString() {
-			return "SingleMemberAnnotationExpressionProvider"; //$NON-NLS-1$
-		}
-	};
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullAnnotationEditFormatter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullAnnotationEditFormatter.java
deleted file mode 100644
index 284e937..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullAnnotationEditFormatter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.TextEdit;
-
-public final class NullAnnotationEditFormatter
-	implements AnnotationEditFormatter
-{
-
-	private static final NullAnnotationEditFormatter INSTANCE = new NullAnnotationEditFormatter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static AnnotationEditFormatter instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private NullAnnotationEditFormatter() {
-		super();
-	}
-
-	public void format(IDocument doc, TextEdit editTree) throws MalformedTreeException, BadLocationException {
-		// no formatting
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullDeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullDeclarationAnnotationAdapter.java
deleted file mode 100644
index c9fe2d9..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullDeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-/**
- * Behaviorless implementation.
- */
-public final class NullDeclarationAnnotationAdapter
-	implements IndexedDeclarationAnnotationAdapter
-{
-
-	// singleton
-	private static final NullDeclarationAnnotationAdapter INSTANCE = new NullDeclarationAnnotationAdapter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static IndexedDeclarationAnnotationAdapter instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private NullDeclarationAnnotationAdapter() {
-		super();
-	}
-
-
-	// ********** DeclarationAnnotationAdapter implementation **********
-
-	public Annotation getAnnotation(ModifiedDeclaration declaration) {
-		return null;
-	}
-
-	public MarkerAnnotation newMarkerAnnotation(ModifiedDeclaration declaration) {
-		return null;
-	}
-
-	public SingleMemberAnnotation newSingleMemberAnnotation(ModifiedDeclaration declaration) {
-		return null;
-	}
-
-	public NormalAnnotation newNormalAnnotation(ModifiedDeclaration declaration) {
-		return null;
-	}
-
-	public void removeAnnotation(ModifiedDeclaration declaration) {
-		// do nothing
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		return declaration.getDeclaration();
-	}
-
-
-	// ********** IndexedDeclarationAnnotationAdapter implementation **********
-
-	public int getIndex() {
-		return -1;
-	}
-
-	public void moveAnnotation(int newIndex, ModifiedDeclaration declaration) {
-		// do nothing
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullDeclarationAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullDeclarationAnnotationElementAdapter.java
deleted file mode 100644
index dd3e616..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullDeclarationAnnotationElementAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-/**
- * Behaviorless implementation.
- */
-public class NullDeclarationAnnotationElementAdapter<T>
-	implements DeclarationAnnotationElementAdapter<T>
-{
-
-	// singleton
-	@SuppressWarnings("rawtypes")
-	private static final DeclarationAnnotationElementAdapter INSTANCE
-			= new NullDeclarationAnnotationElementAdapter();
-
-	/**
-	 * Return the singleton.
-	 */
-	@SuppressWarnings("unchecked")
-	public static <S> DeclarationAnnotationElementAdapter<S> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private NullDeclarationAnnotationElementAdapter() {
-		super();
-	}
-
-	public T getValue(ModifiedDeclaration declaration) {
-		return null;
-	}
-
-	public void setValue(T value, ModifiedDeclaration declaration) {
-		// do nothing
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		return declaration.getDeclaration();
-	}
-
-	public Expression getExpression(ModifiedDeclaration declaration) {
-		return null;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullExpressionConverter.java
deleted file mode 100644
index 8245a74..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NullExpressionConverter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * No conversion.
- */
-public final class NullExpressionConverter
-	implements ExpressionConverter<Expression>
-{
-
-	// singleton
-	private static final ExpressionConverter<Expression> INSTANCE = new NullExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<Expression> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private NullExpressionConverter() {
-		super();
-	}
-
-	public Expression convert(Expression expression, AST ast) {
-		return expression;
-	}
-
-	public Expression convert(Expression expression) {
-		return expression;
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NumberIntegerExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NumberIntegerExpressionConverter.java
deleted file mode 100644
index 775d2d7..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/NumberIntegerExpressionConverter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.NumberLiteral;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-
-/**
- * Convert a number literal to/from an Integer
- * (e.g. 5).
- */
-public final class NumberIntegerExpressionConverter
-	extends AbstractExpressionConverter<Integer>
-{
-	private static final ExpressionConverter<Integer> INSTANCE = new NumberIntegerExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<Integer> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private NumberIntegerExpressionConverter() {
-		super();
-	}
-	
-	@Override
-	protected NumberLiteral convertObject(Integer integer, AST ast) {
-		return ast.newNumberLiteral(integer.toString());
-	}
-
-	@Override
-	protected Integer convertExpression(Expression expression) {
-		Object value = expression.resolveConstantExpressionValue();
-		return (value instanceof Integer) ? ((Integer) value) : null;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/PrimitiveTypeStringExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/PrimitiveTypeStringExpressionConverter.java
deleted file mode 100644
index 7b17501..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/PrimitiveTypeStringExpressionConverter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.PrimitiveType;
-import org.eclipse.jdt.core.dom.TypeLiteral;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-
-/**
- * Convert a type literal to/from a string representation of a primitive type
- * (e.g. "int").
- */
-public final class PrimitiveTypeStringExpressionConverter
-	extends AbstractExpressionConverter<String>
-{
-	private static final ExpressionConverter<String> INSTANCE = new PrimitiveTypeStringExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<String> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private PrimitiveTypeStringExpressionConverter() {
-		super();
-	}
-
-	@Override
-	protected TypeLiteral convertObject(String string, AST ast) {
-		org.eclipse.jdt.core.dom.Type type = ast.newPrimitiveType(PrimitiveType.toCode(string));
-		TypeLiteral typeLiteral = ast.newTypeLiteral();
-		typeLiteral.setType(type);
-		return typeLiteral;
-	}
-
-	@Override
-	protected String convertExpression(Expression expression) {
-		if (expression.getNodeType() == ASTNode.TYPE_LITERAL) {
-			org.eclipse.jdt.core.dom.Type type = ((TypeLiteral) expression).getType();
-			if (type.getNodeType() == ASTNode.PRIMITIVE_TYPE) {
-				return ((PrimitiveType) type).getPrimitiveTypeCode().toString();
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ShortCircuitAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ShortCircuitAnnotationElementAdapter.java
deleted file mode 100644
index c9ee574..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ShortCircuitAnnotationElementAdapter.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Wrap another annotation element adapter and short-circuit the
- * #setValue method if the value has not changed.
- */
-public class ShortCircuitAnnotationElementAdapter<T>
-	implements AnnotationElementAdapter<T>
-{
-	/** the wrapped adapter */
-	private final AnnotationElementAdapter<T> adapter;
-
-
-	// ********** constructor **********
-
-	public ShortCircuitAnnotationElementAdapter(AnnotatedElement annotatedElement, DeclarationAnnotationElementAdapter<T> daea) {
-		this(new AnnotatedElementAnnotationElementAdapter<T>(annotatedElement, daea));
-	}
-
-	public ShortCircuitAnnotationElementAdapter(AnnotationElementAdapter<T> adapter) {
-		super();
-		this.adapter = adapter;
-	}
-
-
-	// ********** AnnotationElementAdapter implementation **********
-
-	public T getValue() {
-		return this.adapter.getValue();
-	}
-
-	public T getValue(CompilationUnit astRoot) {
-		return this.adapter.getValue(astRoot);
-	}
-
-	public void setValue(T value) {
-		this.setValue(this.adapter.getValue(), value);
-	}
-
-	public Expression getExpression(CompilationUnit astRoot) {
-		return this.adapter.getExpression(astRoot);
-	}
-
-	public ASTNode getAstNode(CompilationUnit astRoot) {
-		return this.adapter.getAstNode(astRoot);
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.adapter);
-	}
-
-
-	// ********** internal methods **********
-
-	/**
-	 * set the adapter's value to the specified new value if it
-	 * is different from the specified old value
-	 */
-	protected void setValue(T oldValue, T newValue) {
-		if (oldValue == null) {
-			if (newValue == null) {  // null => null
-				// do nothing
-			} else {  // null => object
-				this.adapter.setValue(newValue);
-			}
-		} else {
-			if (newValue == null) {  // object => null
-				this.adapter.setValue(null);
-			} else {  // object => object
-				if (this.valuesAreEqual(oldValue, newValue)) {
-					// do nothing
-				} else {
-					this.adapter.setValue(newValue);
-				}
-			}
-		}
-	}
-
-	/**
-	 * both values are non-null when this method is called
-	 */
-	protected boolean valuesAreEqual(T oldValue, T newValue) {
-		return newValue.equals(oldValue);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ShortCircuitArrayAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ShortCircuitArrayAnnotationElementAdapter.java
deleted file mode 100644
index 0676bc2..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/ShortCircuitArrayAnnotationElementAdapter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.Arrays;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-
-/**
- * Wrap another annotation element adapter and short-circuit the
- * #setValue method if the value has not changed. Overrides #valuesAreEqual()
- * to check equality on arrays
- */
-public class ShortCircuitArrayAnnotationElementAdapter<T>
-	extends ShortCircuitAnnotationElementAdapter<T[]>
-{
-	// ********** constructor **********
-
-	public ShortCircuitArrayAnnotationElementAdapter(AnnotatedElement annotatedElement, DeclarationAnnotationElementAdapter<T[]> daea) {
-		super(annotatedElement, daea);
-	}
-
-	public ShortCircuitArrayAnnotationElementAdapter(AnnotationElementAdapter<T[]> adapter) {
-		super(adapter);
-	}
-
-
-	// ********** AnnotationElementAdapter implementation **********
-
-	@Override
-	protected boolean valuesAreEqual(T[] oldValue, T[] newValue) {
-		return Arrays.equals(newValue, oldValue);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/SimpleDeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/SimpleDeclarationAnnotationAdapter.java
deleted file mode 100644
index 195dc19..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/SimpleDeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-/**
- * Manipulate an annotation with a specific name, e.g.
- * <pre>
- *     &#64;Foo
- *     private int id;
- * </pre>
- * 
- * NB:
- * If the declaration contains more than one annotation with the same
- * name, the adapter will correspond to the first annotation with the specified
- * name. (Also note that the compiler will not allow a declaration to be
- * modified by multiple annotations with the same name, i.e. of the same type;
- * so if there *are* multiple annotations of the same type, there are bigger
- * problems to worry about than which annotation the adapter manipulates.)
- */
-public class SimpleDeclarationAnnotationAdapter extends AbstractDeclarationAnnotationAdapter {
-
-
-	// ********** constructors **********
-
-	public SimpleDeclarationAnnotationAdapter(String annotationName) {
-		super(annotationName);
-	}
-
-
-	// ********** DeclarationAnnotationAdapter implementation **********
-
-	public Annotation getAnnotation(ModifiedDeclaration declaration) {
-		return declaration.getAnnotationNamed(this.getAnnotationName());
-	}
-
-	public void removeAnnotation(ModifiedDeclaration declaration) {
-		declaration.removeAnnotationNamed(this.getAnnotationName());
-	}
-
-	@Override
-	protected void addAnnotation(ModifiedDeclaration declaration, Annotation annotation) {
-		declaration.replaceAnnotationNamed(this.getAnnotationName(), annotation);
-	}
-
-	public ASTNode getAstNode(ModifiedDeclaration declaration) {
-		// if the annotation is missing, return the declaration
-		Annotation annotation = this.getAnnotation(declaration);
-		return (annotation != null) ? annotation : declaration.getDeclaration();
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/SimpleTypeStringExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/SimpleTypeStringExpressionConverter.java
deleted file mode 100644
index 156dc5f..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/SimpleTypeStringExpressionConverter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.SimpleType;
-import org.eclipse.jdt.core.dom.TypeLiteral;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-
-/**
- * Convert a type literal to/from a string representation of a simple type
- * (e.g. "java.lang.Object").
- */
-public final class SimpleTypeStringExpressionConverter
-	extends AbstractExpressionConverter<String>
-{
-	private static final ExpressionConverter<String> INSTANCE = new SimpleTypeStringExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<String> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private SimpleTypeStringExpressionConverter() {
-		super();
-	}
-
-	@Override
-	protected TypeLiteral convertObject(String string, AST ast) {
-		Name name = ast.newName(string);
-		org.eclipse.jdt.core.dom.Type type = ast.newSimpleType(name);
-		TypeLiteral typeLiteral = ast.newTypeLiteral();
-		typeLiteral.setType(type);
-		return typeLiteral;
-	}
-
-	@Override
-	protected String convertExpression(Expression expression) {
-		if (expression.getNodeType() == ASTNode.TYPE_LITERAL) {
-			org.eclipse.jdt.core.dom.Type type = ((TypeLiteral) expression).getType();
-			if (type.getNodeType() == ASTNode.SIMPLE_TYPE) {
-				return ((SimpleType) type).getName().getFullyQualifiedName();
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringArrayExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringArrayExpressionConverter.java
deleted file mode 100644
index 060e2cb..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringArrayExpressionConverter.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ArrayInitializer;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedExpressionConverter;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Convert an array initializer to/from an array of strings
- * (e.g. <code>{"text0", "text1"}</code>).
- * <p>
- * Do <em>not</em> use this class for converting array initializers in
- * annotation elements:
- * Java5 has a bit of syntactic sugar that allows a single-element array
- * initializer to not have curly braces. This converter will return
- * an empty array if it encounters anything other than an array initializer.
- * Use {@link AnnotationStringArrayExpressionConverter} for converting
- * annotation elements.
- * <p>
- * Invalid entries in the array initializer will result in <code>null</code>
- * elements in the resulting string array. This allows clients to manipulate
- * elements at the appropriate index.
- */
-public class StringArrayExpressionConverter
-	extends AbstractExpressionConverter<String[]>
-	implements IndexedExpressionConverter<String>
-{
-	private final ExpressionConverter<String> elementConverter;
-	private final boolean removeArrayInitializerWhenEmpty;
-
-
-	/**
-	 * The default behavior is to remove the array initializer if it is empty.
-	 */
-	public StringArrayExpressionConverter(ExpressionConverter<String> elementConverter) {
-		this(elementConverter, true);
-	}
-
-	public StringArrayExpressionConverter(ExpressionConverter<String> elementConverter, boolean removeArrayInitializerWhenEmpty) {
-		super();
-		this.elementConverter = elementConverter;
-		this.removeArrayInitializerWhenEmpty = removeArrayInitializerWhenEmpty;
-	}
-
-	/**
-	 * This method is non-<code>private</code> so it can be called by
-	 * {@link AnnotationStringArrayExpressionConverter}
-	 */
-	@Override
-	protected ArrayInitializer convertObject(String[] strings, AST ast) {
-		if ((strings.length == 0) && this.removeArrayInitializerWhenEmpty) {
-			return null;
-		}
-		ArrayInitializer arrayInitializer = ast.newArrayInitializer();
-		List<Expression> expressions = this.expressions(arrayInitializer);
-		for (String string : strings) {
-			expressions.add(this.elementConverter.convert(string, ast));
-		}
-		return arrayInitializer;
-	}
-
-	@SuppressWarnings("unchecked")
-	private List<Expression> expressions(ArrayInitializer arrayInitializer) {
-		return arrayInitializer.expressions();
-	}
-
-	/**
-	 * This method is non-<code>private</code> so it can be called by
-	 * {@link AnnotationStringArrayExpressionConverter}
-	 */
-	@Override
-	protected String[] convertNull() {
-		return StringTools.EMPTY_STRING_ARRAY;
-	}
-
-	@Override
-	protected String[] convertExpression(Expression expression) {
-		return (expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) ?
-				this.convertArrayInitializer((ArrayInitializer) expression) :
-				StringTools.EMPTY_STRING_ARRAY;
-	}
-
-	/**
-	 * This method is non-<code>private</code> so it can be called by
-	 * {@link AnnotationStringArrayExpressionConverter}
-	 */
-	String[] convertArrayInitializer(ArrayInitializer arrayInitializer) {
-		List<Expression> expressions = this.expressions(arrayInitializer);
-		int len = expressions.size();
-		String[] strings = new String[len];
-		for (int i = len; i-- > 0; ) {
-			strings[i] = this.elementConverter.convert(expressions.get(i));
-		}
-		return strings;
-	}
-
-	public Expression selectExpression(Expression expression, int index) {
-		if (expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-			return this.expressions((ArrayInitializer) expression).get(index);
-		}
-		throw new ArrayIndexOutOfBoundsException();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java
deleted file mode 100644
index f0e88b5..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.StringLiteral;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-
-/**
- * Convert a string literal to/from a string (e.g. "text").
- */
-public final class StringExpressionConverter
-	extends AbstractExpressionConverter<String>
-{
-	private static final ExpressionConverter<String> INSTANCE = new StringExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<String> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private StringExpressionConverter() {
-		super();
-	}
-
-	@Override
-	protected StringLiteral convertObject(String string, AST ast) {
-		StringLiteral stringLiteral = ast.newStringLiteral();
-		stringLiteral.setLiteralValue(string);
-		return stringLiteral;
-	}
-
-	@Override
-	protected String convertExpression(Expression expression) {
-		Object value = expression.resolveConstantExpressionValue();
-		return (value instanceof String) ? (String) value : null;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/TypeStringExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/TypeStringExpressionConverter.java
deleted file mode 100644
index 3ed1b74..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/TypeStringExpressionConverter.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.PrimitiveType;
-import org.eclipse.jdt.core.dom.TypeLiteral;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-
-/**
- * Convert a type literal to/from a string representation of a 
- * simple type (e.g. "java.lang.Object") or primitive type (e.g. "int").
- */
-public final class TypeStringExpressionConverter
-	extends AbstractExpressionConverter<String>
-{
-	private static final ExpressionConverter<String> INSTANCE = new TypeStringExpressionConverter();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static ExpressionConverter<String> instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private TypeStringExpressionConverter() {
-		super();
-	}
-
-	@Override
-	protected TypeLiteral convertObject(String string, AST ast) {
-		if (PrimitiveType.toCode(string) != null) {
-			return (TypeLiteral) PrimitiveTypeStringExpressionConverter.instance().convert(string, ast);
-		}
-		return (TypeLiteral) SimpleTypeStringExpressionConverter.instance().convert(string, ast);
-	}
-
-	@Override
-	protected String convertExpression(Expression expression) {
-		String name = SimpleTypeStringExpressionConverter.instance().convert(expression);
-		return name != null ? name : PrimitiveTypeStringExpressionConverter.instance().convert(expression);
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/BooleanTranslator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/BooleanTranslator.java
deleted file mode 100644
index 7f2825c..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/BooleanTranslator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.translators;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-
-public class BooleanTranslator
-	extends Translator
-{
-	public BooleanTranslator(String domPathAndNames, EStructuralFeature structuralFeature) {
-		super(domPathAndNames, structuralFeature, BOOLEAN_FEATURE | BOOLEAN_LOWERCASE);
-	}
-	
-	public BooleanTranslator(String domPathAndNames, EStructuralFeature structuralFeature, int style) {
-		super(domPathAndNames, structuralFeature, BOOLEAN_FEATURE | BOOLEAN_LOWERCASE | style);
-	}
-	
-	@Override
-	public Object convertStringToValue(String string, EObject owner) {
-		return Boolean.valueOf(string);
-	}
-	
-	@Override
-	public String convertValueToString(Object value, EObject owner) {
-		return ((Boolean) value).toString();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/EmptyTagBooleanTranslator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/EmptyTagBooleanTranslator.java
deleted file mode 100644
index 1d94705..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/EmptyTagBooleanTranslator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.translators;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-
-/**
- * This translator is to be used for empty xml tags that correspond
- * to a boolean attribute in the emf model.  
- * cascade-persist is an example from the orm.xsd:
- * 
- * 	<persistence-unit-defaults>
- * 		<cascade-persist/>        
- * 	</persistence-unit-defaults>  ==>  cascadePersist == true
- * 
- * vs.
- * 
- * 	<persistence-unit-defaults>  
- * 	</persistence-unit-defaults>  ==>  cascadePersist == false
- * 
- */
-public class EmptyTagBooleanTranslator
-	extends Translator
-{
-	public EmptyTagBooleanTranslator(String domPathAndNames, EStructuralFeature structuralFeature) {
-		this(domPathAndNames, structuralFeature, NO_STYLE);
-	}
-
-	public EmptyTagBooleanTranslator(String domPathAndNames, EStructuralFeature structuralFeature, int style) {
-		super(domPathAndNames, structuralFeature, style | EMPTY_TAG | BOOLEAN_FEATURE);
-	}
-	
-	@Override
-	public Object getMOFValue(EObject mofObject) {
-		// I am overriding this method.  This is so the tag will be removed when 
-		// the value is false.
-		// I'm not sure if this is a bug in the ecore or maybe in the translators, 
-		// but I really don't think that we should have to depend on the boolean
-		// being "unset" to remove the tag.
-		Boolean value = (Boolean) super.getMOFValue(mofObject);
-		return (value == null) ? null : value.booleanValue() ? value : null;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/EnumeratedValueTranslator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/EnumeratedValueTranslator.java
deleted file mode 100644
index fc74b4a..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/EnumeratedValueTranslator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2009, 2011 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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.translators;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-
-public abstract class EnumeratedValueTranslator
-	extends Translator
-{
-	public EnumeratedValueTranslator(String domPathAndNames, EStructuralFeature structuralFeature) {
-		super(domPathAndNames, structuralFeature);
-	}
-	
-	public EnumeratedValueTranslator(String domPathAndNames, EStructuralFeature structuralFeature, int style) {
-		super(domPathAndNames, structuralFeature, style);
-	}
-	
-	
-	protected abstract Iterable<?> getEnumeratedObjectValues();
-	
-	@Override
-	public Object convertStringToValue(String string, EObject owner) {
-		for (Object each : getEnumeratedObjectValues()) {
-			if (each.toString().equals(string)) {
-				return each;
-			}
-		}
-		return null;
-	}
-	
-	@Override
-	public String convertValueToString(Object value, EObject owner) {
-		return value.toString();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/SimpleRootTranslator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/SimpleRootTranslator.java
deleted file mode 100644
index 08c20d3..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/SimpleRootTranslator.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.translators;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.wst.common.internal.emf.resource.RootTranslator;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-
-/**
- * Root translator that contains a list of child translators and no special
- * behavior.
- */
-public class SimpleRootTranslator
-	extends RootTranslator
-{
-	protected Translator[] children;
-
-	public SimpleRootTranslator(String domPathAndNames, EClass eClass) {
-		super(domPathAndNames, eClass);
-	}
-
-	public SimpleRootTranslator(String domPathAndNames, EClass eClass, Translator[] children) {
-		super(domPathAndNames, eClass);
-		this.children = children;
-	}
-
-	/**
-	 * Widen method access to 'public'.
-	 */
-	@Override
-	public Translator[] getChildren() {
-		return this.children;
-	}
-
-	protected Translator[] getChildren_() {
-		return (this.children == null) ? EMPTY_TRANSLATOR_ARRAY : this.children;
-	}
-	protected static final Translator[] EMPTY_TRANSLATOR_ARRAY = new Translator[0];
-
-	/**
-	 * Set the translator's children.
-	 * Return the translator.
-	 */
-	public void setChildren(Translator[] children) {
-		this.children = children;
-	}
-
-	/**
-	 * Add the specified translator to the translator's list of children.
-	 * Return the translator for method chaining.
-	 */
-	public SimpleRootTranslator addChild(Translator translator) {
-		this.children = ArrayTools.add(this.getChildren_(), translator);
-		return this;
-	}
-
-	/**
-	 * Add the specified translators to the translator's list of children.
-	 * Return the translator for method chaining.
-	 */
-	public SimpleRootTranslator addChildren(Translator[] translators) {
-		this.children = ArrayTools.addAll(this.getChildren_(), translators);
-		return this;
-	}
-
-	/**
-	 * Remove the specified translator from the translator's list of children.
-	 * Return the translator for method chaining.
-	 */
-	public SimpleRootTranslator removeChild(Translator translator) {
-		this.children = ArrayTools.remove(this.children, translator);
-		return this;
-	}
-
-	/**
-	 * Remove the specified translators from the translator's list of children.
-	 * Return the translator for method chaining.
-	 */
-	public SimpleRootTranslator removeChildren(Translator[] translators) {
-		this.children = ArrayTools.removeAll(this.children, (Object[]) translators);
-		return this;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/SimpleTranslator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/SimpleTranslator.java
deleted file mode 100644
index 20db025..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/translators/SimpleTranslator.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.internal.utility.translators;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorPath;
-
-/**
- * Translator that contains a list of child translators and no special
- * behavior.
- */
-public class SimpleTranslator
-	extends Translator
-{
-	protected Translator[] children;
-
-
-	// ********** constructors **********
-
-	public SimpleTranslator(String domPathAndNames, EClass eClass) {
-		super(domPathAndNames, eClass);
-	}
-
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature eStructuralFeature) {
-		super(domPathAndNames, eStructuralFeature);
-	}
-
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature eStructuralFeature, Translator[] children) {
-		super(domPathAndNames, eStructuralFeature);
-		this.children = children;
-	}
-
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature eStructuralFeature, EClass eClass) {
-		super(domPathAndNames, eStructuralFeature, eClass);
-	}
-	
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature eStructuralFeature, EClass eClass, Translator[] children) {
-		super(domPathAndNames, eStructuralFeature, eClass);
-		this.children = children;
-	}
-
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature eStructuralFeature, TranslatorPath translatorPath) {
-		super(domPathAndNames, eStructuralFeature, translatorPath);
-	}
-
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature eStructuralFeature, TranslatorPath[] translatorPaths) {
-		super(domPathAndNames, eStructuralFeature, translatorPaths);
-	}
-
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature eStructuralFeature, int style) {
-		super(domPathAndNames, eStructuralFeature, style);
-	}
-	
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature aFeature, int style, EClass eClass, Translator[] children) {
-		this(domPathAndNames, aFeature, style);
-		setEMFClass(eClass);
-		this.children = children;
-	}
-
-	public SimpleTranslator(String domPathAndNames, EStructuralFeature eStructuralFeature, int style, Translator[] children) {
-		super(domPathAndNames, eStructuralFeature, style);
-		this.children = children;
-	}
-
-
-	// ********** children **********
-
-	/**
-	 * Widen method access to 'public'.
-	 */
-	@Override
-	public Translator[] getChildren() {
-		return this.children;
-	}
-
-	protected Translator[] getChildren_() {
-		return (this.children == null) ? EMPTY_TRANSLATOR_ARRAY : this.children;
-	}
-	protected static final Translator[] EMPTY_TRANSLATOR_ARRAY = new Translator[0];
-
-	/**
-	 * Set the translator's children.
-	 * Return the translator.
-	 */
-	public void setChildren(Translator[] children) {
-		this.children = children;
-	}
-
-	/**
-	 * Add the specified translator to the translator's list of children.
-	 * Return the translator for method chaining.
-	 */
-	public SimpleTranslator addChild(Translator translator) {
-		this.children = ArrayTools.add(this.getChildren_(), translator);
-		return this;
-	}
-
-	/**
-	 * Add the specified translators to the translator's list of children.
-	 * Return the translator for method chaining.
-	 */
-	public SimpleTranslator addChildren(Translator[] translators) {
-		this.children = ArrayTools.addAll(this.getChildren_(), translators);
-		return this;
-	}
-
-	/**
-	 * Remove the specified translator from the translator's list of children.
-	 * Return the translator for method chaining.
-	 */
-	public SimpleTranslator removeChild(Translator translator) {
-		this.children = ArrayTools.remove(this.children, translator);
-		return this;
-	}
-
-	/**
-	 * Remove the specified translators from the translator's list of children.
-	 * Return the translator for method chaining.
-	 */
-	public SimpleTranslator removeChildren(Translator[] translators) {
-		this.children = ArrayTools.removeAll(this.children, (Object[]) translators);
-		return this;
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/libprov/JptLibraryProviderInstallOperationConfig.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/libprov/JptLibraryProviderInstallOperationConfig.java
deleted file mode 100644
index 3e52448..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/libprov/JptLibraryProviderInstallOperationConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2010, 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.libprov;
-
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- *  
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JptLibraryProviderInstallOperationConfig {
-	
-	IFacetedProjectBase getFacetedProject();
-	
-	ILibraryProvider getLibraryProvider();
-	
-	IProjectFacetVersion getProjectFacetVersion();
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/libval/LibraryValidator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/libval/LibraryValidator.java
deleted file mode 100644
index af15c43..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/libval/LibraryValidator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2010, 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.libval;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
-
-/**
- * Interface for extender-supplied library validators.  
- * Each library validator must have a zero-arg constructor.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface LibraryValidator {
-	
-	IStatus validate(JptLibraryProviderInstallOperationConfig config);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/ProjectResourceLocator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/ProjectResourceLocator.java
deleted file mode 100644
index 00f72fd..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/ProjectResourceLocator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.resource;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * See <code>org.eclipse.jpt.common.core/plugin.xml</code>.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.2
- * @since 3.2
- * @see org.eclipse.jpt.common.core.internal.resource.ProjectAdapterFactory
- */
-public interface ProjectResourceLocator {
-	/**
-	 * Return whether the specified container is an acceptable (non-Java)
-	 * resource location for the locator's project.
-	 */
-	boolean resourceLocationIsValid(IContainer container);
-	
-	/**
-	 * Return the default location in which to create new (non-Java) resources.
-	 */
-	IContainer getDefaultResourceLocation();
-	
-	/**
-	 * Return the workspace relative absolute resource path best represented by
-	 * the specified runtime path for the locator's project.
-	 */
-	IPath getResourcePath(IPath runtimePath);
-	
-	/**
-	 * Return the runtime path best represented by the specified workspace
-	 * relative absolute resource path for the locator's project.
-	 */
-	IPath getRuntimePath(IPath resourcePath);
-
-	/**
-	 * Return an {@link IFile} that best represents the specified runtime
-	 * location.
-	 */
-	IFile getPlatformFile(IPath runtimePath);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/ResourceLocator.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/ResourceLocator.java
deleted file mode 100644
index fcb82ba..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/ResourceLocator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.resource;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Client-defined resource locator.
- * <p>
- * See <code>org.eclipse.jpt.common.core/plugin.xml</code>.
- * <p>
- * See <code>org.eclipse.jpt.common.core/schema/resourceLocators.exsd</code>.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface ResourceLocator {
-	/**
-	 * Return whether the specified container is an acceptable (non-Java)
-	 * resource location for the specified project.
-	 */
-	boolean resourceLocationIsValid(IProject project, IContainer container);
-	
-	/**
-	 * Return the default location in which to create new (non-Java) resources.
-	 */
-	IContainer getDefaultResourceLocation(IProject project);
-	
-	/**
-	 * Return the workspace relative absolute resource path best represented by
-	 * the specified runtime path for the specified project.
-	 */
-	IPath getResourcePath(IProject project, IPath runtimePath);
-	
-	/**
-	 * Return the runtime path best represented by the specified workspace
-	 * relative absolute resource path for the specified project.
-	 */
-	IPath getRuntimePath(IProject project, IPath resourcePath);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/Annotation.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/Annotation.java
deleted file mode 100644
index a4cd5e0..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/Annotation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-/**
- * Common Java resource annotation behavior
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface Annotation
-	extends JavaResourceNode
-{
-	/**
-	 * Return the annotation's fully qualified name, as opposed to the value of
-	 * the annotation's 'name' element. For example:
-	 *     @com.foo.Bar(name="Thomas")
-	 * #getAnnotationName() will return "com.foo.Bar".
-	 * In typical subclasses, #getName() would return "Thomas".
-	 */
-	String getAnnotationName();
-
-	/**
-	 * Return the corresponding JDT DOM annotation from the specified
-	 * AST compilation unit.
-	 */
-	org.eclipse.jdt.core.dom.Annotation getAstAnnotation(CompilationUnit astRoot);
-
-	/**
-	 * Create and add the corresponding Java annotation to the JDT DOM.
-	 */
-	void newAnnotation();
-
-	/**
-	 * Remove the corresponding Java annotation from the JDT DOM.
-	 */
-	void removeAnnotation();
-
-	/**
-	 * Return whether all the annotation's member values are <code>null</code>;
-	 * implying the annotation can be removed if it has no semantic value as a
-	 * marker annotation.
-	 */
-	boolean isUnset();
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/AnnotationDefinition.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/AnnotationDefinition.java
deleted file mode 100644
index 9df453e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/AnnotationDefinition.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-
-/**
- * Used to build Annotations discovered in the Java source code.
- * To provide new AnnotationDefinitions, create a new JaxbPlatform
- * by implementing JaxbPlatformDefinition.
- * 
- * @see Annotation
- * @see org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface AnnotationDefinition
-{
-	/**
-	 * Return the name of the annotation the definition will build in the
-	 * various #build...(...) methods.
-	 */
-	String getAnnotationName();
-	
-	/**
-	 * Build and return an annotation for the specified annotated element.
-	 */
-	Annotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement);
-	
-	/**
-	 * Build and return an annotation for the specified JDT annotation
-	 * on the specified annotated element.
-	 */
-	Annotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation);
-	
-	/**
-	 * Build and return a "null" annotation for the specified annotated element.
-	 * Only certain annotations are required to have "null" implementations;
-	 * typically the annotations with reasonably complex default behavior.
-	 * The "null" annotation is used by the corresponding default context model.
-	 * The "null" annotation simplifies the context model code, allowing the
-	 * context model to simply set various bits of state (e.g. 'name') and the
-	 * "null" annotation will create a new "real" annotation and forward the
-	 * new state to it. This reduces the number of null checks in the context
-	 * model (hopefully).
-	 */
-	Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAbstractType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAbstractType.java
deleted file mode 100644
index c228a6e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAbstractType.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-
-/**
- * Java source code or binary type.  This corresponds to a {@link AbstractTypeDeclaration}
- * (which is why the name is somewhat wonky.)
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceAbstractType
-		extends JavaResourceMember {
-	
-	/**
-	 * Property change String for the unqualified (short) type name.
-	 * @see JavaResourceMember#getName()
-	 */
-	String NAME_PROPERTY = "name"; //$NON-NLS-1$
-
-	/**
-	 * Return the fully qualified type name.
-	 */
-	String getQualifiedName();
-		String QUALIFIED_NAME_PROPERTY = "qualifiedName"; //$NON-NLS-1$
-
-	/**
-	 * Return the package name.
-	 */
-	String getPackageName();
-		String PACKAGE_NAME_PROPERTY = "packageName"; //$NON-NLS-1$
-
-	/**
-	 * Return the name of the type's "declaring type".
-	 * Return <code>null</code> if the type is a top-level type.
-	 */
-	String getDeclaringTypeName();
-		String DECLARING_TYPE_NAME_PROPERTY = "declaringTypeName"; //$NON-NLS-1$
-
-	/**
-	 * Return whether the type is a member type.
-	 */
-	boolean isMemberType();
-		String MEMBER_TYPE_PROPERTY = "memberType"; //$NON-NLS-1$
-
-	boolean isIn(IPackageFragment packageFragment);
-
-	boolean isIn(IPackageFragmentRoot sourceFolder);
-
-
-	/**
-	 * Return the immediately nested types (classes or interfaces, not enums or annotations) (children).
-	 */
-	Iterable<JavaResourceType> getTypes();
-		String TYPES_COLLECTION = "types"; //$NON-NLS-1$
-
-	/**
-	 * Return all the types; the type itself, its children, its grandchildren,
-	 * etc.
-	 */
-	Iterable<JavaResourceType> getAllTypes();
-
-	/**
-	 * Return the immediately nested enums (children).
-	 */
-	Iterable<JavaResourceEnum> getEnums();
-		String ENUMS_COLLECTION = "enums"; //$NON-NLS-1$
-
-	/**
-	 * Return all the enums; the enum itself, its children, its grandchildren,
-	 * etc.
-	 */
-	Iterable<JavaResourceEnum> getAllEnums();
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAnnotatedElement.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAnnotatedElement.java
deleted file mode 100644
index dbc44f7..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAnnotatedElement.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-
-/**
- * Java source code or binary annotated element.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceAnnotatedElement
-	extends JavaResourceNode
-{
-	// ********** annotations **********
-	
-	/**
-	 * String associated with changes to the "annotations" collection
-	 */
-	String ANNOTATIONS_COLLECTION = "annotations"; //$NON-NLS-1$
-	
-	/**
-	 * String associated with changes to the "nestableAnnotations" collection
-	 */
-	String NESTABLE_ANNOTATIONS_COLLECTION = "nestableAnnotations"; //$NON-NLS-1$
-	
-	/**
-	 * Return the member's annotations in the order that they appear.
-	 * Do not return duplicate annotations as this error is handled by the Java
-	 * compiler.
-	 */
-	Iterable<Annotation> getAnnotations();
-	
-	/**
-	 * Return the number of annotations.
-	 */
-	int getAnnotationsSize();
-	
-	/**
-	 * Return the annotation with the specified name.
-	 * Return the first if there are duplicates in the source code.
-	 */
-	Annotation getAnnotation(String annotationName);
-	
-	/**
-	 * Return the specified annotation.
-	 * Return the first if there are duplicates in the source code.
-	 * Do not return null, but a Null Object instead if no annotation
-	 * with the specified name exists in the source code.
-	 */
-	Annotation getNonNullAnnotation(String annotationName);
-	
-	/**
-	 * Return the nestable annotations with the specified name in the order that
-	 * they appear.
-	 * If nestable and container annotations are both specified on the
-	 * member directly, the behavior is undefined
-	 */
-	// TODO tie the singular and plural annotations together so we can generate
-	// a validation error when both are specified
-	ListIterable<NestableAnnotation> getAnnotations(String nestableAnnotationName);
-	
-	/**
-	 * Return the number of nestable annotations with the specified name.
-	 * If nestable and container annotations are both specified on the
-	 * member directly, the behavior is undefined
-	 */
-	int getAnnotationsSize(String nestableAnnotationName);
-	
-	/**
-	 * Return the nestable annotation at the specified index with the specified name.
-	 * If nestable and container annotations are both specified on the
-	 * member directly, the behavior is undefined
-	 */
-	NestableAnnotation getAnnotation(int index, String nestableAnnotationName);
-	
-	/**
-	 * Add an annotation with the specified name.
-	 * Return the newly-created annotation.
-	 */
-	Annotation addAnnotation(String annotationName);
-	
-	/**
-	 * Add a new nestable annotation with the specified name.
-	 * Create a new container annotation if necessary and add the nestable
-	 * annotation to it.
-	 * If both the nestable annotation and the container annotation already
-	 * exist, then add to the container annotation, leaving the existing
-	 * nestable annotation alone.
-	 * If only the nestable annotation exists, then create the new container
-	 * annotation and move the existing nestable annotation to it along with
-	 * the new one. If neither annotation exists, then create a new nestable
-	 * annotation.
-	 */
-	NestableAnnotation addAnnotation(int index, String nestableAnnotationName);
-	
-	/**
-	 * Move the nestable annotation at the specified source index to the specified target index.
-	 */
-	void moveAnnotation(int targetIndex, int sourceIndex, String nestableAnnotationName);
-	
-	/**
-	 * Remove the specified annotation.
-	 */
-	void removeAnnotation(String annotationName);
-	
-	/**
-	 * Remove the specified nestable annotation from the container annotation at the specified
-	 * index.
-	 * If there is no container, assume the index is zero and just remove the nestable annotation
-	 */
-	void removeAnnotation(int index, String nestableAnnotationName);
-	
-	
-	// ********** queries **********
-		
-	/**
-	 * Return all top level annotations.
-	 * If there is a container annotation, return that and not any nestables within it.
-	 * If there is a nestable alone, return that and not the container.
-	 */
-	Iterable<Annotation> getAllAnnotations();
-	
-	/**
-	 * Return whether the underlying JDT member is currently annotated with any recognized
-	 * annotations.
-	 */
-	boolean isAnnotated();
-
-	/**
-	 * Return whether the underlying JDT member is annotated with any of the given annotations.
-	 */
-	boolean isAnnotatedWith(Iterable<String> annotationNames);
-
-	/**
-	 * Return the element kind
-	 */
-	Kind getKind();
-	
-	/**
-	 * Return the text range for the member's name.
-	 */
-	TextRange getNameTextRange(CompilationUnit astRoot);
-	
-	/**
-	 * Return the text range for the nestable annotation if it is currently
-	 * unnested. If it is nested, return the text range for the corresponding
-	 * container annotation.
-	 * 
-	 * @see AnnotationProvider#getContainerAnnotationName(String)
-	 */
-	TextRange getTextRange(String nestableAnnotationName, CompilationUnit astRoot);
-	
-	/**
-	 * The kind of java element.
-	 */
-	public enum Kind {
-		
-		/**
-		 * Represents an annotatable package.
-		 * An {@link JavaResourceAnnotatedElement} of {@link Kind} PACKAGE may safely be cast as a 
-		 * {@link JavaResourcePackage}
-		 */
-		PACKAGE(ASTNode.PACKAGE_DECLARATION),
-		
-		/**
-		 * Represents a class or interface.
-		 * An {@link JavaResourceAnnotatedElement} of {@link Kind} TYPE may safely be cast as a 
-		 * {@link JavaResourceType}
-		 */
-		TYPE(ASTNode.TYPE_DECLARATION),
-		
-		/**
-		 * Represents an enum.
-		 * An {@link JavaResourceAnnotatedElement} of {@link Kind} ENUM may safely be cast as a 
-		 * {@link JavaResourceEnum}
-		 */
-		ENUM(ASTNode.ENUM_DECLARATION),
-		
-		/**
-		 * Represents a method.
-		 * An {@link JavaResourceAnnotatedElement} of {@link Kind} METHOD may safely be cast as a 
-		 * {@link JavaResourceMethod}
-		 */
-		METHOD(ASTNode.METHOD_DECLARATION),
-		
-		/**
-		 * Represents a type field.
-		 * An {@link JavaResourceAnnotatedElement} of {@link Kind} FIELD may safely be cast as a 
-		 * {@link JavaResourceField}
-		 */
-		FIELD(ASTNode.FIELD_DECLARATION),
-		
-		/**
-		 * Represents an enum constant.
-		 * An {@link JavaResourceAnnotatedElement} of {@link Kind} ENUM_CONSTANT may safely be cast as a 
-		 * {@link JavaResourceEnumConstant}
-		 */
-		ENUM_CONSTANT(ASTNode.ENUM_CONSTANT_DECLARATION);
-
-
-		private int astNodeType;
-
-		Kind(int astNodeType) {
-			this.astNodeType = astNodeType;
-		}
-
-		public int getAstNodeType() {
-			return this.astNodeType;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAttribute.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAttribute.java
deleted file mode 100644
index 565c27e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceAttribute.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-
-/**
- * Java source code or binary attribute (field/method)
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceAttribute
-	extends JavaResourceMember
-{
-	JavaResourceType getParent();
-
-	JavaResourceType getResourceType();
-
-	/**
-	 * Return whether the attribute's type implements or extends the specified
-	 * type.
-	 */
-	boolean typeIsSubTypeOf(String typeName);
-
-	/**
-	 * Return whether the attribute's type is a "variable" primitive type
-	 * (i.e. any primitive type except 'void').
-	 */
-	boolean typeIsVariablePrimitive();
-
-	/**
-	 * @see java.lang.reflect.Modifier
-	 */
-	int getModifiers();
-		String MODIFIERS_PROPERTY = "modifiers"; //$NON-NLS-1$
-
-	/**
-	 * Return the resolved, qualified name of the attribute's type
-	 * (e.g. "java.util.Collection" or "byte[]").
-	 * If the type is an array, this name will include the appropriate number
-	 * of bracket pairs.
-	 * This name will not include the type's generic type arguments
-	 * (e.g. "java.util.Collection<java.lang.String>" will only return
-	 * "java.util.Collection").
-	 * @see #getTypeTypeArgumentNames()
-	 */
-	String getTypeName();
-		String TYPE_NAME_PROPERTY = "typeName"; //$NON-NLS-1$
-
-	/**
-	 * Return whether the attribute type is an interface.
-	 */
-	boolean typeIsInterface();
-		String TYPE_IS_INTERFACE_PROPERTY = "typeIsInterface"; //$NON-NLS-1$
-
-	/**
-	 * Return whether the attribute type is an enum.
-	 */
-	boolean typeIsEnum();
-		String TYPE_IS_ENUM_PROPERTY = "typeIsEnum"; //$NON-NLS-1$
-
-	/**
-	 * Return whether the attribute type is an array.
-	 */
-	boolean typeIsArray();
-		String TYPE_IS_ARRAY_PROPERTY = "typeIsArray"; //$NON-NLS-1$
-	
-	/**
-	 * Return the dimensionality of the array, 0 otherwise.
-	 * (String[][] -> 2, Collection<String> -> 0)
-	 */
-	int getTypeArrayDimensionality();
-		String TYPE_ARRAY_DIMENSIONALITY_PROPERTY = "typeArrayDimensionality"; //$NON-NLS-1$
-	
-	/**
-	 * Return the component type name of the array, null otherwise.
-	 * (String[][] -> "java.lang.String", Collection<String> -> null)
-	 */
-	String getTypeArrayComponentTypeName();
-		String TYPE_ARRAY_COMPONENT_TYPE_NAME_PROPERTY = "typeArrayComponentTypeName"; //$NON-NLS-1$
-	
-	/**
-	 * Return the names of the attribute type's superclasses.
-	 */
-	ListIterable<String> getTypeSuperclassNames();
-		String TYPE_SUPERCLASS_NAMES_LIST = "typeSuperclassNames"; //$NON-NLS-1$
-
-	/**
-	 * Return the names of the attribute type's interfaces.
-	 */
-	Iterable<String> getTypeInterfaceNames();
-		String TYPE_INTERFACE_NAMES_COLLECTION = "typeInterfaceNames"; //$NON-NLS-1$
-
-	/**
-	 * Return the names of the attribute type's type arguments.
-	 * The name for any argument that is an array will contain the appropriate
-	 * number of bracket pairs.
-	 * The names will not include any further generic type arguments.
-	 */
-	ListIterable<String> getTypeTypeArgumentNames();
-		String TYPE_TYPE_ARGUMENT_NAMES_LIST = "typeTypeArgumentNames"; //$NON-NLS-1$
-
-	int getTypeTypeArgumentNamesSize();
-
-	String getTypeTypeArgumentName(int index);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceClassFile.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceClassFile.java
deleted file mode 100644
index ebda076..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceClassFile.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-
-
-/**
- * Java class file
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceClassFile
-	extends JavaResourceNode
-{
-	/**
-	 * Return the class file's type.
-	 */
-	JavaResourceAbstractType getType();
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceCompilationUnit.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceCompilationUnit.java
deleted file mode 100644
index 0a752f4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceCompilationUnit.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationEditFormatter;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-
-/**
- * Dali resource for JDT compilation unit.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceCompilationUnit
-	extends JavaResourceNode.Root
-{
-	/**
-	 * Return the corresponding JDT compilation unit.
-	 */
-	ICompilationUnit getCompilationUnit();
-
-	/**
-	 * Return the JPA project's annotation formatter. This is used to make any
-	 * manipulated annotations reasonably readable after being written to the
-	 * Java source file.
-	 */
-	AnnotationEditFormatter getAnnotationEditFormatter();
-
-	/**
-	 * This allows the resource model to modify the Java source code on the
-	 * UI thread when it is executing on another thread.
-	 */
-	CommandExecutor getModifySharedDocumentCommandExecutor();
-
-	/**
-	 * Resolve type information that could be dependent on other files being
-	 * added/removed.
-	 */
-	void resolveTypes();
-
-	/**
-	 * The primary type of the AST compilation unit, can be null.
-	 * This is named the same as the compilation unit.
-	 */
-	JavaResourceAbstractType getPrimaryType();
-
-	/**
-	 * Something in Java has changed (typically either the compilation unit's
-	 * source code or the Java classpath); synchronize the compilation unit's
-	 * state with the Java source code etc.
-	 */
-	void synchronizeWithJavaSource();
-
-	/**
-	 * Build an AST for the compilation unit with its bindings resolved.
-	 */
-	CompilationUnit buildASTRoot();
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceEnum.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceEnum.java
deleted file mode 100644
index 774d95a..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceEnum.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-
-
-/**
- * Java source code or binary enum.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceEnum
-	extends JavaResourceAbstractType
-{
-
-
-	// ********** enum constants **********
-
-	/**
-	 * Return the enum's enum constants.
-	 */
-	Iterable<JavaResourceEnumConstant> getEnumConstants();
-		String ENUM_CONSTANTS_COLLECTION = "enumConstants"; //$NON-NLS-1$
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceEnumConstant.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceEnumConstant.java
deleted file mode 100644
index c72c4c4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceEnumConstant.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-/**
- * Java source code or binary enum constant
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceEnumConstant
-	extends JavaResourceMember
-{
-	/**
-	 * The Java resource enum constant's name does not change.
-	 */
-	String getName();
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceField.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceField.java
deleted file mode 100644
index 1119f90..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceField.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-/**
- * Java source code or binary field
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceField
-	extends JavaResourceAttribute
-{
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceMember.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceMember.java
deleted file mode 100644
index 6acbee4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceMember.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-/**
- * Java source code or binary persistent member.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 2.0
- */
-public interface JavaResourceMember
-	extends JavaResourceAnnotatedElement
-{
-	String getName();
-
-	// ********** annotations **********
-	
-	/**
-	 * Sets the specified primary annotation as the first annotation, and removes all known 
-	 * annotations (i.e. does not remove non-persistence annotations) which are not included
-	 * in the supporting annotations.
-	 */
-	Annotation setPrimaryAnnotation(String primaryAnnotationName, Iterable<String> supportingAnnotationNames);
-
-
-
-	// ********** modifiers **********
-
-	/**
-	 * Return whether the member is final.
-	 */
-	boolean isFinal();
-		String FINAL_PROPERTY = "final"; //$NON-NLS-1$
-
-	boolean isTransient();
-		String TRANSIENT_PROPERTY = "transient"; //$NON-NLS-1$
-
-	boolean isPublic();
-		String PUBLIC_PROPERTY = "public"; //$NON-NLS-1$
-
-	boolean isStatic();
-		String STATIC_PROPERTY = "static"; //$NON-NLS-1$
-
-	boolean isProtected();
-		String PROTECTED_PROPERTY = "protected"; //$NON-NLS-1$
-
-
-	// ********** queries **********
-
-	/**
-	 * Return whether the Java resource member is for the specified
-	 * member.
-	 */
-	boolean isFor(String memberName, int occurrence);
-
-
-	// ********** behavior **********
-	
-	/**
-	 * Resolve type information that could be dependent on changes elsewhere
-	 * in the workspace.
-	 */
-	void resolveTypes(CompilationUnit astRoot);
-
-	/**
-	 * Return whether the Java resource member is public or protected
-	 */
-	boolean isPublicOrProtected();
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceMethod.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceMethod.java
deleted file mode 100644
index 8e5ff93..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceMethod.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jpt.common.utility.MethodSignature;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-
-/**
- * Java source code or binary method
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceMethod
-		extends JavaResourceAttribute {
-	
-	// ***** method name *****
-	
-	/**
-	 * The Java resource method's name does not change.
-	 */
-	String getMethodName();
-	
-	
-	// ***** parameter type names *****
-	
-	String PARAMETER_TYPE_NAMES_LIST = "parameterTypeNames"; //$NON-NLS-1$
-	
-	ListIterable<String> getParameterTypeNames();
-		
-	String getParameterTypeName(int index);
-	
-	int getParametersSize();
-	
-	
-	// ***** constructor *****
-	
-	String CONSTRUCTOR_PROPERTY = "constructor"; //$NON-NLS-1$
-	
-	boolean isConstructor();
-	
-	
-	// ***** misc *****
-	
-	/**
-	 * Return whether the Java resource persistent attribute is for the specified
-	 * method.
-	 */
-	boolean isFor(MethodSignature methodSignature, int occurrence);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceNode.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceNode.java
deleted file mode 100644
index 21e446e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceNode.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.JptResourceModel;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.model.Model;
-
-/**
- * Common interface for Java resource nodes (source code or binary).
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourceNode
-	extends Model
-{
-	/**
-	 * Return the node's parent node.
-	 */
-	JavaResourceNode getParent();
-
-	/**
-	 * Return the Eclipse file that contains the Java resource node
-	 * (typically either a Java source code file or a JAR).
-	 */
-	IFile getFile();
-
-	/**
-	 * Return the root of the Java resource containment hierarchy
-	 * (typically either a compilation unit or a package fragment root).
-	 */
-	Root getRoot();
-
-	/**
-	 * Return the [source] node's root (the compilation unit).
-	 */
-	// TODO get rid of this method...?
-	JavaResourceCompilationUnit getJavaResourceCompilationUnit();
-
-	/**
-	 * Return the [source] node's text range in the compilation unit's file.
-	 */
-	TextRange getTextRange(CompilationUnit astRoot);
-
-	/**
-	 * Initialize the [source] node from the specified AST.
-	 */
-	void initialize(CompilationUnit astRoot);
-
-	/**
-	 * Synchronize the [source] node with the specified AST.
-	 */
-	void synchronizeWith(CompilationUnit astRoot);
-
-
-	/**
-	 * Root of Java resource model containment hierarchy.
-	 */
-	interface Root
-			extends JavaResourceNode, JptResourceModel {
-		
-		/**
-		 * Return the root's Java resource "abstract" types.
-		 */
-		Iterable<JavaResourceAbstractType> getTypes();
-			String TYPES_COLLECTION = "types"; //$NON-NLS-1$
-		
-		/**
-		 * Called (via a hook in change notification) whenever anything in the
-		 * Java resource model changes. Forwarded to listeners.
-		 */
-		void resourceModelChanged();
-		
-		/**
-		 * Return the annotation provider that supplies the annotations found
-		 * in the Java resource model.
-		 */
-		AnnotationProvider getAnnotationProvider();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackage.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackage.java
deleted file mode 100644
index 471b951..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackage.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
-  * Copyright (c) 2010 Red Hat, Inc.
-  * Distributed under license by Red Hat, Inc. All rights reserved.
-  * This program is made available under the terms of the
-  * Eclipse Public License v1.0 which accompanies this distribution,
-  * and is available at http://www.eclipse.org/legal/epl-v10.html
-  *
-  * Contributor:
-  *     Red Hat, Inc. - initial API and implementation
-  ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-/**
- * @author Dmitry Geraskov
- *
- * Java source code of package-info
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface JavaResourcePackage
-		extends JavaResourceAnnotatedElement {
-	
-	/**
-	 * The Java resource persistent package's name.
-	 */
-	String getName();
-	String NAME_PROPERTY = "name"; //$NON-NLS-1$
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageFragment.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageFragment.java
deleted file mode 100644
index 87ceb27..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageFragment.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jpt.common.core.AnnotationProvider;
-
-
-
-/**
- * Java package fragment
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 2.2
- * @since 2.2
- */
-public interface JavaResourcePackageFragment
-	extends JavaResourceNode
-{
-	/**
-	 * Return the package fragment's class files that contain "annotated" types.
-	 * Annotated with the annotations we care about, 
-	 * @see AnnotationProvider
-	 */
-	Iterable<JavaResourceClassFile> getClassFiles();
-		String CLASS_FILES_COLLECTION = "classFiles"; //$NON-NLS-1$
-
-	/**
-	 * Return the size of the package fragment's class files.
-	 */
-	int getClassFilesSize();
-
-	/**
-	 * Return the package fragment's Java types.
-	 * This is a convenience method that returns the JavaResourceTypes of the classFiles.
-	 */
-	Iterable<JavaResourceAbstractType> getTypes();
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageFragmentRoot.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageFragmentRoot.java
deleted file mode 100644
index 12082c6..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageFragmentRoot.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-
-/**
- * Java package fragement root
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 2.2
- * @since 2.2
- */
-public interface JavaResourcePackageFragmentRoot
-	extends JavaResourceNode.Root
-{
-	/**
-	 * Return the package fragment root's package fragments.
-	 */
-	Iterable<JavaResourcePackageFragment> getPackageFragments();
-		String PACKAGE_FRAGMENTS_COLLECTION = "packageFragments"; //$NON-NLS-1$
-
-	/**
-	 * Return the size of the package fragment root's package fragments.
-	 */
-	int getPackageFragmentsSize();
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageInfoCompilationUnit.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageInfoCompilationUnit.java
deleted file mode 100644
index 9371615..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourcePackageInfoCompilationUnit.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-/**
- * Dali resource for JDT compilation unit named package-info.java.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface JavaResourcePackageInfoCompilationUnit
-	extends JavaResourceCompilationUnit
-{
-	JavaResourcePackage getPackage();
-		String PACKAGE = "package"; //$NON-NLS-1$
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceType.java
deleted file mode 100644
index b4f2371..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceType.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-
-/**
- * Java source code or binary class or interface.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 2.0
- */
-public interface JavaResourceType
-	extends JavaResourceAbstractType
-{
-
-	/**
-	 * Return the fully qualified name of the type's superclass.
-	 */
-	String getSuperclassQualifiedName();
-		String SUPERCLASS_QUALIFIED_NAME_PROPERTY = "superclassQualifiedName"; //$NON-NLS-1$
-
-	/**
-	 * Return whether the type is abstract.
-	 */
-	boolean isAbstract();
-		String ABSTRACT_PROPERTY = "abstract"; //$NON-NLS-1$
-
-	/**
-	 * Return whether the type has a no-arg constructor (private, protected, or public)
-	 */
-	boolean hasNoArgConstructor();
-		String NO_ARG_CONSTRUCTOR_PROPERTY = "noArgConstructor"; //$NON-NLS-1$
-
-	/**
-	 * Return whether the type has a private no-arg constructor
-	 */
-	boolean hasPrivateNoArgConstructor();
-		String PRIVATE_NO_ARG_CONSTRUCTOR_PROPERTY = "privateNoArgConstructor"; //$NON-NLS-1$
-	
-	/**
-	 * Return whether the type has a public or protected no-arg constructor
-	 * <em>or</em> only the default constructor.
-	 */
-	boolean hasPublicOrProtectedNoArgConstructor();
-
-	/**
-	 * Return whether the type has a public no-arg constructor
-	 * <em>or</em> only the default constructor.
-	 */
-	boolean hasPublicNoArgConstructor();
-		
-	/**
-	 * Return whether the type has any field that have relevant annotations
-	 * on them (which can be used to infer the type's access type).
-	 */
-	boolean hasAnyAnnotatedFields();
-
-	/**
-	 * Return whether the type has any field that have relevant annotations
-	 * on them (which can be used to infer the type's access type).
-	 */
-	boolean hasAnyAnnotatedMethods();
-
-	/**
-	 * Return whether the type overrides the
-	 * {@link Object#equals(Object)} method.
-	 */
-	boolean hasEqualsMethod();
-	
-	/**
-	 * Return whether the type overrides the
-	 * {@link Object#hashCode()} method.
-	 */
-	boolean hasHashCodeMethod();
-
-	// ********** fields **********
-
-	/**
-	 * Return the type's fields.
-	 */
-	Iterable<JavaResourceField> getFields();
-		String FIELDS_COLLECTION = "fields"; //$NON-NLS-1$
-
-
-	// ********** methods **********
-
-	/**
-	 * Return the type's methods. This returns *all* methods from the JDT Type
-	 */
-	Iterable<JavaResourceMethod> getMethods();
-		String METHODS_COLLECTION = "methods"; //$NON-NLS-1$
-
-	JavaResourceMethod getMethod(String name);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceTypeCache.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceTypeCache.java
deleted file mode 100644
index 59d5e7e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/JavaResourceTypeCache.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IType;
-
-/**
- * Java persistent type cache - used to hold "external" types
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 2.3
- * @since 2.2
- */
-public interface JavaResourceTypeCache
-	extends JavaResourceNode.Root
-{
-
-	/**
-	 * Return the size of the cache's types.
-	 */
-	int getTypesSize();
-
-	/**
-	 * Add a Java resource type for the specified JDT type to the
-	 * cache. Return the new type.
-	 */
-	JavaResourceAbstractType addType(IType jdtType);
-
-	/**
-	 * Remove all the types associated with the specified JAR file.
-	 * Return whether any types were removed.
-	 */
-	boolean removeTypes(IFile jarFile);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/NestableAnnotation.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/NestableAnnotation.java
deleted file mode 100644
index 68d364b..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/NestableAnnotation.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-/**
- * Interface for dealing with annotations that can be "nested" within other
- * annotations, typically within arrays.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 2.0
- */
-public interface NestableAnnotation
-		extends Annotation {
-	
-	/**
-	 * Move the annotation to the specified index within its container annotation.
-	 * This should only be called when the annotation is actually nested.
-	 */
-	void moveAnnotation(int index);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/NestableAnnotationDefinition.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/NestableAnnotationDefinition.java
deleted file mode 100644
index eb9784f..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/resource/java/NestableAnnotationDefinition.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.resource.java;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-
-/**
- * Used to build NestableAnnotations discovered in the Java source code.
- * To provide new NestableAnnotationDefinitions, create a new JaxbPlatform
- * by implementing JaxbPlatformDefinition.
- * 
- * @see NestableAnnotation
- * @see org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface NestableAnnotationDefinition
-{
-	/**
-	 * Return the name of the annotation the definition will build in the
-	 * various #build...(...) methods.
-	 */
-	String getNestableAnnotationName();
-
-	String getContainerAnnotationName();
-
-	String getElementName();
-
-	/**
-	 * Build and return an annotation for the specified annotated element.
-	 */
-	NestableAnnotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement, int index);
-
-	/**
-	 * Build and return an annotation for the specified JDT annotation
-	 * on the specified annotated element.
-	 */
-	NestableAnnotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation, int index);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/AbstractTextRange.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/AbstractTextRange.java
deleted file mode 100644
index 266e653..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/AbstractTextRange.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility;
-
-import org.eclipse.jpt.common.core.internal.utility.SimpleTextRange;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Partial implementation of text range.
- * 
- * Provisional API: This class is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 2.0
- * @since 2.0
- */
-public abstract class AbstractTextRange
-	implements TextRange
-{
-	protected AbstractTextRange() {
-		super();
-	}
-
-	public boolean includes(int index) {
-		return (this.getOffset() <= index) && (index < this.getEnd());
-	}
-
-	public boolean touches(int index) {
-		return (this.getOffset() <= index) && (index <= this.getEnd());
-	}
-
-	/**
-	 * The end offset is <em>exclusive</em>, i.e. the element at the end offset
-	 * is not included in the range.
-	 */
-	protected int getEnd() {
-		return this.getOffset() + this.getLength();
-	}
-
-	public TextRange buildTextRange(int offset, int length, int lineNumber) {
-		return ((offset == this.getOffset()) &&
-				(length == this.getLength()) &&
-				(lineNumber == this.getLineNumber())) ?
-					this :
-					new SimpleTextRange(offset, length, lineNumber);
-	}
-
-	@Override
-	public boolean equals(Object o) {
-		if (o == this) {
-			return true;
-		}
-		if ( ! (o instanceof TextRange)) {
-			return false;
-		}
-		TextRange other = (TextRange) o;
-		return (other.getOffset() == this.getOffset())
-				&& (other.getLength() == this.getLength())
-				&& (other.getLineNumber() == this.getLineNumber());
-	}
-
-	@Override
-	public int hashCode() {
-		return this.getOffset() ^ this.getLength() ^ this.getLineNumber();
-	}
-
-	@Override
-	public String toString() {
-		String start = String.valueOf(this.getOffset());
-		String end = String.valueOf(this.getEnd());
-		String line = String.valueOf(this.getLineNumber());
-		return StringTools.buildToStringFor(this, start + ", " + end + " [" + line + ']'); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/BodySourceWriter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/BodySourceWriter.java
deleted file mode 100644
index 9aabeeb..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/BodySourceWriter.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility;
-
-import java.io.Serializable;
-import java.io.StringWriter;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.TreeSet;
-
-import org.eclipse.jpt.common.utility.Filter;
-import org.eclipse.jpt.common.utility.IndentingPrintWriter;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.Transformer;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-
-import com.ibm.icu.text.Collator;
-
-/**
- * Extend {@link IndentingPrintWriter} with some methods that facilitate
- * building class source code.
- */
-@SuppressWarnings("nls")
-public class BodySourceWriter
-	extends IndentingPrintWriter
-{
-	protected final String packageName;
-	protected final String className;
-	// key = short class name; value = import package
-	protected final HashMap<String, ImportPackage> imports = new HashMap<String, ImportPackage>();
-
-	public BodySourceWriter(String packageName, String className) {
-		super(new StringWriter(2000));
-		this.packageName = packageName;
-		this.className = className;
-	}
-
-	public String getSource() {
-		return this.out.toString();
-	}
-
-	public int getLength() {
-		return ((StringWriter) this.out).getBuffer().length();
-	}
-
-	protected void printVisibility(String visibilityModifier) {
-		if (visibilityModifier.length() != 0) {
-			this.print(visibilityModifier);
-			this.print(' ');
-		}
-	}
-
-	public void printAnnotation(String annotationName) {
-		this.print('@');
-		this.printTypeDeclaration(annotationName);
-	}
-
-	public void printTypeDeclaration(String typeDeclaration) {
-		this.print(this.buildImportedTypeDeclaration(typeDeclaration));
-	}
-
-	protected void printField(String fieldName, String typeDeclaration, String visibility) {
-		this.printVisibility(visibility);
-		this.printTypeDeclaration(typeDeclaration);
-		this.print(' ');
-		this.print(fieldName);
-		this.print(';');
-		this.println();
-		this.println();
-	}
-
-	protected void printParameterizedField(String fieldName, String typeDeclaration, String parameterTypeDeclaration, String visibility) {
-		this.printVisibility(visibility);
-		this.printTypeDeclaration(typeDeclaration);
-		this.print('<');
-		this.printTypeDeclaration(parameterTypeDeclaration);
-		this.print('>');
-		this.print(' ');
-		this.print(fieldName);
-		this.print(';');
-		this.println();
-		this.println();
-	}
-
-	/**
-	 * Convert the specified string to a <em>String Literal</em> and print it,
-	 * adding the surrounding double-quotes and escaping characters
-	 * as necessary.
-	 */
-	public void printStringLiteral(String string) {
-		StringTools.convertToJavaStringLiteralOn(string, this);
-	}
-
-
-	// ********** imports **********
-
-	// ***** writing
-	/**
-	 * Return the specified class's "imported" name.
-	 * The class declaration must be of the form:
-	 *     "int"
-	 *     "int[]" (not "[I")
-	 *     "java.lang.Object"
-	 *     "java.lang.Object[]" (not "[Ljava.lang.Object;")
-	 *     "java.util.Map.Entry" (not "java.util.Map$Entry")
-	 *     "java.util.Map.Entry[][]" (not "[[Ljava.util.Map$Entry;")
-	 *     
-	 * To really do this right, we would need to gather all the types from
-	 * the "unamed" (default) package that were referenced in the
-	 * compilation unit beforehand. *Any* collisions with one of these
-	 * types would have to be fully qualified (whether it was from
-	 * 'java.lang' or the same package as the current compilation unit).
-	 * In other words, if we have any types from the "unnamed" package,
-	 * results are unpredictable....
-	 */
-	protected String buildImportedTypeDeclaration(String typeDeclaration) {
-		if (this.typeDeclarationIsMemberClass(typeDeclaration)) {
-			// no need for an import, just return the partially-qualified name
-			return this.buildMemberClassTypeDeclaration(typeDeclaration);
-		}
-		int last = typeDeclaration.lastIndexOf('.');
-		String currentPackageName = (last == -1) ? "" : typeDeclaration.substring(0, last);
-		String shortTypeDeclaration = typeDeclaration.substring(last + 1);
-		String shortElementTypeName = shortTypeDeclaration;
-		while (shortElementTypeName.endsWith("[]")) {
-			shortElementTypeName = shortElementTypeName.substring(0, shortElementTypeName.length() - 2);
-		}
-		ImportPackage prev = this.imports.get(shortElementTypeName);
-		if (prev == null) {
-			// this is the first class with this short element type name
-			this.imports.put(shortElementTypeName, new ImportPackage(currentPackageName));
-			return shortTypeDeclaration;
-		}
-		if (prev.packageName.equals(currentPackageName)) {
-			// this element type has already been imported
-			return shortTypeDeclaration;
-		}
-		if (currentPackageName.equals(this.packageName) &&
-				prev.packageName.equals("java.lang")) {
-			// we force the 'java.lang' class to be explicitly imported
-			prev.collision = true;
-		}
-		// another class with the same short element type name has been
-		// previously imported, so this one must be used fully-qualified
-		return typeDeclaration;
-	}
-
-	/**
-	 * e.g. "foo.bar.Employee.PK" will return true
-	 */
-	protected boolean typeDeclarationIsMemberClass(String typeDeclaration) {
-		return (typeDeclaration.length() > this.className.length())
-				&& typeDeclaration.startsWith(this.className)
-				&& (typeDeclaration.charAt(this.className.length()) == '.');
-	}
-
-	/**
-	 * e.g. "foo.bar.Employee.PK" will return "Employee.PK"
-	 * this prevents collisions with other imported classes (e.g. "joo.jar.PK")
-	 */
-	protected String buildMemberClassTypeDeclaration(String typeDeclaration) {
-		int index = this.packageName.length();
-		if (index != 0) {
-			index++;  // bump past the '.'
-		}
-		return typeDeclaration.substring(index);
-	}
-
-	// ***** reading
-	public Iterable<String> getImports() {
-		return this.getSortedRequiredImports();
-	}
-
-	/**
-	 * transform our map entries to class names
-	 */
-	protected Iterable<String> getSortedRequiredImports() {
-		return new TransformationIterable<Map.Entry<String, ImportPackage>, String>(this.getSortedRequiredImportEntries(), this.buildImportEntriesTransformer());
-	}
-
-	protected Transformer<Map.Entry<String, ImportPackage>, String> buildImportEntriesTransformer() {
-		return IMPORT_ENTRIES_TRANSFORMER;
-	}
-
-	protected static final Transformer<Map.Entry<String, ImportPackage>, String> IMPORT_ENTRIES_TRANSFORMER = new ImportEntriesTransformer();
-
-	protected static class ImportEntriesTransformer
-		implements Transformer<Map.Entry<String, ImportPackage>, String>
-	{
-		public String transform(Entry<String, ImportPackage> importEntry) {
-			String pkg = importEntry.getValue().packageName;
-			String type = importEntry.getKey();
-			StringBuilder sb = new StringBuilder(pkg.length() + 1 + type.length());
-			sb.append(pkg);
-			sb.append('.');
-			sb.append(type);
-			return sb.toString();
-		}
-	}
-
-	/**
-	 * sort by package first, then class (*not* by fully-qualified class name)
-	 */
-	protected Iterable<Map.Entry<String, ImportPackage>> getSortedRequiredImportEntries() {
-		TreeSet<Map.Entry<String, ImportPackage>> sortedEntries = new TreeSet<Map.Entry<String, ImportPackage>>(this.buildImportEntriesComparator());
-		CollectionTools.addAll(sortedEntries, this.getRequiredImportEntries());
-		return sortedEntries;
-	}
-
-	protected Comparator<Map.Entry<String, ImportPackage>> buildImportEntriesComparator() {
-		return IMPORT_ENTRIES_COMPARATOR;
-	}
-
-	protected static final Comparator<Map.Entry<String, ImportPackage>> IMPORT_ENTRIES_COMPARATOR = new ImportEntriesComparator();
-
-	protected static class ImportEntriesComparator
-		implements Comparator<Map.Entry<String, ImportPackage>>, Serializable
-	{
-		public int compare(Map.Entry<String, ImportPackage> e1, Map.Entry<String, ImportPackage> e2) {
-			Collator collator = Collator.getInstance();
-			int pkg = collator.compare(e1.getValue().packageName, e2.getValue().packageName);
-			return (pkg == 0) ? collator.compare(e1.getKey(), e2.getKey()) : pkg;
-		}
-	}
-
-	/**
-	 * strip off any non-required imports (e.g. "java.lang.Object')
-	 */
-	protected Iterable<Map.Entry<String, ImportPackage>> getRequiredImportEntries() {
-		return new FilteringIterable<Map.Entry<String, ImportPackage>>(this.imports.entrySet(), this.buildRequiredImportEntriesFilter());
-	}
-
-	protected Filter<Map.Entry<String, ImportPackage>> buildRequiredImportEntriesFilter() {
-		return new RequiredImportEntriesFilter();
-	}
-
-	protected class RequiredImportEntriesFilter
-		implements Filter<Map.Entry<String, ImportPackage>>
-	{
-		public boolean accept(Map.Entry<String, ImportPackage> importEntry) {
-			return this.packageMustBeImported(importEntry.getValue());
-		}
-
-		protected boolean packageMustBeImported(ImportPackage importPackage) {
-			String pkg = importPackage.packageName;
-			if (pkg.equals("")) {
-				// cannot import a type from the "unnamed" package
-				return false;
-			}
-			if (pkg.equals("java.lang")) {
-				// we must import from 'java.lang' if we also have a class in the same package
-				return importPackage.collision;
-			}
-			if (pkg.equals(BodySourceWriter.this.packageName)) {
-				// we never need to import a class from the same package
-				return false;
-			}
-			return true;
-		}
-	}
-
-	/**
-	 * We need a 'collision' flag for when we encounter a class from
-	 * 'java.lang' followed by a class from the current compilation unit's
-	 * package. We will need to include the explicit import of the
-	 * 'java.lang' class and all the references to the other class will
-	 * have to be fully-qualified.
-	 * 
-	 * If the classes are encountered in the opposite order (i.e. the class
-	 * from the current compilation unit's package followed by the class
-	 * from 'java.lang'), we do *not* need to import the first class while
-	 * all the references to the 'java.lang' class will be fully-qualified.
-	 * 
-	 * Unfortunately, we still have a problem: if we reference a class from
-	 * 'java.lang' and there is a conflicting class from the current
-	 * compilation unit's package (but that class is *not* revealed to us
-	 * here), the simple name will be resolved to the non-'java.lang' class.
-	 * Unless we simply force an import of *all* 'java.lang' classes.... :-(
-	 * 
-	 * This shouldn't happen very often. :-)
-	 */
-	protected static class ImportPackage {
-		protected final String packageName;
-		protected boolean collision = false;
-
-		protected ImportPackage(String packageName) {
-			super();
-			this.packageName = packageName;
-		}
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/TextRange.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/TextRange.java
deleted file mode 100644
index f31dd77..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/TextRange.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility;
-
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * A text range defines the offset into, length of, and line of a piece
- * of text.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * <p>
- * This interface is not intended to be implemented by clients.
- * 
- * @version 2.0
- * @since 2.0
- */
-public interface TextRange {
-
-	/**
-	 * Return the offset of the text.
-	 */
-	int getOffset();
-	
-	/**
-	 * Return the length of the text.
-	 */
-	int getLength();
-
-	/**
-	 * Return whether the range includes the character at the specified index.
-	 */
-	boolean includes(int index);
-
-	/**
-	 * Return whether the range touches an insertion cursor at the
-	 * specified index.
-	 */
-	boolean touches(int index);
-
-	/**
-	 * Return the line number of the text.
-	 */
-	int getLineNumber();
-
-	/**
-	 * Build and return a new text range for the specified values if they differ
-	 * from the text range. If the specified values match the
-	 * text range, simply return the text range unchanged.
-	 */
-	TextRange buildTextRange(int offset, int length, int lineNumber);
-
-	/**
-	 * Return whether the offsets, lengths, and line numbers are the same.
-	 */
-	boolean equals(Object obj);
-
-	/**
-	 * Return a hash code that corresponds to the {@link Object#equals(Object)}
-	 * contract.
-	 */
-	int hashCode();
-
-
-	/**
-	 * Empty implementation of text range.
-	 */
-	final class Empty extends AbstractTextRange {
-		public static final TextRange INSTANCE = new Empty();
-		public static TextRange instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Empty() {
-			super();
-		}
-		public int getLineNumber() {
-			return IMessage.LINENO_UNSET;
-		}
-		public int getOffset() {
-			return IMessage.OFFSET_UNSET;
-		}
-		public int getLength() {
-			return IMessage.OFFSET_UNSET;
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/CombinedCommandExecutor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/CombinedCommandExecutor.java
deleted file mode 100644
index 982911a..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/CombinedCommandExecutor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.command;
-
-import java.io.Serializable;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Combine the job command executor and command executor interfaces.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface CombinedCommandExecutor
-	extends JobCommandExecutor, CommandExecutor
-{
-	/**
-	 * Singleton implementation of the command executor interface
-	 * that simply executes the command without any sort of enhancement.
-	 */
-	final class Default
-		implements CombinedCommandExecutor, Serializable
-	{
-		public static final CombinedCommandExecutor INSTANCE = new Default();
-		public static CombinedCommandExecutor instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Default() {
-			super();
-		}
-		public void execute(Command command) {
-			command.execute();
-		}
-		public void execute(JobCommand command) {
-			command.execute(new NullProgressMonitor());
-		}
-		public void execute(JobCommand command, String jobName) {
-			this.execute(command);
-		}
-		public void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			this.execute(command);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-
-
-	/**
-	 * Singleton implementation of the command executor interface
-	 * that ignores any commands.
-	 */
-	final class Inactive
-		implements CombinedCommandExecutor, Serializable
-	{
-		public static final CombinedCommandExecutor INSTANCE = new Inactive();
-		public static CombinedCommandExecutor instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Inactive() {
-			super();
-		}
-		public void execute(Command command) {
-			// do nothing
-		}
-		public void execute(JobCommand command) {
-			// do nothing
-		}
-		public void execute(JobCommand command, String jobName) {
-			// do nothing
-		}
-		public void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			// do nothing
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/CombinedExtendedCommandExecutor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/CombinedExtendedCommandExecutor.java
deleted file mode 100644
index f1a5701..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/CombinedExtendedCommandExecutor.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.command;
-
-import java.io.Serializable;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.command.ExtendedCommandExecutor;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Combine the synchronouse job command executor and command executor
- * interfaces.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface CombinedExtendedCommandExecutor
-	extends CombinedCommandExecutor, ExtendedJobCommandExecutor, ExtendedCommandExecutor
-{
-	/**
-	 * Singleton implementation of the command executor interface
-	 * that simply executes the command without any sort of enhancement.
-	 */
-	final class Default
-		implements CombinedExtendedCommandExecutor, Serializable
-	{
-		public static final CombinedExtendedCommandExecutor INSTANCE = new Default();
-		public static CombinedExtendedCommandExecutor instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Default() {
-			super();
-		}
-		public void execute(Command command) {
-			command.execute();
-		}
-		public void waitToExecute(Command command) {
-			command.execute();
-		}
-		public boolean waitToExecute(Command command, long timeout) {
-			command.execute();
-			return true;
-		}
-		public void execute(JobCommand command) {
-			command.execute(new NullProgressMonitor());
-		}
-		public void execute(JobCommand command, String jobName) {
-			this.execute(command);
-		}
-		public void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			this.execute(command);
-		}
-		public void waitToExecute(JobCommand command) {
-			this.execute(command);
-		}
-		public boolean waitToExecute(JobCommand command, long timeout) {
-			this.execute(command);
-			return true;
-		}
-		public void waitToExecute(JobCommand command, String jobName) {
-			this.execute(command);
-		}
-		public boolean waitToExecute(JobCommand command, String jobName, long timeout) {
-			this.execute(command);
-			return true;
-		}
-		public void waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			this.execute(command);
-		}
-		public boolean waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule, long timeout) {
-			this.execute(command);
-			return true;
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-
-
-	/**
-	 * Singleton implementation of the command executor interface
-	 * that ignores any commands.
-	 */
-	final class Inactive
-		implements CombinedExtendedCommandExecutor, Serializable
-	{
-		public static final CombinedExtendedCommandExecutor INSTANCE = new Inactive();
-		public static CombinedExtendedCommandExecutor instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Inactive() {
-			super();
-		}
-		public void execute(Command command) {
-			// do nothing
-		}
-		public void waitToExecute(Command command) {
-			// do nothing
-		}
-		public boolean waitToExecute(Command command, long timeout) {
-			// do nothing
-			return true;
-		}
-		public void execute(JobCommand command) {
-			// do nothing
-		}
-		public void execute(JobCommand command, String jobName) {
-			// do nothing
-		}
-		public void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			// do nothing
-		}
-		public void waitToExecute(JobCommand command) {
-			// do nothing
-		}
-		public boolean waitToExecute(JobCommand command, long timeout) throws InterruptedException {
-			// do nothing
-			return true;
-		}
-		public void waitToExecute(JobCommand command, String jobName) {
-			// do nothing
-		}
-		public boolean waitToExecute(JobCommand command, String jobName, long timeout) throws InterruptedException {
-			// do nothing
-			return true;
-		}
-		public void waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			// do nothing
-		}
-		public boolean waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule, long timeout) throws InterruptedException {
-			// do nothing
-			return true;
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/ExtendedJobCommandExecutor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/ExtendedJobCommandExecutor.java
deleted file mode 100644
index 15c4b5d..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/ExtendedJobCommandExecutor.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.command;
-
-import java.io.Serializable;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * This interface extends the normal command executor to allow the client
- * to control when a command is required to be executed synchronously.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface ExtendedJobCommandExecutor
-	extends JobCommandExecutor
-{
-	/**
-	 * Suspend the current thread until the specified command is executed.
-	 * The command itself must be executed <em>after</em> any other commands
-	 * previously passed to the command executor. The command may or may
-	 * not be assigned to a {@link org.eclipse.core.runtime.jobs.Job}
-	 * for execution.
-	 * @see #execute(JobCommand)
-	 */
-	void waitToExecute(JobCommand command) throws InterruptedException;
-
-	/**
-	 * Suspend the current thread until the specified command is executed
-	 * or the specified time-out occurs.
-	 * The time-out is specified in milliseconds. Return <code>true</code> if
-	 * the command was executed in the allotted time;
-	 * return <code>false</code> if a time-out occurred and the command was
-	 * <em>not</em> executed.
-	 * If the time-out is zero, wait indefinitely.
-	 * <p>
-	 * The command itself must be executed <em>after</em> any other commands
-	 * previously passed to the command executor. The command may or may
-	 * not be assigned to a {@link org.eclipse.core.runtime.jobs.Job}
-	 * for execution.
-	 * @see #execute(JobCommand)
-	 */
-	boolean waitToExecute(JobCommand command, long timeout) throws InterruptedException;
-
-	/**
-	 * Suspend the current thread until the specified command is executed.
-	 * The command itself must be executed <em>after</em> any other commands
-	 * previously passed to the command executor. The command may or may
-	 * not be assigned to a {@link org.eclipse.core.runtime.jobs.Job}
-	 * for execution.
-	 * @see #execute(JobCommand, String)
-	 */
-	void waitToExecute(JobCommand command, String jobName) throws InterruptedException;
-
-	/**
-	 * Suspend the current thread until the specified command is executed
-	 * or the specified time-out occurs.
-	 * The time-out is specified in milliseconds. Return <code>true</code> if
-	 * the command was executed in the allotted time;
-	 * return <code>false</code> if a time-out occurred and the command was
-	 * <em>not</em> executed.
-	 * If the time-out is zero, wait indefinitely.
-	 * <p>
-	 * The command itself must be executed <em>after</em> any other commands
-	 * previously passed to the command executor. The command may or may
-	 * not be assigned to a {@link org.eclipse.core.runtime.jobs.Job}
-	 * for execution.
-	 * @see #execute(JobCommand, String)
-	 */
-	boolean waitToExecute(JobCommand command, String jobName, long timeout) throws InterruptedException;
-
-	/**
-	 * Suspend the current thread until the specified command is executed.
-	 * The command itself must be executed <em>after</em> any other commands
-	 * previously passed to the command executor. The command may or may
-	 * not be assigned to a {@link org.eclipse.core.runtime.jobs.Job}
-	 * for execution.
-	 * @see #execute(JobCommand, String, ISchedulingRule)
-	 */
-	void waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule) throws InterruptedException;
-
-
-	/**
-	 * Suspend the current thread until the specified command is executed
-	 * or the specified time-out occurs.
-	 * The time-out is specified in milliseconds. Return <code>true</code> if
-	 * the command was executed in the allotted time;
-	 * return <code>false</code> if a time-out occurred and the command was
-	 * <em>not</em> executed.
-	 * If the time-out is zero, wait indefinitely.
-	 * <p>
-	 * The command itself must be executed <em>after</em> any other commands
-	 * previously passed to the command executor. The command may or may
-	 * not be assigned to a {@link org.eclipse.core.runtime.jobs.Job}
-	 * for execution.
-	 * @see #execute(JobCommand, String, ISchedulingRule)
-	 */
-	boolean waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule, long timeout) throws InterruptedException;
-
-
-	/**
-	 * Singleton implementation of the command executor interface
-	 * that simply executes the command without any sort of enhancement.
-	 */
-	final class Default
-		implements ExtendedJobCommandExecutor, Serializable
-	{
-		public static final ExtendedJobCommandExecutor INSTANCE = new Default();
-		public static ExtendedJobCommandExecutor instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Default() {
-			super();
-		}
-		public void execute(JobCommand command) {
-			command.execute(new NullProgressMonitor());
-		}
-		public void execute(JobCommand command, String jobName) {
-			this.execute(command);
-		}
-		public void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			this.execute(command);
-		}
-		public void waitToExecute(JobCommand command) {
-			this.execute(command);
-		}
-		public boolean waitToExecute(JobCommand command, long timeout) {
-			this.execute(command);
-			return true;
-		}
-		public void waitToExecute(JobCommand command, String jobName) {
-			this.execute(command);
-		}
-		public boolean waitToExecute(JobCommand command, String jobName, long timeout) {
-			this.execute(command);
-			return true;
-		}
-		public void waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			this.execute(command);
-		}
-		public boolean waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule, long timeout) {
-			this.execute(command);
-			return true;
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-
-
-	/**
-	 * Singleton implementation of the command executor interface
-	 * that ignores any commands.
-	 */
-	final class Inactive
-		implements ExtendedJobCommandExecutor, Serializable
-	{
-		public static final ExtendedJobCommandExecutor INSTANCE = new Inactive();
-		public static ExtendedJobCommandExecutor instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Inactive() {
-			super();
-		}
-		public void execute(JobCommand command) {
-			// do nothing
-		}
-		public void execute(JobCommand command, String jobName) {
-			// do nothing
-		}
-		public void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			// do nothing
-		}
-		public void waitToExecute(JobCommand command) {
-			// do nothing
-		}
-		public boolean waitToExecute(JobCommand command, long timeout) throws InterruptedException {
-			// do nothing
-			return true;
-		}
-		public void waitToExecute(JobCommand command, String jobName) {
-			// do nothing
-		}
-		public boolean waitToExecute(JobCommand command, String jobName, long timeout) throws InterruptedException {
-			// do nothing
-			return true;
-		}
-		public void waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			// do nothing
-		}
-		public boolean waitToExecute(JobCommand command, String jobName, ISchedulingRule schedulingRule, long timeout) throws InterruptedException {
-			// do nothing
-			return true;
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/InterruptibleJobCommand.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/InterruptibleJobCommand.java
deleted file mode 100644
index 4eb68d4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/InterruptibleJobCommand.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.command;
-
-import java.io.Serializable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Simple interface for implementing the GOF Command design pattern
- * in an Eclipse job
- * and allows for the command to throw an {@link InterruptedException}.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @see org.eclipse.jpt.common.core.utility.command.JobCommand
- */
-public interface InterruptibleJobCommand {
-
-	/**
-	 * Execute the command. The semantics of the command
-	 * is determined by the contract between the client and server.
-	 * The command should check, as appropriate, whether the specified progress
-	 * monitor is {@link IProgressMonitor#isCanceled() "canceled"}; if it is,
-	 * the command should return a result
-	 * status of severity {@link IStatus#CANCEL}. The singleton
-	 * cancel status {@link org.eclipse.core.runtime.Status#CANCEL_STATUS} can be used for
-	 * this purpose.
-	 * <p>
-	 * Nested methods can also check the progress monitor
-	 * and, if it is "canceled", throw an
-	 * {@link org.eclipse.core.runtime.OperationCanceledException OperationCanceledException}.
-	 * 
-	 * @see IProgressMonitor#isCanceled()
-	 * @see org.eclipse.core.runtime.jobs.Job#run(IProgressMonitor monitor)
-	 */
-	IStatus execute(IProgressMonitor monitor) throws InterruptedException;
-
-
-	/**
-	 * Singleton implementation of the interruptible job command interface that
-	 * will throw an interrupted exception when executed.
-	 */
-	final class Interrupted
-		implements InterruptibleJobCommand, Serializable
-	{
-		public static final InterruptibleJobCommand INSTANCE = new Interrupted();
-		public static InterruptibleJobCommand instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Interrupted() {
-			super();
-		}
-		// throw an exception
-		public IStatus execute(IProgressMonitor monitor) throws InterruptedException {
-			throw new InterruptedException();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/JobCommand.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/JobCommand.java
deleted file mode 100644
index b70f49e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/JobCommand.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.command;
-
-import java.io.Serializable;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Simple interface for implementing the GOF Command design pattern in an
- * Eclipse job.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface JobCommand
-	extends InterruptibleJobCommand
-{
-	/**
-	 * Execute the command. The semantics of the command
-	 * is determined by the contract between the client and server.
-	 * The command should check, as appropriate, whether the specified progress
-	 * monitor is {@link IProgressMonitor#isCanceled() "canceled"}; if it is,
-	 * the command should return a result
-	 * status of severity {@link IStatus#CANCEL}. The singleton
-	 * cancel status {@link Status#CANCEL_STATUS} can be used for
-	 * this purpose.
-	 * <p>
-	 * Nested methods can also check the progress monitor
-	 * and, if it is "canceled", throw an
-	 * {@link org.eclipse.core.runtime.OperationCanceledException OperationCanceledException}.
-	 * 
-	 * @see IProgressMonitor#isCanceled()
-	 * @see org.eclipse.core.runtime.jobs.Job#run(IProgressMonitor monitor)
-	 */
-	IStatus execute(IProgressMonitor monitor);
-
-
-	/**
-	 * Singleton implementation of the job command interface that will do
-	 * nothing when executed.
-	 */
-	final class Null
-		implements JobCommand, Serializable
-	{
-		public static final JobCommand INSTANCE = new Null();
-		public static JobCommand instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Null() {
-			super();
-		}
-		public IStatus execute(IProgressMonitor monitor) {
-			return Status.OK_STATUS;
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-
-
-	/**
-	 * Singleton implementation of the job command interface that will throw an
-	 * exception when executed.
-	 */
-	final class Disabled
-		implements JobCommand, Serializable
-	{
-		public static final JobCommand INSTANCE = new Disabled();
-		public static JobCommand instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Disabled() {
-			super();
-		}
-		// throw an exception
-		public IStatus execute(IProgressMonitor monitor) {
-			throw new UnsupportedOperationException();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/JobCommandExecutor.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/JobCommandExecutor.java
deleted file mode 100644
index e2e1bce..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/JobCommandExecutor.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.command;
-
-import java.io.Serializable;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * This interface allows clients to control how a job command is executed.
- * This is useful when the server provides the command but the client provides
- * the context (e.g. the client would like to execute the command synchronously
- * rather than dispatching it to a job queue).
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface JobCommandExecutor {
-
-	/**
-	 * Execute the specified command, synchronously or asynchronously.
-	 * Commands with the same scheduling rule must be executed in the order in
-	 * which they are passed to the command executor.
-	 * The command may or may not be assigned to a
-	 * {@link org.eclipse.core.runtime.jobs.Job} for execution.
-	 */
-	void execute(JobCommand command);
-
-	/**
-	 * Execute the specified command, synchronously or asynchronously.
-	 * Commands with the same scheduling rule must be executed in the order in
-	 * which they are passed to the command executor.
-	 * The command may or may not be assigned to a
-	 * {@link org.eclipse.core.runtime.jobs.Job} for execution.
-	 */
-	void execute(JobCommand command, String jobName);
-
-	/**
-	 * Execute the specified command, synchronously or asynchronously.
-	 * Commands with the same scheduling rule must be executed in the order in
-	 * which they are passed to the command executor.
-	 * The command may or may not be assigned to a
-	 * {@link org.eclipse.core.runtime.jobs.Job} for execution.
-	 */
-	void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule);
-
-
-	/**
-	 * Singleton implementation of the command executor interface
-	 * that simply executes the command without any sort of enhancement.
-	 */
-	final class Default
-		implements JobCommandExecutor, Serializable
-	{
-		public static final JobCommandExecutor INSTANCE = new Default();
-		public static JobCommandExecutor instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Default() {
-			super();
-		}
-		public void execute(JobCommand command) {
-			command.execute(new NullProgressMonitor());
-		}
-		public void execute(JobCommand command, String jobName) {
-			this.execute(command);
-		}
-		public void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			this.execute(command);
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-
-
-	/**
-	 * Singleton implementation of the command executor interface
-	 * that ignores any commands.
-	 */
-	final class Inactive
-		implements JobCommandExecutor, Serializable
-	{
-		public static final JobCommandExecutor INSTANCE = new Inactive();
-		public static JobCommandExecutor instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Inactive() {
-			super();
-		}
-		public void execute(JobCommand command) {
-			// do nothing
-		}
-		public void execute(JobCommand command, String jobName) {
-			// do nothing
-		}
-		public void execute(JobCommand command, String jobName, ISchedulingRule schedulingRule) {
-			// do nothing
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/NotifyingRepeatingJobCommand.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/NotifyingRepeatingJobCommand.java
deleted file mode 100644
index 2710618..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/NotifyingRepeatingJobCommand.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.command;
-
-import java.io.Serializable;
-import java.util.EventListener;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Extend the repeating job command to support listeners that are notified
- * when an execution "cycle" is complete; i.e. the job command has,
- * for the moment, handled every execution request and quiesced.
- * This notification is <em>not</em> guaranteed to occur with <em>every</em>
- * execution "cycle"; since other, unrelated, executions can be triggered
- * concurrently, causing the "cycle" to continue.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface NotifyingRepeatingJobCommand
-	extends RepeatingJobCommand
-{
-	/**
-	 * Add the specified listener.
-	 */
-	void addListener(Listener listener);
-
-	/**
-	 * Remove the specified listener.
-	 */
-	void removeListener(Listener listener);
-
-
-	// ********** listener **********
-
-	/**
-	 * Interface implemented by listeners to be notified whenever the
-	 * job command has quiesced.
-	 */
-	public interface Listener
-		extends EventListener
-	{
-		/**
-		 * The specified job command has quiesced.
-		 */
-		IStatus executionQuiesced(JobCommand command, IProgressMonitor monitor);
-	}
-
-
-	// ********** null singleton **********
-
-	/**
-	 * Singleton implementation of the notifying repeating command interface that
-	 * will do nothing when executed.
-	 */
-	final class Null
-		implements NotifyingRepeatingJobCommand, Serializable
-	{
-		public static final NotifyingRepeatingJobCommand INSTANCE = new Null();
-		public static NotifyingRepeatingJobCommand instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Null() {
-			super();
-		}
-		public void start() {
-			// do nothing
-		}
-		public IStatus execute(IProgressMonitor monitor) {
-			return Status.OK_STATUS;
-		}
-		public void stop() {
-			// do nothing
-		}
-		public void addListener(Listener listener) {
-			// do nothing
-		}
-		public void removeListener(Listener listener) {
-			// do nothing
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/RepeatingJobCommand.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/RepeatingJobCommand.java
deleted file mode 100644
index c9952b5..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/command/RepeatingJobCommand.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.command;
-
-import java.io.Serializable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * This job command will execute repeatedly the minimum
- * number of times. The assumption is the job command's effects are
- * cumulative(?); i.e. the cumulative result of multiple executions of the
- * job command is no different than the result of a single execution of the job
- * command. Once the job command is executing, any further requests to execute
- * simply trigger a re-execution of the job command once it has finished its
- * current execution.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface RepeatingJobCommand
-	extends JobCommand
-{
-	/**
-	 * Start the job command, allowing it to begin executing with the next call
-	 * to {@link #execute(IProgressMonitor)}.
-	 * @exception IllegalStateException when the command is not stopped
-	 */
-	void start();
-
-	/**
-	 * Stop the job command; ignore further calls to
-	 * {@link #execute(IProgressMonitor)}.
-	 * @exception IllegalStateException when the command executor is not started
-	 */
-	void stop() throws InterruptedException;
-
-
-	/**
-	 * Singleton implementation of the repeating job command interface that
-	 * will do nothing when executed.
-	 */
-	final class Null
-		implements RepeatingJobCommand, Serializable
-	{
-		public static final RepeatingJobCommand INSTANCE = new Null();
-		public static RepeatingJobCommand instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Null() {
-			super();
-		}
-		public void start() {
-			// do nothing
-		}
-		public IStatus execute(IProgressMonitor monitor) {
-			return Status.OK_STATUS;
-		}
-		public void stop() {
-			// do nothing
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-		private static final long serialVersionUID = 1L;
-		private Object readResolve() {
-			// replace this object with the singleton
-			return INSTANCE;
-		}
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AbstractType.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AbstractType.java
deleted file mode 100644
index 8be7a07..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AbstractType.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-
-/**
- * AbstractType: just some covariant overrides.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface AbstractType extends Member {
-
-	/**
-	 * Covariant override.
-	 */
-	ITypeBinding getBinding(CompilationUnit astRoot);
-
-	/**
-	 * Covariant override.
-	 */
-	AbstractTypeDeclaration getBodyDeclaration(CompilationUnit astRoot);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotatedElement.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotatedElement.java
deleted file mode 100644
index 8ce99cf..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotatedElement.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IBinding;
-import org.eclipse.jpt.common.core.utility.TextRange;
-
-/**
- * Dali manipulates annotations on elements (packages, types, fields, and methods).
- * This interface simplifies those manipulations.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface AnnotatedElement {
-
-	String getName();
-
-	/**
-	 * Return the annotated element's body declaration from the specified AST.
-	 * This can be null if the annotated element is no longer present in the AST
-	 * because the source has been changed in another thread.
-	 */
-	ASTNode getBodyDeclaration(CompilationUnit astRoot);
-
-	/**
-	 * Return the annotated element's binding from the specified AST.
-	 */
-	IBinding getBinding(CompilationUnit astRoot);
-
-	/**
-	 * Return the annotated element's "modified" declaration from the specified AST.
-	 */
-	ModifiedDeclaration getModifiedDeclaration(CompilationUnit astRoot);
-
-	/**
-	 * Return the annotated element's "modified" declaration from a newly-generated AST.
-	 */
-	ModifiedDeclaration getModifiedDeclaration();
-
-	/**
-	 * Return the annotated element's name text range from the specified AST.
-	 */
-	TextRange getNameTextRange(CompilationUnit astRoot);
-
-	/**
-	 * Edit the annotated element's declaration using the specified editor.
-	 */
-	void edit(Editor editor);
-
-
-	// ********** "editor" interface **********
-
-	/**
-	 * This interface defines a callback that is invoked when the annotated element's
-	 * compilation unit/AST is in a state to be manipulated.
-	 */
-	public interface Editor {
-
-		/**
-		 * Edit the specified declaration. Any changes made to the declaration
-		 * will be captured and applied to the annotated element's compilation unit.
-		 */
-		void edit(ModifiedDeclaration declaration);
-
-	}
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotatedPackage.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotatedPackage.java
deleted file mode 100644
index c0a3ccc..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotatedPackage.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- *     Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IPackageBinding;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-
-/**
- * @author Dmitry Geraskov
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- *
- * This interface is not intended to be implemented by clients.
- */
-public interface AnnotatedPackage extends AnnotatedElement {	
-
-	/**
-	 * Covariant override.
-	 */
-	IPackageBinding getBinding(CompilationUnit astRoot);
-
-	/**
-	 * Covariant override.
-	 */
-	PackageDeclaration getBodyDeclaration(CompilationUnit astRoot);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationAdapter.java
deleted file mode 100644
index b0b04c4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationAdapter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-/**
- * Adapt a Java annotation with a simple-to-use interface.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface AnnotationAdapter {
-
-	/**
-	 * Given the specified compilation unit, return the value of the
-	 * adapter's annotation.
-	 * @see #getAnnotation()
-	 */
-	Annotation getAnnotation(CompilationUnit astRoot);
-
-	/**
-	 * Build a new marker annotation, replacing the original annotation if present.
-	 */
-	void newMarkerAnnotation();
-
-	/**
-	 * Build a new single member annotation, replacing the original annotation if present.
-	 */
-	void newSingleMemberAnnotation();
-
-	/**
-	 * Build a new normal annotation, replacing the original annotation if present.
-	 */
-	void newNormalAnnotation();
-
-	/**
-	 * Remove the annotation.
-	 */
-	void removeAnnotation();
-
-	/**
-	 * Return the AST node corresponding to the annotation.
-	 * If the annotation is missing, return the annotation's parent node.
-	 * @see #getAstNode()
-	 */
-	ASTNode getAstNode(CompilationUnit astRoot);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationEditFormatter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationEditFormatter.java
deleted file mode 100644
index 77b3ac0..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationEditFormatter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.TextEdit;
-
-/**
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface AnnotationEditFormatter {
-
-	/**
-	 * Review the specified edits and format the specified document as needed.
-	 */
-	void format(IDocument doc, TextEdit editTree) throws MalformedTreeException, BadLocationException;
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationElementAdapter.java
deleted file mode 100644
index 3fc6e95..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/AnnotationElementAdapter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.Expression;
-
-/**
- * Adapt a Java annotation element with a simple-to-use interface.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface AnnotationElementAdapter<T> {
-
-	/**
-	 * Return the value of the adapter's annotation element.
-	 * Return null if the element is not present.
-	 * If the compilation unit is available, #value(CompilationUnit)
-	 * might be more performant.
-	 * @see #getValue(org.eclipse.jdt.core.dom.CompilationUnit)
-	 */
-	T getValue();
-
-	/**
-	 * Given the specified compilation unit, return the value of the
-	 * adapter's annotation element.
-	 * Return null if the element is not present.
-	 * @see #getValue()
-	 */
-	T getValue(CompilationUnit astRoot);
-
-	/**
-	 * Set the value of the adapter's annotation element.
-	 * Setting the value of the element to null will cause
-	 * the element to be removed from its annotation.
-	 */
-	void setValue(T value);
-
-	/**
-	 * Given the specified compilation unit, return the expression value of the
-	 * adapter's annotation element.
-	 * Return null if the element is not present.
-	 * @see #getExpression()
-	 */
-	Expression getExpression(CompilationUnit astRoot);
-
-	/**
-	 * Return the AST node corresponding to the element.
-	 * If the element is missing, return the annotation's node.
-	 * @see #getAstNode()
-	 */
-	ASTNode getAstNode(CompilationUnit astRoot);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Attribute.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Attribute.java
deleted file mode 100644
index cce19d5..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Attribute.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-
-/**
- * Attributes are either represented by fields ('foo') or properties/method
- * pairs ('getFoo()'/'setFoo()').
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface Attribute extends Member {
-
-	/**
-	 * Return the attribute's name, as opposed to the member's name
-	 * (e.g. "getFoo()" returns "foo").
-	 */
-	String getAttributeName();
-
-	/**
-	 * Return the type binding for the attribute's declared type,
-	 * as opposed to its declaring type.
-	 */
-	ITypeBinding getTypeBinding(CompilationUnit astRoot);
-
-	/**
-	 * Return whether the attribute is a field.
-	 */
-	boolean isField();
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/DeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/DeclarationAnnotationAdapter.java
deleted file mode 100644
index 9f93a16..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/DeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-
-/**
- * Provide clients with a pluggable way to manipulate an
- * annotation modifying a "declaration".
- * 
- * TODO specify how multiple annotations with the same name are to be handled
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface DeclarationAnnotationAdapter {
-
-	/**
-	 * Given the specified declaration, return the annotation.
-	 */
-	Annotation getAnnotation(ModifiedDeclaration declaration);
-
-	/**
-	 * Given the specified declaration, modify it with
-	 * a new marker annotation, replacing the original annotation if present.
-	 * Return the new annotation.
-	 */
-	MarkerAnnotation newMarkerAnnotation(ModifiedDeclaration declaration);
-
-	/**
-	 * Given the specified declaration, modify it with
-	 * a new single member annotation, replacing the original annotation if present.
-	 * Return the new annotation.
-	 */
-	SingleMemberAnnotation newSingleMemberAnnotation(ModifiedDeclaration declaration);
-
-	/**
-	 * Given the specified declaration, modify it with
-	 * a new normal annotation, replacing the original annotation if present.
-	 * Return the new annotation.
-	 */
-	NormalAnnotation newNormalAnnotation(ModifiedDeclaration declaration);
-
-	/**
-	 * Remove the annotation from the specified declaration.
-	 */
-	void removeAnnotation(ModifiedDeclaration declaration);
-
-	/**
-	 * Given the specified declaration, return the AST node
-	 * corresponding to the annotation.
-	 * If the annotation is missing, return its parent node.
-	 */
-	ASTNode getAstNode(ModifiedDeclaration declaration);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/DeclarationAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/DeclarationAnnotationElementAdapter.java
deleted file mode 100644
index 51ae1a6..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/DeclarationAnnotationElementAdapter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Expression;
-
-/**
- * Provide clients with a pluggable way to manipulate an
- * annotation element modifying a "declaration".
- * <p>
- * This interface is not intended to be implemented by clients.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @param <T> the type of the object to be passed to and returned by the adapter
- */
-public interface DeclarationAnnotationElementAdapter<T> {
-
-	/**
-	 * Reduce the number of NLS warnings.
-	 */
-	String VALUE = "value"; //$NON-NLS-1$
-
-	/**
-	 * Given the specified declaration, return the value of the
-	 * annotation element. Return null or an empty array
-	 * if the element is not present.
-	 */
-	T getValue(ModifiedDeclaration declaration);
-
-	/**
-	 * Given the specified declaration, set the value of the
-	 * annotation element. Setting the value of the element
-	 * to null will cause the element to be removed from its
-	 * annotation.
-	 */
-	void setValue(T value, ModifiedDeclaration declaration);
-
-	/**
-	 * Given the specified declaration, return the element's value expression.
-	 * Return null if the element is not present.
-	 */
-	Expression getExpression(ModifiedDeclaration declaration);
-
-	/**
-	 * Given the specified declaration, return the AST node
-	 * corresponding to the element's value.
-	 * If the element is missing, return the annotation's node.
-	 */
-	ASTNode getAstNode(ModifiedDeclaration declaration);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Enum.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Enum.java
deleted file mode 100644
index da690b1..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Enum.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-
-/**
- * Enum: some covariant overrides plus enumConstants
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface Enum extends AbstractType {
-
-	/**
-	 * Covariant override.
-	 */
-	EnumDeclaration getBodyDeclaration(CompilationUnit astRoot);
-
-	/**
-	 * Return the enum's constants
-	 */
-	EnumConstantDeclaration[] getEnumConstants(CompilationUnit astRoot);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/EnumConstant.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/EnumConstant.java
deleted file mode 100644
index 88693d4..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/EnumConstant.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.IVariableBinding;
-
-/**
- * Enum constants are part of Enums
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface EnumConstant extends Member {
-
-	String getName();
-
-	/**
-	 * Covariant override.
-	 */
-	IVariableBinding getBinding(CompilationUnit astRoot);
-
-	/**
-	 * Covariant override.
-	 */
-	EnumConstantDeclaration getBodyDeclaration(CompilationUnit astRoot);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/ExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/ExpressionConverter.java
deleted file mode 100644
index 3475609..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/ExpressionConverter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.Expression;
-
-/**
- * Define the protocol for converting an AST expression back and forth
- * from an arbitrary type (e.g. StringLiteral <=> String).
- * <p>
- * This interface is not intended to be implemented by clients.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @param <T> the type of the object to be converted to and from an expression
- */
-public interface ExpressionConverter<T> {
-
-	/**
-	 * Convert the specified object to an
-	 * expression that is owned by the specified AST.
-	 * The type of the object is determined by the
-	 * contract specified by the client.
-	 */
-	Expression convert(T object, AST ast);
-
-	/**
-	 * Convert the specified expression to an object of some
-	 * pre-determined type.
-	 */
-	T convert(Expression expression);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/FieldAttribute.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/FieldAttribute.java
deleted file mode 100644
index 4e014ac..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/FieldAttribute.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.IVariableBinding;
-
-/**
- * Field attribute: just some covariant overrides.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface FieldAttribute extends Attribute {
-
-	/**
-	 * Covariant override.
-	 */
-	IVariableBinding getBinding(CompilationUnit astRoot);
-
-	/**
-	 * Covariant override.
-	 */
-	FieldDeclaration getBodyDeclaration(CompilationUnit astRoot);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedAnnotationAdapter.java
deleted file mode 100644
index a55e9cb..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedAnnotationAdapter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-
-/**
- * Adapt an indexed Java annotation with a simple-to-use interface.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface IndexedAnnotationAdapter extends AnnotationAdapter {
-
-	/**
-	 * Return the the index at which the annotation is situated.
-	 */
-	int getIndex();
-
-	/**
-	 * Move the annotation to the specified index, leaving its original
-	 * position cleared out.
-	 */
-	void moveAnnotation(int newIndex);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedDeclarationAnnotationAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedDeclarationAnnotationAdapter.java
deleted file mode 100644
index 438f21e..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedDeclarationAnnotationAdapter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-
-/**
- * Allow clients to manipulate an annotation within an array of annotations.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface IndexedDeclarationAnnotationAdapter extends DeclarationAnnotationAdapter {
-
-	/**
-	 * Return the the index at which the annotation is situated.
-	 */
-	int getIndex();
-
-	/**
-	 * Move the annotation to the specified index, leaving its original
-	 * position cleared out.
-	 */
-	void moveAnnotation(int newIndex, ModifiedDeclaration declaration);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedDeclarationAnnotationElementAdapter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedDeclarationAnnotationElementAdapter.java
deleted file mode 100644
index 202e094..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedDeclarationAnnotationElementAdapter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.Expression;
-
-/**
- * Provide clients with a pluggable way to manipulate an <em>indexed</em>
- * annotation element modifying a "declaration".
- * <p>
- * This interface is not intended to be implemented by clients.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @param <T> the type of the objects in the array to be passed to and returned
- * by the adapter
- */
-public interface IndexedDeclarationAnnotationElementAdapter<T>
-	extends DeclarationAnnotationElementAdapter<T[]>
-{
-	/**
-	 * Given the specified declaration, return the expression at the specified
-	 * index.
-	 * @throws IndexOutOfBoundsException if the index is out of range
-	 */
-	Expression selectExpression(ModifiedDeclaration declaration, int index);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedExpressionConverter.java
deleted file mode 100644
index 3589bc6..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/IndexedExpressionConverter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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: 
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.Expression;
-
-/**
- * A type of {@link ExpressionConverter} that can further retrieve sub-expressions
- * based on indices.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * <p>
- * This interface is not intended to be implemented by clients.
- */
-public interface IndexedExpressionConverter<T>
-	extends ExpressionConverter<T[]>
-{
-	/**
-	 * Return the expression at the specified index of the specified expression.
-	 * @throws ArrayIndexOutOfBoundsException if the index is out of range
-	 */
-	Expression selectExpression(Expression expression, int index);
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Member.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Member.java
deleted file mode 100644
index 8b9f398..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Member.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-/**
- * Dali manipulates annotations on members (types, fields, and methods).
- * This interface simplifies those manipulations.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface Member extends AnnotatedElement {
-
-	/**
-	 * Return whether the member is persistable.
-	 */
-	boolean isPersistable(CompilationUnit astRoot);
-
-	/**
-	 * Return whether the member matches the specified member
-	 * and occurrence.
-	 */
-	boolean matches(String memberName, int occurrence);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/MethodAttribute.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/MethodAttribute.java
deleted file mode 100644
index 2eca93d..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/MethodAttribute.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IMethodBinding;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jpt.common.utility.MethodSignature;
-
-/**
- * Method attribute: just some covariant overrides.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface MethodAttribute extends Attribute {
-
-	/**
-	 * Covariant override.
-	 */
-	IMethodBinding getBinding(CompilationUnit astRoot);
-
-	/**
-	 * Covariant override.
-	 */
-	MethodDeclaration getBodyDeclaration(CompilationUnit astRoot);
-
-	/**
-	 * This method must be used instead of Member#matches(String, int).
-	 */
-	boolean matches(MethodSignature signature, int occurrence);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/ModifiedDeclaration.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/ModifiedDeclaration.java
deleted file mode 100644
index 331e539..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/ModifiedDeclaration.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-
-/**
- * Define a wrapper that provides a common protocol for all the various AST
- * declarations that have modifiers (i.e. there are a number of AST node
- * classes that implement the method #modifiers(), but they do not implement
- * a common interface):
- *     BodyDeclaration
- *     SingleVariableDeclaration
- *     VariableDeclarationExpression
- *     VariableDeclarationStatement
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface ModifiedDeclaration {
-
-	/**
-	 * Return the "declaration" AST node.
-	 */
-	ASTNode getDeclaration();
-
-	/**
-	 * Return the "declaration" AST.
-	 */
-	AST getAst();
-
-	/**
-	 * Return the *first* annotation with the specified name.
-	 * Return null if the declaration has no such annotation.
-	 */
-	Annotation getAnnotationNamed(String annotationName);
-
-	/**
-	 * Remove the *first* annotation with the specified name from the declaration.
-	 */
-	void removeAnnotationNamed(String annotationName);
-
-	/**
-	 * Replace the specified old annotation with the specified new annotation.
-	 * If there is no annotation with the specified name, simply add the new
-	 * annotation to the declaration's modifiers.
-	 */
-	void replaceAnnotationNamed(String oldAnnotationName, Annotation newAnnotation);
-
-	/**
-	 * Add the specified import to the declaration's compilation unit.
-	 * Return whether the appropriate import was added to or already present in
-	 * the declaration's compilation unit (i.e. the specified class can be
-	 * subsequently referenced using a "short" name).
-	 * Also return true if an import was unnecessary (i.e. the specified class
-	 * is part of the "default" package).
-	 * This does not support adding a "wildcard" import (e.g. "java.util.*").
-	 */
-	boolean addImport(String className);
-
-	/**
-	 * Add the specified static import to the declaration's compilation unit.
-	 * Return whether the appropriate import was added to or already present in
-	 * the declaration's compilation unit (i.e. the specified constant can be
-	 * subsequently referenced using a "short" name).
-	 * Also return true if an import was unnecessary (i.e. the specified enum
-	 * is part of the "default" package).
-	 * This does not support adding a "wildcard" import (e.g. "java.lang.annotation.ElementType.*").
-	 */
-	boolean addStaticImport(String enumConstantName);
-
-	/**
-	 * Add the specified import to the declaration's compilation unit.
-	 * Return whether the appropriate import was added to or already present in
-	 * the declaration's compilation unit (i.e. the specified name can be
-	 * subsequently referenced using a "short" name).
-	 * Also return true if an import was unnecessary (i.e. the specified class
-	 * or enum is part of the "default" package).
-	 * This does not support adding a "wildcard" import (e.g. "java.util.*").
-	 */
-	boolean addImport(String importName, boolean static_);
-
-	/**
-	 * Return whether the specified annotation has the specified
-	 * (fully-qualified) name within the declaration's context; i.e. attempt
-	 * to resolve the annotation's name (using imports etc.) and return
-	 * whether it matches the specified name.
-	 */
-	boolean annotationIsNamed(Annotation annotation, String name);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Type.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Type.java
deleted file mode 100644
index 5a3a6a5..0000000
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/utility/jdt/Type.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.utility.jdt;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-
-/**
- * Type: nestedTypes, nestedEnums, fields, and methods.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * This interface is not intended to be implemented by clients.
- */
-public interface Type extends AbstractType {
-
-	/**
-	 * Covariant override.
-	 */
-	TypeDeclaration getBodyDeclaration(CompilationUnit astRoot);
-
-	/**
-	 * Return the type's nested types (does not include annotations or enums).
-	 */
-	TypeDeclaration[] getTypes(CompilationUnit astRoot);
-
-	/**
-	 * Return the type's nested enums.
-	 */
-	EnumDeclaration[] getEnums(CompilationUnit astRoot);
-
-	/**
-	 * Return the type's fields.
-	 */
-	FieldDeclaration[] getFields(CompilationUnit astRoot);
-
-	/**
-	 * Return the type's methods.
-	 */
-	MethodDeclaration[] getMethods(CompilationUnit astRoot);
-
-}
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/.cvsignore b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/.project b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/.project
deleted file mode 100644
index 9427ca0..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.eclipselink.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/META-INF/MANIFEST.MF b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index 2bb1128..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.common.eclipselink.branding;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.html b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.ini b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.ini
deleted file mode 100644
index 6c107d4..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.mappings b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.properties b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.properties
deleted file mode 100644
index 129f69e..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - EclipseLink Common\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Oracle contributors and others 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/build.properties b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/build.properties
deleted file mode 100644
index 6c20e3b..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/component.xml b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/component.xml
deleted file mode 100644
index a433d25..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.common.eclipselink.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.common.eclipselink.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.eclipselink.core" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/icons/WTP_icon_x32_v2.png b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/plugin.properties b/common/plugins/org.eclipse.jpt.common.eclipselink.branding/plugin.properties
deleted file mode 100644
index 11a79f2..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.branding/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - EclipseLink Common
-providerName = Eclipse Web Tools Platform
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/.classpath b/common/plugins/org.eclipse.jpt.common.eclipselink.core/.classpath
deleted file mode 100644
index 042690f..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/.classpath
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<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">
-		<accessrules>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/model/value/**"/>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/internal/model/listener/awt/**"/>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/internal/model/value/**"/>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/internal/swing/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/.cvsignore b/common/plugins/org.eclipse.jpt.common.eclipselink.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/.project b/common/plugins/org.eclipse.jpt.common.eclipselink.core/.project
deleted file mode 100644
index 4179bd9..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.eclipselink.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/.settings/org.eclipse.jdt.core.prefs b/common/plugins/org.eclipse.jpt.common.eclipselink.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 1322043..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:06:31 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/META-INF/MANIFEST.MF b/common/plugins/org.eclipse.jpt.common.eclipselink.core/META-INF/MANIFEST.MF
deleted file mode 100644
index a0ad89c..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.common.eclipselink.core;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.jpt.common.eclipselink.core.JptCommonEclipseLinkCorePlugin
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.4.200,2.0.0)",
- org.eclipse.wst.xml.core;bundle-version="[1.1.600,2.0.0)"
-Export-Package: org.eclipse.jpt.common.eclipselink.core,
- org.eclipse.jpt.common.eclipselink.core.internal;
-  x-friends:="org.eclipse.jpt.jpa.eclipselink.core,
-   org.eclipse.jpt.jaxb.eclipselink.core",
- org.eclipse.jpt.common.eclipselink.core.internal.libval;
-  x-friends:="org.eclipse.jpt.jpa.eclipselink.core,
-   org.eclipse.jpt.jaxb.eclipselink.core"
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/about.html b/common/plugins/org.eclipse.jpt.common.eclipselink.core/about.html
deleted file mode 100644
index be534ba..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/build.properties b/common/plugins/org.eclipse.jpt.common.eclipselink.core/build.properties
deleted file mode 100644
index d5ecbb9..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/,\
-               property_files/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.xml,\
-               plugin.properties,\
-               schemas/
-src.includes = schemas/
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/plugin.properties b/common/plugins/org.eclipse.jpt.common.eclipselink.core/plugin.properties
deleted file mode 100644
index c3865d8..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - Common EclipseLink Core
-providerName = Eclipse Web Tools Platform
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/plugin.xml b/common/plugins/org.eclipse.jpt.common.eclipselink.core/plugin.xml
deleted file mode 100644
index c03f926..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/plugin.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
-  Copyright (c) 2011 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:
-    Oracle - initial API and implementation
- -->
- 
-<plugin>
-	
-	<!--
-	******************************************
-	* Library Provider Framework Integration *
-	******************************************
-	-->
-	
-	<extension point="org.eclipse.jst.common.project.facet.core.downloadableLibraries">
-		
-		<import-definitions 
-			url="http://www.eclipse.org/webtools/dali/dev/eclipselink/eclipselink-downloadable-libs.xml">
-			<enablement>
-				<with variable="requestingProjectFacet">
-					<or>
-						<test 
-							property="org.eclipse.wst.common.project.facet.core.projectFacet" 
-							value="jpt.jaxb" 
-							forcePluginActivation="true"/>
-						<test 
-							property="org.eclipse.wst.common.project.facet.core.projectFacet" 
-							value="jpt.jpa" 
-							forcePluginActivation="true"/>
-					</or>	
-				</with>
-			</enablement>
-		</import-definitions>
-		
-	</extension>
-	
-	
-	<!--
-	******************************************
-	* EclipseLink schemas                    *
-	******************************************
-	-->
-	
-	<extension 
-		point="org.eclipse.wst.xml.core.catalogContributions">
-		
-		<catalogContribution id="default">
-
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_0.xsd"
-				uri="schemas/eclipselink_orm_1_0.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_1.xsd"
-				uri="schemas/eclipselink_orm_1_1.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_2.xsd"
-				uri="schemas/eclipselink_orm_1_2.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_0.xsd"
-				uri="schemas/eclipselink_orm_2_0.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_1.xsd"
-				uri="schemas/eclipselink_orm_2_1.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_2.xsd"
-				uri="schemas/eclipselink_orm_2_2.xsd"/>
-
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_3.xsd"
-				uri="schemas/eclipselink_orm_2_3.xsd"/>
-
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_4.xsd"
-				uri="platform:/plugin/org.eclipse.persistence.jpa/org/eclipse/persistence/jpa/eclipselink_orm_2_4.xsd"/>
-
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_oxm_2_0.xsd"
-				uri="schemas/eclipselink_oxm_2_0.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_oxm_2_1.xsd"
-				uri="schemas/eclipselink_oxm_2_1.xsd"/>
-   			
-   			<uri
-         		name="http://www.eclipse.org/eclipselink/xsds/eclipselink_oxm_2_2.xsd"
-         		uri="schemas/eclipselink_oxm_2_2.xsd"/>
-
-			<uri
-         		name="http://www.eclipse.org/eclipselink/xsds/eclipselink_oxm_2_3.xsd"
-         		uri="schemas/eclipselink_oxm_2_3.xsd"/>
-
-			<uri
-         		name="http://www.eclipse.org/eclipselink/xsds/eclipselink_oxm_2_4.xsd"
-         		uri="platform:/plugin/org.eclipse.persistence.moxy/org/eclipse/persistence/jaxb/eclipselink_oxm_2_4.xsd"/>
-
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_persistence_map_1.0.xsd"
-				uri="platform:/plugin/org.eclipse.persistence.core/org/eclipse/persistence/eclipselink_persistence_map_1.0.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_persistence_map_1.1.xsd"
-				uri="schemas/eclipselink_persistence_map_1.1.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_persistence_map_1.2.xsd"
-				uri="schemas/eclipselink_persistence_map_1.2.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_persistence_map_2.0.xsd"
-				uri="schemas/eclipselink_persistence_map_2.0.xsd"/>
-
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_persistence_map_2.3.xsd"
-				uri="platform:/plugin/org.eclipse.persistence.core/org/eclipse/persistence/eclipselink_persistence_map_2.3.xsd"/>
-			
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_sessions_1.0.xsd"
-				uri="schemas/eclipselink_sessions_1.0.xsd"/>
-				
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_sessions_1.1.xsd"
-				uri="schemas/eclipselink_sessions_1.1.xsd"/>	
-						
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_sessions_1.2.xsd"
-				uri="schemas/eclipselink_sessions_1.2.xsd"/>
-				
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_sessions_2.0.xsd"
-				uri="schemas/eclipselink_sessions_2.0.xsd"/>	
-
-			<uri
-				name="http://www.eclipse.org/eclipselink/xsds/eclipselink_sessions_2.1.xsd"
-				uri="platform:/plugin/org.eclipse.persistence.core/org/eclipse/persistence/eclipselink_sessions_2.1.xsd"/>	
-			
-		</catalogContribution>
-		
-    </extension>
-	
-</plugin>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/property_files/jpt_common_eclipselink_core.properties b/common/plugins/org.eclipse.jpt.common.eclipselink.core/property_files/jpt_common_eclipselink_core.properties
deleted file mode 100644
index 7b7ba92..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/property_files/jpt_common_eclipselink_core.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-################################################################################
-# Copyright (c) 2010 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-EclipseLinkLibraryValidator_noEclipseLinkVersion=Selected libraries do not include required EclipseLink annotation classes.
-EclipseLinkLibraryValidator_multipleEclipseLinkVersions=There are multiple versions of EclipseLink in selected libraries.
-EclipseLinkLibraryValidator_improperEclipseLinkVersion=EclipseLink version does not meet platform requirements.
-
-ELJaxbUserLibraryValidator_noXjcClasses=Class generation may not be available if com.sun.tools.xjc and com.sun.xml.bind jars are not on project classpath.
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_0.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_0.xsd
deleted file mode 100644
index af1d1da..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_0.xsd
+++ /dev/null
@@ -1,3128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Java Persistence API object-relational mapping file schema -->
-<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-  elementFormDefault="qualified" 
-  attributeFormDefault="unqualified" 
-  version="1.0">
-
-  <xsd:annotation>
-    <xsd:documentation>
-      @(#)eclipselink_orm_1_0.xsd 1.0  February 1 2008
-    </xsd:documentation>
-  </xsd:annotation>
-  <xsd:annotation>
-     <xsd:documentation><![CDATA[
-
-       This is the XML Schema for the new native EclipseLink XML metadata
-       format used for JPA and native deployment xml files. 
-
-     ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:complexType name="emptyType"/>
-
-  <xsd:simpleType name="versionType">
-    <xsd:restriction base="xsd:token">
-      <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:element name="entity-mappings">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation>
-
-        The entity-mappings element is the root element of an mapping
-        file. It contains the following four types of elements:
-
-        1. The persistence-unit-metadata element contains metadata
-        for the entire persistence unit. It is undefined if this element
-        occurs in multiple mapping files within the same persistence unit.
-        
-        2. The package, schema, catalog and access elements apply to all of
-        the entity, mapped-superclass and embeddable elements defined in
-        the same file in which they occur.
-
-        3. The sequence-generator, table-generator, named-query,
-        named-native-query and sql-result-set-mapping elements are global
-        to the persistence unit. It is undefined to have more than one
-        sequence-generator or table-generator of the same name in the same
-        or different mapping files in a persistence unit. It is also 
-        undefined to have more than one named-query or named-native-query
-        of the same name in the same or different mapping files in a 
-        persistence unit.
-
-        4. The entity, mapped-superclass and embeddable elements each define
-        the mapping information for a managed persistent class. The mapping
-        information contained in these elements may be complete or it may
-        be partial.
-
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:sequence>
-        <xsd:element name="description" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="persistence-unit-metadata" 
-                     type="orm:persistence-unit-metadata"
-                     minOccurs="0"/>
-        <xsd:element name="package" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="converter" type="orm:converter" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="type-converter" type="orm:type-converter" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="sequence-generator" type="orm:sequence-generator"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="table-generator" type="orm:table-generator" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-query" type="orm:named-query" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-native-query" type="orm:named-native-query"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query"
-                     minOccurs="0" maxOccurs="unbounded"/>             
-        <xsd:element name="sql-result-set-mapping" 
-                     type="orm:sql-result-set-mapping" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="mapped-superclass" type="orm:mapped-superclass" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="entity" type="orm:entity" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embeddable" type="orm:embeddable" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" type="orm:versionType" 
-                     fixed="1.0" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-metadata">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Metadata that applies to the persistence unit and not just to 
-        the mapping file in which it is contained. 
-
-        If the xml-mapping-metadata-complete element is specified then 
-        the complete set of mapping metadata for the persistence unit 
-        is contained in the XML mapping files for the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="exclude-default-mappings" type="orm:emptyType"
-                   minOccurs="0"/>             
-      <xsd:element name="persistence-unit-defaults" 
-                   type="orm:persistence-unit-defaults"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-defaults">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        These defaults are applied to the persistence unit as a whole 
-        unless they are overridden by local annotation or XML 
-        element settings. 
-        
-        schema - Used as the schema for all tables or secondary tables
-            that apply to the persistence unit
-        catalog - Used as the catalog for all tables or secondary tables
-            that apply to the persistence unit
-        access - Used as the access type for all managed classes in
-            the persistence unit
-        cascade-persist - Adds cascade-persist to the set of cascade options
-            in entity relationships of the persistence unit
-        entity-listeners - List of default entity listeners to be invoked 
-            on each entity in the persistence unit. 
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="cascade-persist" type="orm:emptyType" 
-                     minOccurs="0"/>
-        <xsd:element name="entity-listeners" type="orm:entity-listeners"
-                     minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for an entity. Is allowed to be
-        sparsely populated and used in conjunction with the annotations.
-        Alternatively, the metadata-complete attribute can be used to 
-        indicate that no annotations on the entity class (and its fields
-        or properties) are to be processed. If this is the case then 
-        the defaulting rules for the entity and its subelements will 
-        be recursively applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-          public @interface Entity {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" 
-                   minOccurs="0"/>
-      <xsd:element name="table" type="orm:table" minOccurs="0"/>
-      <xsd:element name="secondary-table" type="orm:secondary-table" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="primary-key-join-column" 
-                   type="orm:primary-key-join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
-      <xsd:element name="discriminator-value" type="orm:discriminator-value" 
-                   minOccurs="0"/>
-      <xsd:element name="discriminator-column" 
-                   type="orm:discriminator-column" 
-                   minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking"
-                   minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="named-query" type="orm:named-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query"
-                   minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="sql-result-set-mapping" 
-                   type="orm:sql-result-set-mapping" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attributes">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element contains the entity field or property mappings.
-        It may be sparsely populated to include only a subset of the
-        fields or properties. If metadata-complete for the entity is true
-        then the remainder of the attributes will be defaulted according
-        to the default rules.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="id" type="orm:id" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embedded-id" type="orm:embedded-id" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="basic" type="orm:basic"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-collection" type="orm:basic-collection"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-map" type="orm:basic-map"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="version" type="orm:version"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-one" type="orm:many-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-many" type="orm:one-to-many"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-one" type="orm:one-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="variable-one-to-one" type="orm:variable-one-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-many" type="orm:many-to-many" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="embedded" type="orm:embedded"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transformation" type="orm:transformation"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transient" type="orm:transient"
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="access-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element determines how the persistence provider accesses the
-        state of an entity or embedded object.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="PROPERTY"/>
-      <xsd:enumeration value="FIELD"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listeners">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface EntityListeners {
-          Class[] value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-listener" type="orm:entity-listener" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listener">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines an entity listener to be invoked at lifecycle events
-        for the entities that list this listener.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PrePersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostPersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-load">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostLoad {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>
-        A user defined mapping's property.
-		@Target({METHOD, FIELD, TYPE})
-		@Retention(RUNTIME)
-		public @interface Property {
-			/**
-			* Property name.
-			*/ 
-			String name();
-			
-			/**
-			* String representation of Property value,
-			* converted to an instance of valueType.
-			*/ 
-			String value();
-			
-			/**
-			* Property value type.
-			* The value converted to valueType by ConversionManager.
-			* If specified must be a simple type that could be handled by 
-			* ConversionManager: 
-			* numerical, boolean, temporal.  
-			*/ 
-			Class valueType() default String.class;
-		}
-	</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="value-type" type="xsd:string"/>
-    </xsd:complexType>
-    
-    <!-- **************************************************** -->
-
-  <xsd:complexType name="query-hint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME) 
-        public @interface QueryHint {
-          String name();
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-native-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedNativeQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-          Class resultClass() default void.class;
-          String resultSetMapping() default ""; //named SqlResultSetMapping
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sql-result-set-mapping">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SqlResultSetMapping {
-          String name();
-          EntityResult[] entities() default {};
-          ColumnResult[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-result" type="orm:entity-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="column-result" type="orm:column-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface EntityResult {
-          Class entityClass();
-          FieldResult[] fields() default {};
-          String discriminatorColumn() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field-result" type="orm:field-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
-    <xsd:attribute name="discriminator-column" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="field-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface FieldResult {
-          String name();
-          String column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="column" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface ColumnResult {
-          String name();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Table {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="secondary-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SecondaryTable {
-          String name();
-          String catalog() default "";
-          String schema() default "";
-          PrimaryKeyJoinColumn[] pkJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-         }
-
-       </xsd:documentation>
-     </xsd:annotation>
-     <xsd:sequence>
-       <xsd:element name="primary-key-join-column" 
-                    type="orm:primary-key-join-column" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-       <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="unique-constraint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface UniqueConstraint {
-          String[] columnNames();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column-name" type="xsd:string" 
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Column {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="generation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="TABLE"/>
-      <xsd:enumeration value="SEQUENCE"/>
-      <xsd:enumeration value="IDENTITY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="access-methods">
-    <xsd:annotation>
-      <xsd:documentation>
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="get-method" type="xsd:string" use="required"/>
-    <xsd:attribute name="set-method" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attribute-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AttributeOverride {
-          String name();
-          Column column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="association-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AssociationOverride {
-          String name();
-          JoinColumn[] joinColumns();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column"
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface IdClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Id {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded-id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface EmbeddedId {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transient">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Transient {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="version">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Version {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Basic {
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="lob" type="orm:lob" minOccurs="0"/>
-        <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
-        <xsd:element name="enumerated" type="orm:enumerated" minOccurs="0"/>
-        <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="read-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-		/**
-		 * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-		 * Unless the TransformationMapping is write-only, it should have a 
-		 * ReadTransformer, it defines transformation of database column(s) 
-		 * value(s)into attribute value.
-		 *  
-		 * Also unless it's a read-only mapping, either WriteTransformer 
-		 * annotation or WriteTransformers annotation should be specified. Each 
-		 * WriteTransformer defines transformation of the attribute value to a 
-		 * single database column value (column is specified in the 
-		 * WriteTransformer). 
-		 */ 
-		@Target({METHOD, FIELD})
-		@Retention(RUNTIME)
-		public @interface ReadTransformer {
-		    /**
-		     * User-defined class that must implement the 
-		     * org.eclipse.persistence.mappings.transformers.AttributeTransformer 
-		     * interface. The class will be instantiated, its 
-		     * buildAttributeValue will be used to create the value to be 
-		     * assigned to the attribute.
-		     * Either transformerClass or method must be specified, but not both.
-		     */ 
-		    Class transformerClass() default void.class;
-		
-		    /**
-		     * The mapped class must have a method with this name which returns 
-		     * a value to be assigned to the attribute (not assigns the value to 
-		     * the attribute). Either transformerClass or method must be 
-		     * specified, but not both.
-		     */ 
-		    String method() default "";
-		}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="write-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-		/**
-		 * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-		 * WriteTransformer defines transformation of the attribute value to a 
-		 * single database column value (column is specified in the 
-		 * WriteTransformer).
-		 *  
-		 * A single WriteTransformer may be specified directly on the method or 
-		 * attribute. Multiple WriteTransformers should be wrapped into 
-		 * WriteTransformers annotation. No WriteTransformers specified for 
-		 * read-only mapping. Unless the TransformationMapping is write-only, it 
-		 * should have a ReadTransformer, it defines transformation of database 
-		 * column(s) value(s)into attribute value.
-		 */ 
-		@Target({METHOD, FIELD})
-		@Retention(RUNTIME)
-		public @interface WriteTransformer {
-		    /**
-		     * User-defined class that must implement the 
-		     * org.eclipse.persistence.mappings.transformers.FieldTransformer 
-		     * interface. The class will be instantiated, its buildFieldValue 
-		     * will be used to create the value to be written into the database 
-		     * column. Note that for ddl generation and returning to be 
-		     * supported the method buildFieldValue in the class should be 
-		     * defined to return the relevant Java type, not just Object as 
-		     * defined in the interface, for instance:
-		     * public Time buildFieldValue(Object instance, String fieldName, Session session).
-		     * Either transformerClass or method must be specified, but not both.
-		     */ 
-		    Class transformerClass() default void.class;
-		
-		    /**
-		     * The mapped class must have a method with this name which returns 
-		     * a value to be written into the database column.
-		     * Note that for ddl generation and returning to be supported the 
-		     * method should be defined to return a particular type, not just 
-		     * Object, for instance:
-		     * public Time getStartTime().
-		     * The method may require a Transient annotation to avoid being 
-		     * mapped as Basic by default.
-		     * Either transformerClass or method must be specified, but not both.
-		     */ 
-		    String method() default "";
-		
-		    /**
-		     * Specify here the column into which the value should be written.
-		     * The only case when this could be skipped is if a single 
-		     * WriteTransformer annotates an attribute - the attribute's name 
-		     * will be used as a column name.
-		     */ 
-		    Column column() default @Column;
-		}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="transformation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-		/**
-		 * Transformation is an optional annotation for 
-		 * org.eclipse.persistence.mappings.TransformationMapping.
-		 * TransformationMapping allows to map an attribute to one or more 
-		 * database columns.
-		 * 
-		 * Transformation annotation is an optional part of 
-		 * TransformationMapping definition. Unless the TransformationMapping is 
-		 * write-only, it should have a ReadTransformer, it defines 
-		 * transformation of database column(s) value(s)into attribute value.
-		 * Also unless it's a read-only mapping, either WriteTransformer 
-		 * annotation or WriteTransformers annotation should be specified. Each 
-		 * WriteTransformer defines transformation of the attribute value to a 
-		 * single database column value (column is specified in the 
-		 * WriteTransformer). 
-		 */ 
-		@Target({METHOD, FIELD})
-		@Retention(RUNTIME)
-		public @interface Transformation {
-		    /**
-		     * (Optional) Defines whether the value of the field or property 
-		     * should be lazily loaded or must be eagerly fetched. The EAGER 
-		     * strategy is a requirement on the persistence provider runtime 
-		     * that the value must be eagerly fetched. The LAZY strategy is a 
-		     * hint to the persistence provider runtime. If not specified, 
-		     * defaults to EAGER.
-		     */
-		    FetchType fetch() default EAGER;
-		    
-		    /**
-		     * (Optional) The optional element is a hint as to whether the value
-		     *  of the field or property may be null. It is disregarded
-		     *  for primitive types, which are considered non-optional.
-		     */
-		    boolean optional() default true;
-		}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="read-transformer" type="orm:read-transformer"/>
-      <xsd:element name="write-transformer" type="orm:write-transformer" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum FetchType { LAZY, EAGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="LAZY"/>
-      <xsd:enumeration value="EAGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="lob">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Lob {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Temporal {
-          TemporalType value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:temporal-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum TemporalType {
-          DATE, // java.sql.Date
-          TIME, // java.sql.Time
-          TIMESTAMP // java.sql.Timestamp
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-      <xsd:restriction base="xsd:token">
-        <xsd:enumeration value="DATE"/>
-        <xsd:enumeration value="TIME"/>
-        <xsd:enumeration value="TIMESTAMP"/>
-     </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enumerated">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Enumerated {
-          EnumType value() default ORDINAL;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:enum-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enum-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum EnumType {
-          ORDINAL,
-          STRING
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ORDINAL"/>
-      <xsd:enumeration value="STRING"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>       
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      </xsd:choice>       
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="cascade-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade-all" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-merge" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-remove" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-refresh" type="orm:emptyType"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-      <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-      <xsd:choice>       
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:choice>       
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        public @interface JoinTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          JoinColumn[] inverseJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="inverse-join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-      <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-      <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="generated-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface GeneratedValue {
-          GenerationType strategy() default AUTO;
-          String generator() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:generation-type"/>
-    <xsd:attribute name="generator" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKey {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-by">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderBy {
-          String value() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="inheritance">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Inheritance {
-          InheritanceType strategy() default SINGLE_TABLE;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:inheritance-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="inheritance-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum InheritanceType
-          { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SINGLE_TABLE"/>
-      <xsd:enumeration value="JOINED"/>
-      <xsd:enumeration value="TABLE_PER_CLASS"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorValue {
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum DiscriminatorType { STRING, CHAR, INTEGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="STRING"/>
-      <xsd:enumeration value="CHAR"/>
-      <xsd:enumeration value="INTEGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface PrimaryKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorColumn {
-          String name() default "DTYPE";
-          DiscriminatorType discriminatorType() default STRING;
-          String columnDefinition() default "";
-          int length() default 31;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embeddable">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for embeddable objects. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        in the class. If this is the case then the defaulting rules will 
-        be recursively applied.
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Embeddable {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" 
-                   minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" 
-                   maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" 
-                   maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" 
-                   minOccurs="0"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Embedded {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="mapped-superclass">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for a mapped superclass. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        If this is the case then the defaulting rules will be recursively 
-        applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-        public @interface MappedSuperclass{}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" 
-                   minOccurs="0"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking"
-                   minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sequence-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface SequenceGenerator {
-          String name();
-          String sequenceName() default "";
-          int initialValue() default 1;
-          int allocationSize() default 50;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="sequence-name" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface TableGenerator {
-          String name();
-          String table() default "";
-          String catalog() default "";
-          String schema() default "";
-          String pkColumnName() default "";
-          String valueColumnName() default "";
-          String pkColumnValue() default "";
-          int initialValue() default 0;
-          int allocationSize() default 50;
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="pk-column-name" type="xsd:string"/>
-    <xsd:attribute name="value-column-name" type="xsd:string"/>
-    <xsd:attribute name="pk-column-value" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Converter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must implement
-           * the org.eclipse.persistence.mappings.converters.Converter interface.
-           */
-          Class converterClass(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface TypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-           String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence field 
-           * or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent field 
-           * or property.
-           */
-          Class objectType() default void.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ObjectTypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence
-           * field or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent 
-           * field or property.
-           */
-          Class objectType() default void.class;
-
-          /**
-           * (Required) Specify the conversion values to be used 
-           * with the object converter.
-           */
-          ConversionValue[] conversionValues();
-
-           /**
-            * (Optional) Specify a default object value. Used for 
-            * legacy data if the data value is missing.
-            */
-           String defaultObjectValue() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="conversion-value" type="orm:conversion-value" minOccurs="1" maxOccurs="unbounded"/>
-      <xsd:element name="default-object-value" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="conversion-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface ConversionValue {
-          /**
-           * (Required) Specify the database value.
-           */
-          String dataValue();
-
-          /**
-           * (Required) Specify the object value.
-           */
-          String objectValue();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="data-value" type="xsd:string" use="required"/>
-    <xsd:attribute name="object-value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="struct-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface StructConverter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must 
-           * implement the EclipseLink interface 
-           * org.eclipse.persistence.mappings.converters.Converter
-           */
-          String converter(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="converter" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CopyPolicy is used to set a 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
-         * It is required that a class that implements 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified 
-         * as the argument.
-         * 
-         * A CopyPolicy should be specified on an Entity or MappedSuperclass.
-         * 
-         * For instance:
-         * @Entity
-         * @CopyPolicy("example.MyCopyPolicy")
-         */
-        public @interface CopyPolicy {
-
-        /*
-        * (Required)
-        * This defines the class of the copy policy. It must specify a class 
-        * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
-        */
-        Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-    <!-- **************************************************** -->
-  
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * An InstantiationCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy 
-         * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in 
-         * EclipseLink and therefore this configuration option is only used to 
-         * override other types of copy policies
-         * 
-         * An InstantiationCopyPolicy should be specified on an Entity or 
-         * MappedSuperclass.
-         * 
-         * Example:
-         * @Entity
-         * @InstantiationCopyPolicy 
-         */
-        public @interface InstantiationCopyPolicy {
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CloneCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an 
-         * Entity. A CloneCopyPolicy must specify at one or both of the "method" 
-         * or "workingCopyMethod". "workingCopyMethod" is used to clone objects 
-         * that will be returned to the user as they are registered in 
-         * EclipseLink's transactional mechanism, the UnitOfWork. "method" will 
-         * be used for the clone that is used for comparison in conjunction with 
-         * EclipseLink's DeferredChangeDetectionPolicy
-         *  
-         * A CloneCopyPolicy should be specified on an Entity or 
-         * MappedSuperclass.
-         * 
-         * Example:
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod", workingCopyMethod="myWorkingCopyCloneMethod")
-         * 
-         * or:
-         * 
-          @Entity
-         * @CloneCopyPolicy(workingCopyMethodName="myWorkingCopyClone")
-         */
-        public @interface CloneCopyPolicy {
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified this defines 
-             * a method that will be used to create a clone that will be used 
-             * for comparison by
-             * EclipseLink's DeferredChangeDetectionPolicy
-             */
-            String method();
-            
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified
-             * this defines a method that will be used to create a clone that 
-             * will be used to create the object returned when registering an 
-             * Object in an EclipseLink UnitOfWork
-             */
-            String workingCopyMethod();
-            
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method" type="xsd:string"/>
-    <xsd:attribute name="working-copy-method" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface CollectionTable {
-          /**
-           * (Optional) The name of the collection table. If it is not 
-           * specified, it is defaulted to the concatenation of the following: 
-           * the name of the source entity; "_" ; the name of the relationship 
-           * property or field of the source entity.
-           */
-          String name() default ""; 
-
-          /**
-           * (Optional) The catalog of the table. It defaults to the persistence 
-           * unit default catalog.
-           */
-          String catalog() default ""; 
-
-          /**
-           * (Optional) The schema of the table. It defaults to the persistence 
-           * unit default schema.
-           */
-          String schema() default ""; 
-
-          /**
-           * (Optional) Used to specify a primary key column that is used as a 
-           * foreign key to join to another table. If the source entity uses a 
-           * composite primary key, a primary key join column must be specified 
-           * for each field of the composite primary key. In a single primary 
-           * key case, a primary key join column may optionally be specified. 
-           * Defaulting will apply otherwise as follows:
-           * name, the same name as the primary key column of the primary table 
-           * of the source entity. referencedColumnName, the same name of 
-           * primary key column of the primary table of the source entity.
-           */
-          PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {}; 
- 
-          /**
-           * (Optional) Unique constraints that are to be placed on the table. 
-           * These are only used if table generation is in effect.
-           */
-          UniqueConstraint[] uniqueConstraints() default {}; 
-       }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="basic-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicCollection {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY; 
- 
-          /**
-           * (Optional) The name of the value column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="collection-table" type="orm:collection-table" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="basic-map">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicMap {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY;
-
-          /**
-           * (Optional) The name of the data column that holds the direct map 
-           * key. If the name on te key column is "", the name will default to:
-           * the name of the property or field; "_key".
-           */
-          Column keyColumn();
-
-          /**
-           * (Optional) Specify the key converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the direct map key.
-           */
-          Convert keyConverter() default @Convert;
-
-          /**
-           * (Optional) The name of the data column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-
-          /**
-           * (Optional) Specify the value converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the value column mapping.
-           */
-          Convert valueConverter() default @Convert;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="key-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="key-converter" type="xsd:string"/>    
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="value-converter" type="xsd:string"/>    
-      <xsd:element name="collection-table" type="orm:collection-table" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum JoinFetchType {
-        /**
-         * An inner join is used to fetch the related object.
-         * This does not allow for null/empty values.
-         */
-        INNER,
-
-        /**
-         * An inner join is used to fetch the related object.
-         * This allows for null/empty values.
-         */
-        OUTER,
-      }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="INNER"/>
-      <xsd:enumeration value="OUTER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="optimistic-locking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An optimistic-locking element is used to specify the type of 
-         * optimistic locking EclipseLink should use when updating or deleting 
-         * entities. An optimistic-locking specification is supported on
-         * an entity or mapped-superclass.
-         * 
-         * It is used in conjunction with the optimistic-locking-type.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface OptimisticLocking {
-          /**
-           * (Optional) The type of optimistic locking policy to use.
-           */
-          OptimisticLockingType type() default VERSION_COLUMN;
-
-          /**
-           * (Optional) For an optimistic locking policy of type 
-           * SELECTED_COLUMNS, this annotation member becomes a (Required) 
-           * field.
-           */
-          Column[] selectedColumns() default {};
-
-          /**
-           * (Optional) Specify where the optimistic locking policy should 
-           * cascade lock. Currently only supported with VERSION_COLUMN locking.
-           */
-          boolean cascade() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="selected-column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="type" type="orm:optimistic-locking-type"/>
-    <xsd:attribute name="cascade" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:simpleType name="optimistic-locking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A simple type that is used within an optimistic-locking 
-         * specification to specify the type of optimistic-locking that
-         * EclipseLink should use when updating or deleting entities.
-         */
-        public enum OptimisticLockingType {
-          /**
-           * Using this type of locking policy compares every field in the table
-           * in the WHERE clause when doing an update or a delete. If any field
-           * has been changed, an optimistic locking exception will be thrown.
-           */
-          ALL_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares only the changed fields
-           * in the WHERE clause when doing an update. If any field has been
-           * changed, an optimistic locking exception will be thrown. A delete
-           * will only compare the primary key.
-           */
-          CHANGED_COLUMNS,
-
-          /**
-           * Using this type of locking compares selected fields in the WHERE
-           * clause when doing an update or a delete. If any field has been
-           * changed, an optimistic locking exception will be thrown. Note that
-           * the fields specified must be mapped and not be primary keys.
-           */
-          SELECTED_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares a single version number
-           * in the where clause when doing an update. The version field must be
-           * mapped and not be the primary key.
-           */
-          VERSION_COLUMN
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ALL_COLUMNS"/>
-      <xsd:enumeration value="CHANGED_COLUMNS"/>
-      <xsd:enumeration value="SELECTED_COLUMNS"/>
-      <xsd:enumeration value="VERSION_COLUMN"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-    
-  <xsd:complexType name="cache">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Cache annotation is used to set an 
-         * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy 
-         * which sets objects in EclipseLink's identity maps to be invalid 
-         * following given rules. By default in EclipseLink, objects do not 
-         * expire in the cache. Several different policies are available to 
-         * allow objects to expire.
-         * 
-         * @see org.eclipse.persistence.annotations.CacheType
-         * 
-         * A Cache anotation may be defined on an Entity or MappedSuperclass. 
-         * In the case of inheritance, a Cache annotation should only be defined 
-         * on the root of the inheritance hierarchy.
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Cache {
-          /**
-           * (Optional) The type of cache to use.
-           */ 
-          CacheType type() default SOFT_WEAK;
-
-          /**
-           * (Optional) The size of cache to use.
-           */ 
-          int size() default 100;
-
-	        /**
-	         * (Optional) Cached instances in the shared cache or a client 
-	         * isolated cache.
-	         */ 
-	        boolean shared() default true;
-	
-	        /**
-	         * (Optional) Expire cached instance after a fix period of time (ms). 
-	         * Queries executed against the cache after this will be forced back 
-	         * to the database for a refreshed copy
-	         */ 
-	        int expiry() default -1; // minus one is no expiry.
-	
-	        /**
-	         * (Optional) Expire cached instance a specific time of day. Queries 
-	         * executed against the cache after this will be forced back to the 
-	         * database for a refreshed copy
-	         */ 
-	        TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
-	
-	        /**
-	         * (Optional) Force all queries that go to the database to always 
-	         * refresh the cache.
-	         */ 
-	        boolean alwaysRefresh() default false;
-	
-	        /**
-	         * (Optional) For all queries that go to the database, refresh the
-	         * cache only if the data received from the database by a query is 
-	         * newer than the data in the cache (as determined by the optimistic 
-	         * locking field)
-	         */ 
-	        boolean refreshOnlyIfNewer() default false;
-	
-	        /**
-	         * (Optional) Setting to true will force all queries to bypass the 
-	         * cache for hits but still resolve against the cache for identity. 
-	         * This forces all queries to hit the database.
-	         */ 
-	        boolean disableHits() default false;
-	
-	        /**
-	         * (Optional) The cache coordination mode.
-	         */ 
-	        CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:choice>
-	    <xsd:element name="expiry" type="xsd:integer" minOccurs="0"/>
-	    <xsd:element name="expiry-time-of-day" type="orm:time-of-day" minOccurs="0"/>
-	  </xsd:choice>
-	  <xsd:attribute name="size" type="xsd:integer"/>
-	  <xsd:attribute name="shared" type="xsd:boolean"/>
-	  <xsd:attribute name="type" type="orm:cache-type"/>
-	  <xsd:attribute name="always-refresh" type="xsd:boolean"/>
-	  <xsd:attribute name="refresh-only-if-newer" type="xsd:boolean"/>
-	  <xsd:attribute name="disable-hits" type="xsd:boolean"/>
-	  <xsd:attribute name="coordination-type" type="orm:cache-coordination-type"/>
-	</xsd:complexType>
-
-  <!-- **************************************************** --> 
-
-	<xsd:simpleType name="cache-type">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-	      /** 
-         * The CacheType enum is used with the Cache annotation for a 
-         * persistent class. It defines the type of IdentityMap/Cache used for 
-         * the class. By default the SOFT_WEAK cache type is used.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */
-	      public enum CacheType {
-	        /**
-	         * Provides full caching and guaranteed identity. Caches all objects
-	         * and does not remove them. 
-	         * WARNING: This method may be memory intensive when many objects are 
-	         * read.
-	         */
-	        FULL,
-	
-	        /**
-	         * Similar to the FULL identity map except that the map holds the
-	         * objects using weak references. This method allows full garbage
-	         * collection and provides full caching and guaranteed identity.
-	         */
-	        WEAK,
-	
-	        /**
-	         * Similar to the FULL identity map except that the map holds the
-	         * objects using soft references. This method allows full garbage
-	         * collection when memory is low and provides full caching and
-	         * guaranteed identity.
-	         */
-	        SOFT,
-	
-	        /**
-	         * Similar to the WEAK identity map except that it maintains a
-	         * most-frequently-used sub-cache. The size of the sub-cache is
-	         * proportional to the size of the identity map as specified by
-	         * descriptor's setIdentityMapSize() method. The sub-cache
-	         * uses soft references to ensure that these objects are
-	         * garbage-collected only if the system is low on memory.
-	         */
-	        SOFT_WEAK,
-	
-	        /**
-	         * Identical to the soft cache weak (SOFT_WEAK) identity map except 
-	         * that it uses hard references in the sub-cache. Use this identity 
-	         * map if soft references do not behave properly on your platform.
-	         */
-	        HARD_WEAK,
-	
-	        /**
-	         * A cache identity map maintains a fixed number of objects
-	         * specified by the application. Objects are removed from the cache
-	         * on a least-recently-used basis. This method allows object
-	         * identity for the most commonly used objects.
-	         * WARNING: Furnishes caching and identity, but does not guarantee 
-	         * identity.
-	         */
-	        CACHE,
-	
-	        /**
-	         * WARNING: Does not preserve object identity and does not cache 
-	         * objects.
-	         */
-	        NONE
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="FULL"/>
-	    <xsd:enumeration value="WEAK"/>
-	    <xsd:enumeration value="SOFT"/>
-	    <xsd:enumeration value="SOFT_WEAK"/>
-	    <xsd:enumeration value="HARD_WEAK"/>
-	    <xsd:enumeration value="CACHE"/>
-	    <xsd:enumeration value="NONE"/>
-	  </xsd:restriction>
-	</xsd:simpleType>
-
-
-  <!-- **************************************************** -->  
-
-	<xsd:simpleType name="cache-coordination-type">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-	      /** 
-         * An enum that is used within the Cache annotation.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */ 
-	      public enum CacheCoordinationType {
-	        /**
-	         * Sends a list of changed objects including data about the changes.
-	         * This data is merged into the receiving cache.
-	         */
-	        SEND_OBJECT_CHANGES,
-	
-	         /**
-	          * Sends a list of the identities of the objects that have changed. 
-	          * The receiving cache invalidates the objects (rather than changing 
-	          * any of the data)
-	          */
-	         INVALIDATE_CHANGED_OBJECTS,
-	
-	         /**
-	          * Same as SEND_OBJECT_CHANGES except it also includes any newly
-	          * created objects from the transaction.
-	          */
-	         SEND_NEW_OBJECTS_WITH_CHANGES,
-	
-	         /**
-	          * Does no cache coordination.
-	          */
-	         NONE
-        }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="SEND_OBJECT_CHANGES"/>
-	    <xsd:enumeration value="INVALIDATE_CHANGED_OBJECTS"/>
-	    <xsd:enumeration value="SEND_NEW_OBJECTS_WITH_CHANGES"/>
-	    <xsd:enumeration value="NONE"/>
-	  </xsd:restriction>
-	</xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-	<xsd:complexType name="time-of-day">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-	      @Target({})
-	      @Retention(RUNTIME)
-	      public @interface TimeOfDay {
-	        /**
-	         * (Optional) Hour of the day.
-	         */ 
-	        int hour() default 0;
-	
-	        /**
-	         * (Optional) Minute of the day.
-	         */ 
-	        int minute() default 0;
-	
-	        /**
-	         * (Optional) Second of the day.
-	         */ 
-	        int second() default 0;
-	
-	        /**
-	         * (Optional) Millisecond of the day.
-	         */ 
-	        int millisecond() default 0;
-	
-	        /**
-	         * Internal use. Do not modify.
-	         */ 
-	        boolean specified() default true;
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:attribute name="hour" type="xsd:integer"/>
-	  <xsd:attribute name="minute" type="xsd:integer"/>
-	  <xsd:attribute name="second" type="xsd:integer"/>
-	  <xsd:attribute name="millisecond" type="xsd:integer"/>
-	</xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="change-tracking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The ChangeTracking annotation is used to specify the 
-         * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy 
-         * which computes changes sets for EclipseLink's UnitOfWork commit 
-         * process. An ObjectChangePolicy is stored on an Entity's descriptor.
-         *
-         * A ChangeTracking annotation may be specified on an Entity or 
-         * MappedSuperclass.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ChangeTracking {
-          /**
-           * (Optional) The type of change tracking to use.
-           */ 
-          ChangeTrackingType value() default AUTO;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:change-tracking-type" use="required"/>
-  </xsd:complexType>
- 
-  <!-- **************************************************** -->
- 
-  <xsd:simpleType name="change-tracking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the ChangeTracking annotation. 
-         */ 
-        public enum ChangeTrackingType {
-          /**
-           * An ATTRIBUTE change tracking type allows change tracking at the
-           * attribute level of an object. Objects with changed attributes will
-           * be processed in the commit process to include any changes in the 
-           * results of the commit. Unchanged objects will be ignored.
-           */
-          ATTRIBUTE,
-
-          /**
-           * An OBJECT change tracking policy allows an object to calculate for 
-           * itself whether it has changed. Changed objects will be processed in 
-           * the commit process to include any changes in the results of the 
-           * commit. Unchanged objects will be ignored.
-           */
-          OBJECT,
-
-          /**
-           * A DEFERRED change tracking policy defers all change detection to
-           * the UnitOfWork's change detection process. Essentially, the 
-           * calculateChanges() method will run for all objects in a UnitOfWork. 
-           * This is the default ObjectChangePolicy
-           */
-          DEFERRED,
-
-          /**
-           * Will not set any change tracking policy.
-           */
-          AUTO
-        }
-
-      </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="ATTRIBUTE"/>
-	    <xsd:enumeration value="OBJECT"/>
-	    <xsd:enumeration value="DEFERRED"/>
-	    <xsd:enumeration value="AUTO"/>
-	  </xsd:restriction>
-	</xsd:simpleType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="customizer">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-      /** 
-       * The Customizer annotation is used to specify a class that implements 
-       * the org.eclipse.persistence.internal.sessions.factories.DescriptorCustomizer 
-       * interface and is to run against an enetity's class descriptor after all 
-       * metadata processing has been completed.
-       *
-       * The Customizer annotation may be defined on an Entity, MappedSuperclass 
-       * or Embeddable class. In the case of inheritance, a Customizer is not 
-       * inherited from its parent classes. 
-       */ 
-	    @Target({TYPE})
-	    @Retention(RUNTIME)
-	    public @interface Customizer {
-	      /**
-	       * (Required) Defines the name of the descriptor customizer class that 
-	       * should be applied for the related entity or embeddable class.
-	       */
-	      Class value(); 
-	    }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:attribute name="class" type="xsd:string" use="required"/>
-	</xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="named-stored-procedure-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A NamedStoredProcedureQuery annotation allows the definition of 
-         * queries that call stored procedures as named queries.
-         
-         * A NamedStoredProcedureQuery annotation may be defined on an Entity or
-         * MappedSuperclass. 
-         */ 
-	      @Target({TYPE})
-	      @Retention(RUNTIME)
-	      public @interface NamedStoredProcedureQuery {
-	        /**
-	         * (Required) Unique name that references this stored procedure query.
-	         */
-	        String name();
-	
-	        /**
-	         * (Optional) Query hints.
-	         */
-	        QueryHint[] hints() default {};
-	
-	        /**
-	         * (Optional) Refers to the class of the result.
-	         */
-	        Class resultClass() default void.class;
-	
-	        /**
-	         * (Optional) The name of the SQLResultMapping.
-	         */
-	        String resultSetMapping() default "";
-	
-	        /**
-	         * (Required) The name of the stored procedure.
-	         */
-	        String procedureName();
-	
-	        /**
-	         * (Optional) Whether the query should return a result set.
-	         */
-	        boolean returnsResultSet() default true; 
-	
-	        /**
-	         * (Optional) Defines arguments to the stored procedure.
-	         */
-	        StoredProcedureParameter[] parameters() default {};
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	    <xsd:sequence>
-	      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" 
-	                   maxOccurs="unbounded"/>
-	      <xsd:element name="parameter" type="orm:stored-procedure-parameter" 
-	                   minOccurs="0" maxOccurs="unbounded"/>
-	    </xsd:sequence>
-	  <xsd:attribute name="name" type="xsd:string" use="required"/>
-	  <xsd:attribute name="result-class" type="xsd:string"/>
-	  <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-	  <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
-	  <xsd:attribute name="returns-result-set" type="xsd:boolean"/>
-	</xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="stored-procedure-parameter">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-        /** 
-         * A StoredProcedureParameter annotation is used within a 
-         * NamedStoredProcedureQuery annotation. 
-         */ 
-	      @Target({})
-	      @Retention(RUNTIME)
-	      public @interface StoredProcedureParameter {
-	        /**
-	         * (Optional) The direction of the stored procedure parameter.
-	         */
-	        Direction direction() default IN;
-	
-	        /**
-	         * (Optional) Stored procedure parameter name.
-	         */
-	        String name() default "";
-	
-	        /**
-	         * (Required) The query parameter name.
-	         */
-	        String queryParameter();
-	
-	        /**
-	         * (Optional) The type of Java class desired back from the procedure, 
-	         * this is dependent on the type returned from the procedure.
-	         */
-	        Class type() default void.class;
-	
-	        /**
-	         * (Optional) The JDBC type code, this dependent on the type returned 
-	         * from the procedure.
-	         */
-	        int jdbcType() default -1;
-	
-	        /**
-	         * (Optional) The JDBC type name, this may be required for ARRAY or 
-	         * STRUCT types.
-	         */
-	        String jdbcTypeName() default "";
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:attribute name="direction" type="orm:direction-type"/>
-	  <xsd:attribute name="name" type="xsd:string"/>
-	  <xsd:attribute name="query-parameter" type="xsd:string" use="required"/>
-	  <xsd:attribute name="type" type="xsd:string"/>
-	  <xsd:attribute name="jdbc-type" type="xsd:integer"/>
-	  <xsd:attribute name="jdbc-type-name" type="xsd:string"/>
-	</xsd:complexType>
-	
-	<!-- **************************************************** -->
-	
-	<xsd:simpleType name="direction-type">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-        /** 
-         * An enum that is used within the StoredProcedureParameter annotation.
-         * It is used to specify the direction of the stored procedure 
-         * parameters of a named stored procedure query.
-         */
-	      public enum Direction {
-	        /**
-	         * Input parameter
-	         */
-	        IN,
-	
-	        /**
-	         * Output parameter
-	         */
-	        OUT,
-	
-	        /**
-	         * Input and output parameter
-	         */
-	        IN_OUT,
-	
-	        /**
-	         * Output cursor
-	         */
-	        OUT_CURSOR
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="IN"/>
-	    <xsd:enumeration value="OUT"/>
-	    <xsd:enumeration value="IN_OUT"/>
-	    <xsd:enumeration value="OUT_CURSOR"/>
-	  </xsd:restriction>
-	</xsd:simpleType>
-	
-	<!-- **************************************************** -->
-	
-	<xsd:complexType name="variable-one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-				/** 
-				 * Variable one to one mappings are used to represent a pointer 
-				 * references between a java object and an implementer of an interface. 
-				 * This mapping is usually represented by a single pointer (stored in an 
-				 * instance variable) between the source and target objects. In the 
-				 * relational database tables, these mappings are normally implemented 
-				 * using a foreign key and a type code.
-				 * 
-				 * A VariableOneToOne can be specified within an Entity, 
-				 * MappedSuperclass and Embeddable class. 
-				 */ 
-				@Target({METHOD, FIELD}) 
-				@Retention(RUNTIME)
-				public @interface VariableOneToOne {
-				    /**
-				     * (Optional) The interface class that is the target of the 
-				     * association. If not specified it will be inferred from the type 
-				     * of the object being referenced.
-				     */
-				    Class targetInterface() default void.class;
-				    
-				    /**
-				     * (Optional) The operations that must be cascaded to the target of 
-				     * the association.
-				     */
-				    CascadeType[] cascade() default {};
-				    
-				    /**
-				     * (Optional) Defines whether the value of the field or property 
-				     * should be lazily loaded or must be eagerly fetched. The EAGER 
-				     * strategy is a requirement on the persistence provider runtime 
-				     * that the value must be eagerly fetched. The LAZY strategy is a 
-				     * hint to the persistence provider runtime. If not specified, 
-				     * defaults to EAGER.
-				     */
-				    FetchType fetch() default EAGER;
-				    
-				    /**
-				     * (Optional) Whether the association is optional. If set to false 
-				     * then a non-null relationship must always exist.
-				     */
-				    boolean optional() default true;
-				  
-				    /**
-				     * (Optional) The discriminator column will hold the type 
-				     * indicators. If the DiscriminatorColumn is not specified, the name 
-				     * of the discriminator column defaults to "DTYPE" and the 
-				     * discriminator type to STRING.
-				     */
-				    DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;
-				    
-            /**
-             * (Optional) The list of discriminator types that can be used with 
-             * this VariableOneToOne. If none are specified then those entities 
-             * within the persistence unit that implement the target interface 
-             * will be added to the list of types. The discriminator type will 
-             * default as follows:
-             *  - If DiscriminatorColumn type is STRING: Entity.name()
-             *  - If DiscriminatorColumn type is CHAR: First letter of the 
-             *    Entity class
-             *  - If DiscriminatorColumn type is INTEGER: The next integer after 
-             *    the highest integer explicitly added.
-             */
-				    DiscriminatorClass[] discriminatorClasses() default {};
-				}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column"
-                   minOccurs="0"/>
-      <xsd:element name="discriminator-class" type="orm:discriminator-class"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-interface" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A DiscriminatorClass is used within a VariableOneToOne annotation.
-         */ 
-        @Target({}) 
-        @Retention(RUNTIME)
-        public @interface DiscriminatorClass {
-          /**
-           * (Required) The discriminator to be stored on the database. 
-           */
-          String discriminator();
-
-          /**
-           * (Required) The class to the instantiated with the given 
-           * discriminator.
-           */
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="discriminator" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-	<xsd:simpleType name="existence-type">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	        /**
-           * The ExistenceChecking annotation is used to specify the type of 
-           * checking EclipseLink should use when updating entities.
-           * 
-           * An existence-checking specification is supported on an Entity or 
-           * MappedSuperclass annotation.
-           */
-          public @interface ExistenceChecking {
-            /**
-             * (Optional) Set the existence check for determining
-             * if an insert or update should occur for an object.
-             */
-             ExistenceType value() default CHECK_CACHE;
-          }
-          
-          /**
-           * Assume that if the objects primary key does not include null and 
-           * it is in the cache, then it must exist.
-           */
-          CHECK_CACHE,
-			
-          /**
-           * Perform does exist check on the database.
-           */
-          CHECK_DATABASE,
-			
-          /**
-           * Assume that if the objects primary key does not include null then 
-           * it must exist. This may be used if the application guarantees or 
-           * does not care about the existence check.
-           */
-          ASSUME_EXISTENCE,
-			
-          /**
-           * Assume that the object does not exist. This may be used if the 
-           * application guarantees or does not care about the existence check.  
-           * This will always force an insert to be called.
-           */
-          ASSUME_NON_EXISTENCE
-		
-      </xsd:documentation>
-    </xsd:annotation>	 
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="CHECK_CACHE" />
-	    <xsd:enumeration value="CHECK_DATABASE" />
-	    <xsd:enumeration value="ASSUME_EXISTENCE" />
-	    <xsd:enumeration value="ASSUME_NON_EXISTENCE"/>
-	  </xsd:restriction>
-	</xsd:simpleType>	
-	
-</xsd:schema>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_1.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_1.xsd
deleted file mode 100644
index 0d3ff17..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_1.xsd
+++ /dev/null
@@ -1,3248 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Java Persistence API object-relational mapping file schema -->
-<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-  elementFormDefault="qualified" 
-  attributeFormDefault="unqualified" 
-  version="1.1">
-
-  <xsd:annotation>
-    <xsd:documentation>
-      @(#)eclipselink_orm_1_1.xsd 1.1  February 4 2009
-    </xsd:documentation>
-  </xsd:annotation>
-  <xsd:annotation>
-     <xsd:documentation><![CDATA[
-
-       This is the XML Schema for the new native EclipseLink XML metadata
-       format used for JPA and native deployment xml files. 
-
-     ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:complexType name="emptyType"/>
-
-  <xsd:simpleType name="versionType">
-    <xsd:restriction base="xsd:token">
-      <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:element name="entity-mappings">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation>
-
-        The entity-mappings element is the root element of an mapping
-        file. It contains the following four types of elements:
-
-        1. The persistence-unit-metadata element contains metadata
-        for the entire persistence unit. It is undefined if this element
-        occurs in multiple mapping files within the same persistence unit.
-        
-        2. The package, schema, catalog and access elements apply to all of
-        the entity, mapped-superclass and embeddable elements defined in
-        the same file in which they occur.
-
-        3. The sequence-generator, table-generator, named-query,
-        named-native-query and sql-result-set-mapping elements are global
-        to the persistence unit. It is undefined to have more than one
-        sequence-generator or table-generator of the same name in the same
-        or different mapping files in a persistence unit. It is also 
-        undefined to have more than one named-query or named-native-query
-        of the same name in the same or different mapping files in a 
-        persistence unit.
-
-        4. The entity, mapped-superclass and embeddable elements each define
-        the mapping information for a managed persistent class. The mapping
-        information contained in these elements may be complete or it may
-        be partial.
-
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:sequence>
-        <xsd:element name="description" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="persistence-unit-metadata" 
-                     type="orm:persistence-unit-metadata"
-                     minOccurs="0"/>
-        <xsd:element name="package" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="converter" type="orm:converter" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="type-converter" type="orm:type-converter" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="sequence-generator" type="orm:sequence-generator"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="table-generator" type="orm:table-generator" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-query" type="orm:named-query" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-native-query" type="orm:named-native-query"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query"
-                     minOccurs="0" maxOccurs="unbounded"/>             
-        <xsd:element name="sql-result-set-mapping" 
-                     type="orm:sql-result-set-mapping" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="mapped-superclass" type="orm:mapped-superclass" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="entity" type="orm:entity" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embeddable" type="orm:embeddable" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" type="orm:versionType" 
-                     fixed="1.1" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-metadata">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Metadata that applies to the persistence unit and not just to 
-        the mapping file in which it is contained. 
-
-        If the xml-mapping-metadata-complete element is specified then 
-        the complete set of mapping metadata for the persistence unit 
-        is contained in the XML mapping files for the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="exclude-default-mappings" type="orm:emptyType"
-                   minOccurs="0"/>             
-      <xsd:element name="persistence-unit-defaults" 
-                   type="orm:persistence-unit-defaults"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-defaults">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        These defaults are applied to the persistence unit as a whole 
-        unless they are overridden by local annotation or XML 
-        element settings. 
-        
-        schema - Used as the schema for all tables or secondary tables
-            that apply to the persistence unit
-        catalog - Used as the catalog for all tables or secondary tables
-            that apply to the persistence unit
-        access - Used as the access type for all managed classes in
-            the persistence unit
-        cascade-persist - Adds cascade-persist to the set of cascade options
-            in entity relationships of the persistence unit
-        entity-listeners - List of default entity listeners to be invoked 
-            on each entity in the persistence unit. 
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="cascade-persist" type="orm:emptyType" 
-                     minOccurs="0"/>
-        <xsd:element name="entity-listeners" type="orm:entity-listeners"
-                     minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for an entity. Is allowed to be
-        sparsely populated and used in conjunction with the annotations.
-        Alternatively, the metadata-complete attribute can be used to 
-        indicate that no annotations on the entity class (and its fields
-        or properties) are to be processed. If this is the case then 
-        the defaulting rules for the entity and its subelements will 
-        be recursively applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-          public @interface Entity {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" 
-                   minOccurs="0"/>
-      <xsd:element name="table" type="orm:table" minOccurs="0"/>
-      <xsd:element name="secondary-table" type="orm:secondary-table" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="primary-key-join-column" 
-                   type="orm:primary-key-join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
-      <xsd:element name="discriminator-value" type="orm:discriminator-value" 
-                   minOccurs="0"/>
-      <xsd:element name="discriminator-column" 
-                   type="orm:discriminator-column" 
-                   minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking"
-                   minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="named-query" type="orm:named-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query"
-                   minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="sql-result-set-mapping" 
-                   type="orm:sql-result-set-mapping" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attributes">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element contains the entity field or property mappings.
-        It may be sparsely populated to include only a subset of the
-        fields or properties. If metadata-complete for the entity is true
-        then the remainder of the attributes will be defaulted according
-        to the default rules.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="id" type="orm:id" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embedded-id" type="orm:embedded-id" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="basic" type="orm:basic"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-collection" type="orm:basic-collection"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-map" type="orm:basic-map"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="version" type="orm:version"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-one" type="orm:many-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-many" type="orm:one-to-many"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-one" type="orm:one-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="variable-one-to-one" type="orm:variable-one-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-many" type="orm:many-to-many" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="embedded" type="orm:embedded"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transformation" type="orm:transformation"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transient" type="orm:transient"
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="access-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element determines how the persistence provider accesses the
-        state of an entity or embedded object.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="PROPERTY"/>
-      <xsd:enumeration value="FIELD"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listeners">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface EntityListeners {
-          Class[] value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-listener" type="orm:entity-listener" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listener">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines an entity listener to be invoked at lifecycle events
-        for the entities that list this listener.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PrePersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostPersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-load">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostLoad {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>
-        A user defined mapping's property.
-		@Target({METHOD, FIELD, TYPE})
-		@Retention(RUNTIME)
-		public @interface Property {
-			/**
-			* Property name.
-			*/ 
-			String name();
-			
-			/**
-			* String representation of Property value,
-			* converted to an instance of valueType.
-			*/ 
-			String value();
-			
-			/**
-			* Property value type.
-			* The value converted to valueType by ConversionManager.
-			* If specified must be a simple type that could be handled by 
-			* ConversionManager: 
-			* numerical, boolean, temporal.  
-			*/ 
-			Class valueType() default String.class;
-		}
-	</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="value-type" type="xsd:string"/>
-    </xsd:complexType>
-    
-    <!-- **************************************************** -->
-
-  <xsd:complexType name="query-hint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME) 
-        public @interface QueryHint {
-          String name();
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-native-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedNativeQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-          Class resultClass() default void.class;
-          String resultSetMapping() default ""; //named SqlResultSetMapping
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sql-result-set-mapping">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SqlResultSetMapping {
-          String name();
-          EntityResult[] entities() default {};
-          ColumnResult[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-result" type="orm:entity-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="column-result" type="orm:column-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface EntityResult {
-          Class entityClass();
-          FieldResult[] fields() default {};
-          String discriminatorColumn() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field-result" type="orm:field-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
-    <xsd:attribute name="discriminator-column" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="field-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface FieldResult {
-          String name();
-          String column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="column" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface ColumnResult {
-          String name();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Table {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="secondary-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SecondaryTable {
-          String name();
-          String catalog() default "";
-          String schema() default "";
-          PrimaryKeyJoinColumn[] pkJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-         }
-
-       </xsd:documentation>
-     </xsd:annotation>
-     <xsd:sequence>
-       <xsd:element name="primary-key-join-column" 
-                    type="orm:primary-key-join-column" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-       <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="unique-constraint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface UniqueConstraint {
-          String[] columnNames();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column-name" type="xsd:string" 
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Column {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="generation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="TABLE"/>
-      <xsd:enumeration value="SEQUENCE"/>
-      <xsd:enumeration value="IDENTITY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="access-methods">
-    <xsd:annotation>
-      <xsd:documentation>
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="get-method" type="xsd:string" use="required"/>
-    <xsd:attribute name="set-method" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attribute-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AttributeOverride {
-          String name();
-          Column column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="association-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AssociationOverride {
-          String name();
-          JoinColumn[] joinColumns();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column"
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface IdClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Id {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded-id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface EmbeddedId {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transient">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Transient {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="version">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Version {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal" />
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Basic {
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="lob" type="orm:lob"/>
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="enumerated" type="orm:enumerated"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="read-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-		/**
-		 * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-		 * Unless the TransformationMapping is write-only, it should have a 
-		 * ReadTransformer, it defines transformation of database column(s) 
-		 * value(s)into attribute value.
-		 *  
-		 * Also unless it's a read-only mapping, either WriteTransformer 
-		 * annotation or WriteTransformers annotation should be specified. Each 
-		 * WriteTransformer defines transformation of the attribute value to a 
-		 * single database column value (column is specified in the 
-		 * WriteTransformer). 
-		 */ 
-		@Target({METHOD, FIELD})
-		@Retention(RUNTIME)
-		public @interface ReadTransformer {
-		    /**
-		     * User-defined class that must implement the 
-		     * org.eclipse.persistence.mappings.transformers.AttributeTransformer 
-		     * interface. The class will be instantiated, its 
-		     * buildAttributeValue will be used to create the value to be 
-		     * assigned to the attribute.
-		     * Either transformerClass or method must be specified, but not both.
-		     */ 
-		    Class transformerClass() default void.class;
-		
-		    /**
-		     * The mapped class must have a method with this name which returns 
-		     * a value to be assigned to the attribute (not assigns the value to 
-		     * the attribute). Either transformerClass or method must be 
-		     * specified, but not both.
-		     */ 
-		    String method() default "";
-		}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="write-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-		/**
-		 * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-		 * WriteTransformer defines transformation of the attribute value to a 
-		 * single database column value (column is specified in the 
-		 * WriteTransformer).
-		 *  
-		 * A single WriteTransformer may be specified directly on the method or 
-		 * attribute. Multiple WriteTransformers should be wrapped into 
-		 * WriteTransformers annotation. No WriteTransformers specified for 
-		 * read-only mapping. Unless the TransformationMapping is write-only, it 
-		 * should have a ReadTransformer, it defines transformation of database 
-		 * column(s) value(s)into attribute value.
-		 */ 
-		@Target({METHOD, FIELD})
-		@Retention(RUNTIME)
-		public @interface WriteTransformer {
-		    /**
-		     * User-defined class that must implement the 
-		     * org.eclipse.persistence.mappings.transformers.FieldTransformer 
-		     * interface. The class will be instantiated, its buildFieldValue 
-		     * will be used to create the value to be written into the database 
-		     * column. Note that for ddl generation and returning to be 
-		     * supported the method buildFieldValue in the class should be 
-		     * defined to return the relevant Java type, not just Object as 
-		     * defined in the interface, for instance:
-		     * public Time buildFieldValue(Object instance, String fieldName, Session session).
-		     * Either transformerClass or method must be specified, but not both.
-		     */ 
-		    Class transformerClass() default void.class;
-		
-		    /**
-		     * The mapped class must have a method with this name which returns 
-		     * a value to be written into the database column.
-		     * Note that for ddl generation and returning to be supported the 
-		     * method should be defined to return a particular type, not just 
-		     * Object, for instance:
-		     * public Time getStartTime().
-		     * The method may require a Transient annotation to avoid being 
-		     * mapped as Basic by default.
-		     * Either transformerClass or method must be specified, but not both.
-		     */ 
-		    String method() default "";
-		
-		    /**
-		     * Specify here the column into which the value should be written.
-		     * The only case when this could be skipped is if a single 
-		     * WriteTransformer annotates an attribute - the attribute's name 
-		     * will be used as a column name.
-		     */ 
-		    Column column() default @Column;
-		}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="transformation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-		/**
-		 * Transformation is an optional annotation for 
-		 * org.eclipse.persistence.mappings.TransformationMapping.
-		 * TransformationMapping allows to map an attribute to one or more 
-		 * database columns.
-		 * 
-		 * Transformation annotation is an optional part of 
-		 * TransformationMapping definition. Unless the TransformationMapping is 
-		 * write-only, it should have a ReadTransformer, it defines 
-		 * transformation of database column(s) value(s)into attribute value.
-		 * Also unless it's a read-only mapping, either WriteTransformer 
-		 * annotation or WriteTransformers annotation should be specified. Each 
-		 * WriteTransformer defines transformation of the attribute value to a 
-		 * single database column value (column is specified in the 
-		 * WriteTransformer). 
-		 */ 
-		@Target({METHOD, FIELD})
-		@Retention(RUNTIME)
-		public @interface Transformation {
-		    /**
-		     * (Optional) Defines whether the value of the field or property 
-		     * should be lazily loaded or must be eagerly fetched. The EAGER 
-		     * strategy is a requirement on the persistence provider runtime 
-		     * that the value must be eagerly fetched. The LAZY strategy is a 
-		     * hint to the persistence provider runtime. If not specified, 
-		     * defaults to EAGER.
-		     */
-		    FetchType fetch() default EAGER;
-		    
-		    /**
-		     * (Optional) The optional element is a hint as to whether the value
-		     *  of the field or property may be null. It is disregarded
-		     *  for primitive types, which are considered non-optional.
-		     */
-		    boolean optional() default true;
-		}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="read-transformer" type="orm:read-transformer"/>
-      <xsd:element name="write-transformer" type="orm:write-transformer" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum FetchType { LAZY, EAGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="LAZY"/>
-      <xsd:enumeration value="EAGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="lob">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Lob {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Temporal {
-          TemporalType value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:temporal-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum TemporalType {
-          DATE, // java.sql.Date
-          TIME, // java.sql.Time
-          TIMESTAMP // java.sql.Timestamp
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-      <xsd:restriction base="xsd:token">
-        <xsd:enumeration value="DATE"/>
-        <xsd:enumeration value="TIME"/>
-        <xsd:enumeration value="TIMESTAMP"/>
-     </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enumerated">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Enumerated {
-          EnumType value() default ORDINAL;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:enum-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enum-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum EnumType {
-          ORDINAL,
-          STRING
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ORDINAL"/>
-      <xsd:enumeration value="STRING"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>       
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      </xsd:choice>       
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="cascade-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade-all" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-merge" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-remove" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-refresh" type="orm:emptyType"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-      <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-      <xsd:choice>       
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:choice>       
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" 
-                       minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        public @interface JoinTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          JoinColumn[] inverseJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="inverse-join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-      <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-      <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="generated-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface GeneratedValue {
-          GenerationType strategy() default AUTO;
-          String generator() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:generation-type"/>
-    <xsd:attribute name="generator" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKey {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-by">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderBy {
-          String value() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="inheritance">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Inheritance {
-          InheritanceType strategy() default SINGLE_TABLE;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:inheritance-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="inheritance-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum InheritanceType
-          { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SINGLE_TABLE"/>
-      <xsd:enumeration value="JOINED"/>
-      <xsd:enumeration value="TABLE_PER_CLASS"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorValue {
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum DiscriminatorType { STRING, CHAR, INTEGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="STRING"/>
-      <xsd:enumeration value="CHAR"/>
-      <xsd:enumeration value="INTEGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface PrimaryKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorColumn {
-          String name() default "DTYPE";
-          DiscriminatorType discriminatorType() default STRING;
-          String columnDefinition() default "";
-          int length() default 31;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embeddable">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for embeddable objects. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        in the class. If this is the case then the defaulting rules will 
-        be recursively applied.
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Embeddable {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" 
-                   minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" 
-                   maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" 
-                   maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" 
-                   minOccurs="0"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Embedded {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="mapped-superclass">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for a mapped superclass. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        If this is the case then the defaulting rules will be recursively 
-        applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-        public @interface MappedSuperclass{}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" 
-                   minOccurs="0"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking"
-                   minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" 
-                     minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sequence-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface SequenceGenerator {
-          String name();
-          String sequenceName() default "";
-          int initialValue() default 1;
-          int allocationSize() default 50;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="sequence-name" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface TableGenerator {
-          String name();
-          String table() default "";
-          String catalog() default "";
-          String schema() default "";
-          String pkColumnName() default "";
-          String valueColumnName() default "";
-          String pkColumnValue() default "";
-          int initialValue() default 0;
-          int allocationSize() default 50;
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="pk-column-name" type="xsd:string"/>
-    <xsd:attribute name="value-column-name" type="xsd:string"/>
-    <xsd:attribute name="pk-column-value" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Converter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must implement
-           * the org.eclipse.persistence.mappings.converters.Converter interface.
-           */
-          Class converterClass(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface TypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-           String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence field 
-           * or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent field 
-           * or property.
-           */
-          Class objectType() default void.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ObjectTypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence
-           * field or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent 
-           * field or property.
-           */
-          Class objectType() default void.class;
-
-          /**
-           * (Required) Specify the conversion values to be used 
-           * with the object converter.
-           */
-          ConversionValue[] conversionValues();
-
-           /**
-            * (Optional) Specify a default object value. Used for 
-            * legacy data if the data value is missing.
-            */
-           String defaultObjectValue() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="conversion-value" type="orm:conversion-value" minOccurs="1" maxOccurs="unbounded"/>
-      <xsd:element name="default-object-value" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="conversion-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface ConversionValue {
-          /**
-           * (Required) Specify the database value.
-           */
-          String dataValue();
-
-          /**
-           * (Required) Specify the object value.
-           */
-          String objectValue();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="data-value" type="xsd:string" use="required"/>
-    <xsd:attribute name="object-value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="struct-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface StructConverter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must 
-           * implement the EclipseLink interface 
-           * org.eclipse.persistence.mappings.converters.Converter
-           */
-          String converter(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="converter" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CopyPolicy is used to set a 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
-         * It is required that a class that implements 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified 
-         * as the argument.
-         * 
-         * A CopyPolicy should be specified on an Entity, MappedSuperclass or 
-         * Embeddable.
-         * 
-         * For instance:
-         * @Entity
-         * @CopyPolicy("example.MyCopyPolicy")
-         */
-        public @interface CopyPolicy {
-
-        /*
-        * (Required)
-        * This defines the class of the copy policy. It must specify a class 
-        * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
-        */
-        Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-    <!-- **************************************************** -->
-  
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * An InstantiationCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy 
-         * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in 
-         * EclipseLink and therefore this configuration option is only used to 
-         * override other types of copy policies
-         * 
-         * An InstantiationCopyPolicy should be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @InstantiationCopyPolicy 
-         */
-        public @interface InstantiationCopyPolicy {
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CloneCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an 
-         * Entity. A CloneCopyPolicy must specify at one or both of the "method" 
-         * or "workingCopyMethod". "workingCopyMethod" is used to clone objects 
-         * that will be returned to the user as they are registered in 
-         * EclipseLink's transactional mechanism, the UnitOfWork. "method" will 
-         * be used for the clone that is used for comparison in conjunction with 
-         * EclipseLink's DeferredChangeDetectionPolicy
-         *  
-         * A CloneCopyPolicy should be specified on an Entity, MappedSuperclass
-         * or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod", workingCopyMethod="myWorkingCopyCloneMethod")
-         * 
-         * or:
-         * 
-          @Entity
-         * @CloneCopyPolicy(workingCopyMethodName="myWorkingCopyClone")
-         */
-        public @interface CloneCopyPolicy {
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified this defines 
-             * a method that will be used to create a clone that will be used 
-             * for comparison by
-             * EclipseLink's DeferredChangeDetectionPolicy
-             */
-            String method();
-            
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified
-             * this defines a method that will be used to create a clone that 
-             * will be used to create the object returned when registering an 
-             * Object in an EclipseLink UnitOfWork
-             */
-            String workingCopyMethod();
-            
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method" type="xsd:string"/>
-    <xsd:attribute name="working-copy-method" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface CollectionTable {
-          /**
-           * (Optional) The name of the collection table. If it is not 
-           * specified, it is defaulted to the concatenation of the following: 
-           * the name of the source entity; "_" ; the name of the relationship 
-           * property or field of the source entity.
-           */
-          String name() default ""; 
-
-          /**
-           * (Optional) The catalog of the table. It defaults to the persistence 
-           * unit default catalog.
-           */
-          String catalog() default ""; 
-
-          /**
-           * (Optional) The schema of the table. It defaults to the persistence 
-           * unit default schema.
-           */
-          String schema() default ""; 
-
-          /**
-           * (Optional) Used to specify a primary key column that is used as a 
-           * foreign key to join to another table. If the source entity uses a 
-           * composite primary key, a primary key join column must be specified 
-           * for each field of the composite primary key. In a single primary 
-           * key case, a primary key join column may optionally be specified. 
-           * Defaulting will apply otherwise as follows:
-           * name, the same name as the primary key column of the primary table 
-           * of the source entity. referencedColumnName, the same name of 
-           * primary key column of the primary table of the source entity.
-           */
-          PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {}; 
- 
-          /**
-           * (Optional) Unique constraints that are to be placed on the table. 
-           * These are only used if table generation is in effect.
-           */
-          UniqueConstraint[] uniqueConstraints() default {}; 
-       }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="basic-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicCollection {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY; 
- 
-          /**
-           * (Optional) The name of the value column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="basic-map">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicMap {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY;
-
-          /**
-           * (Optional) The name of the data column that holds the direct map 
-           * key. If the name on te key column is "", the name will default to:
-           * the name of the property or field; "_KEY".
-           */
-          Column keyColumn() default @Column;
-
-          /**
-           * (Optional) Specify the key converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the direct map key.
-           */
-          Convert keyConverter() default @Convert;
-
-          /**
-           * (Optional) The name of the data column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-
-          /**
-           * (Optional) Specify the value converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the value column mapping.
-           */
-          Convert valueConverter() default @Convert;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="key-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="key-converter" type="xsd:string" minOccurs="0"/>    
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="value-converter" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>    
-      <xsd:element name="collection-table" type="orm:collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum JoinFetchType {
-        /**
-         * An inner join is used to fetch the related object.
-         * This does not allow for null/empty values.
-         */
-        INNER,
-
-        /**
-         * An inner join is used to fetch the related object.
-         * This allows for null/empty values.
-         */
-        OUTER,
-      }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="INNER"/>
-      <xsd:enumeration value="OUTER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="optimistic-locking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An optimistic-locking element is used to specify the type of 
-         * optimistic locking EclipseLink should use when updating or deleting 
-         * entities. An optimistic-locking specification is supported on
-         * an entity or mapped-superclass.
-         * 
-         * It is used in conjunction with the optimistic-locking-type.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface OptimisticLocking {
-          /**
-           * (Optional) The type of optimistic locking policy to use.
-           */
-          OptimisticLockingType type() default VERSION_COLUMN;
-
-          /**
-           * (Optional) For an optimistic locking policy of type 
-           * SELECTED_COLUMNS, this annotation member becomes a (Required) 
-           * field.
-           */
-          Column[] selectedColumns() default {};
-
-          /**
-           * (Optional) Specify where the optimistic locking policy should 
-           * cascade lock. Currently only supported with VERSION_COLUMN locking.
-           */
-          boolean cascade() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="selected-column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="type" type="orm:optimistic-locking-type"/>
-    <xsd:attribute name="cascade" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:simpleType name="optimistic-locking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A simple type that is used within an optimistic-locking 
-         * specification to specify the type of optimistic-locking that
-         * EclipseLink should use when updating or deleting entities.
-         */
-        public enum OptimisticLockingType {
-          /**
-           * Using this type of locking policy compares every field in the table
-           * in the WHERE clause when doing an update or a delete. If any field
-           * has been changed, an optimistic locking exception will be thrown.
-           */
-          ALL_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares only the changed fields
-           * in the WHERE clause when doing an update. If any field has been
-           * changed, an optimistic locking exception will be thrown. A delete
-           * will only compare the primary key.
-           */
-          CHANGED_COLUMNS,
-
-          /**
-           * Using this type of locking compares selected fields in the WHERE
-           * clause when doing an update or a delete. If any field has been
-           * changed, an optimistic locking exception will be thrown. Note that
-           * the fields specified must be mapped and not be primary keys.
-           */
-          SELECTED_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares a single version number
-           * in the where clause when doing an update. The version field must be
-           * mapped and not be the primary key.
-           */
-          VERSION_COLUMN
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ALL_COLUMNS"/>
-      <xsd:enumeration value="CHANGED_COLUMNS"/>
-      <xsd:enumeration value="SELECTED_COLUMNS"/>
-      <xsd:enumeration value="VERSION_COLUMN"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="primary-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-		/** 
-		 *  The PrimaryKey annotation allows advanced configuration of the Id.
-		 *  A validation policy can be given that allows specifying if zero is a valid id value.
-		 *  The set of primary key columns can also be specified precisely.
-		 * 
-		 * @author James Sutherland
-		 * @since EclipseLink 1.1
-		 */ 
-		@Target({TYPE})
-		@Retention(RUNTIME)
-		public @interface PrimaryKey {
-		    /**
-		     * (Optional) Configures what id validation is done.
-		     * By default 0 is not a valid id value, this can be used to allow 0 id values.
-		     */
-		    IdValidation validation() default IdValidation.ZERO; 
-		
-		    /**
-		     * (Optional) Used to specify the primary key columns directly.
-		     * This can be used instead of @Id if the primary key includes a non basic field,
-		     * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.
-		     */
-		    Column[] columns() default {};
-		}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="validation" type="orm:id-validation"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:simpleType name="id-validation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-		/** 
-		 * The IdValidation enum determines the type value that are valid for an Id.
-		 * By default null is not allowed, and 0 is not allow for singleton ids of long or int type.
-		 * The default value is ZERO for singleton ids, and NULL for composite ids.
-		 * This can be set using the @PrimaryKey annotation, or ClassDescriptor API.
-		 * 
-		 * @see PrimaryKey
-		 * @see org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)
-		 * @author James Sutherland
-		 * @since EclipseLink 1.0 
-		 */ 
-		public enum IdValidation {
-		    /**
-		     * Only null is not allowed as an id value, 0 is allowed.
-		     */
-		    NULL,
-		
-		    /**
-		     * null and 0 are not allowed, (only int and long).
-		     */
-		    ZERO,
-		
-		    /**
-		     * No id validation is done.
-		     */
-		    NONE
-		}
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="NULL"/>
-      <xsd:enumeration value="ZERO"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-    
-  <xsd:complexType name="cache">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Cache annotation is used to set an 
-         * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy 
-         * which sets objects in EclipseLink's identity maps to be invalid 
-         * following given rules. By default in EclipseLink, objects do not 
-         * expire in the cache. Several different policies are available to 
-         * allow objects to expire.
-         * 
-         * @see org.eclipse.persistence.annotations.CacheType
-         * 
-         * A Cache anotation may be defined on an Entity or MappedSuperclass. 
-         * In the case of inheritance, a Cache annotation should only be defined 
-         * on the root of the inheritance hierarchy.
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Cache {
-          /**
-           * (Optional) The type of cache to use.
-           */ 
-          CacheType type() default SOFT_WEAK;
-
-          /**
-           * (Optional) The size of cache to use.
-           */ 
-          int size() default 100;
-
-	        /**
-	         * (Optional) Cached instances in the shared cache or a client 
-	         * isolated cache.
-	         */ 
-	        boolean shared() default true;
-	
-	        /**
-	         * (Optional) Expire cached instance after a fix period of time (ms). 
-	         * Queries executed against the cache after this will be forced back 
-	         * to the database for a refreshed copy
-	         */ 
-	        int expiry() default -1; // minus one is no expiry.
-	
-	        /**
-	         * (Optional) Expire cached instance a specific time of day. Queries 
-	         * executed against the cache after this will be forced back to the 
-	         * database for a refreshed copy
-	         */ 
-	        TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
-	
-	        /**
-	         * (Optional) Force all queries that go to the database to always 
-	         * refresh the cache.
-	         */ 
-	        boolean alwaysRefresh() default false;
-	
-	        /**
-	         * (Optional) For all queries that go to the database, refresh the
-	         * cache only if the data received from the database by a query is 
-	         * newer than the data in the cache (as determined by the optimistic 
-	         * locking field)
-	         */ 
-	        boolean refreshOnlyIfNewer() default false;
-	
-	        /**
-	         * (Optional) Setting to true will force all queries to bypass the 
-	         * cache for hits but still resolve against the cache for identity. 
-	         * This forces all queries to hit the database.
-	         */ 
-	        boolean disableHits() default false;
-	
-	        /**
-	         * (Optional) The cache coordination mode.
-	         */ 
-	        CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:choice>
-	    <xsd:element name="expiry" type="xsd:integer" minOccurs="0"/>
-	    <xsd:element name="expiry-time-of-day" type="orm:time-of-day" minOccurs="0"/>
-	  </xsd:choice>
-	  <xsd:attribute name="size" type="xsd:integer"/>
-	  <xsd:attribute name="shared" type="xsd:boolean"/>
-	  <xsd:attribute name="type" type="orm:cache-type"/>
-	  <xsd:attribute name="always-refresh" type="xsd:boolean"/>
-	  <xsd:attribute name="refresh-only-if-newer" type="xsd:boolean"/>
-	  <xsd:attribute name="disable-hits" type="xsd:boolean"/>
-	  <xsd:attribute name="coordination-type" type="orm:cache-coordination-type"/>
-	</xsd:complexType>
-
-  <!-- **************************************************** --> 
-
-	<xsd:simpleType name="cache-type">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-	      /** 
-         * The CacheType enum is used with the Cache annotation for a 
-         * persistent class. It defines the type of IdentityMap/Cache used for 
-         * the class. By default the SOFT_WEAK cache type is used.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */
-	      public enum CacheType {
-	        /**
-	         * Provides full caching and guaranteed identity. Caches all objects
-	         * and does not remove them. 
-	         * WARNING: This method may be memory intensive when many objects are 
-	         * read.
-	         */
-	        FULL,
-	
-	        /**
-	         * Similar to the FULL identity map except that the map holds the
-	         * objects using weak references. This method allows full garbage
-	         * collection and provides full caching and guaranteed identity.
-	         */
-	        WEAK,
-	
-	        /**
-	         * Similar to the FULL identity map except that the map holds the
-	         * objects using soft references. This method allows full garbage
-	         * collection when memory is low and provides full caching and
-	         * guaranteed identity.
-	         */
-	        SOFT,
-	
-	        /**
-	         * Similar to the WEAK identity map except that it maintains a
-	         * most-frequently-used sub-cache. The size of the sub-cache is
-	         * proportional to the size of the identity map as specified by
-	         * descriptor's setIdentityMapSize() method. The sub-cache
-	         * uses soft references to ensure that these objects are
-	         * garbage-collected only if the system is low on memory.
-	         */
-	        SOFT_WEAK,
-	
-	        /**
-	         * Identical to the soft cache weak (SOFT_WEAK) identity map except 
-	         * that it uses hard references in the sub-cache. Use this identity 
-	         * map if soft references do not behave properly on your platform.
-	         */
-	        HARD_WEAK,
-	
-	        /**
-	         * A cache identity map maintains a fixed number of objects
-	         * specified by the application. Objects are removed from the cache
-	         * on a least-recently-used basis. This method allows object
-	         * identity for the most commonly used objects.
-	         * WARNING: Furnishes caching and identity, but does not guarantee 
-	         * identity.
-	         */
-	        CACHE,
-	
-	        /**
-	         * WARNING: Does not preserve object identity and does not cache 
-	         * objects.
-	         */
-	        NONE
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="FULL"/>
-	    <xsd:enumeration value="WEAK"/>
-	    <xsd:enumeration value="SOFT"/>
-	    <xsd:enumeration value="SOFT_WEAK"/>
-	    <xsd:enumeration value="HARD_WEAK"/>
-	    <xsd:enumeration value="CACHE"/>
-	    <xsd:enumeration value="NONE"/>
-	  </xsd:restriction>
-	</xsd:simpleType>
-
-
-  <!-- **************************************************** -->  
-
-	<xsd:simpleType name="cache-coordination-type">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-	      /** 
-         * An enum that is used within the Cache annotation.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */ 
-	      public enum CacheCoordinationType {
-	        /**
-	         * Sends a list of changed objects including data about the changes.
-	         * This data is merged into the receiving cache.
-	         */
-	        SEND_OBJECT_CHANGES,
-	
-	         /**
-	          * Sends a list of the identities of the objects that have changed. 
-	          * The receiving cache invalidates the objects (rather than changing 
-	          * any of the data)
-	          */
-	         INVALIDATE_CHANGED_OBJECTS,
-	
-	         /**
-	          * Same as SEND_OBJECT_CHANGES except it also includes any newly
-	          * created objects from the transaction.
-	          */
-	         SEND_NEW_OBJECTS_WITH_CHANGES,
-	
-	         /**
-	          * Does no cache coordination.
-	          */
-	         NONE
-        }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="SEND_OBJECT_CHANGES"/>
-	    <xsd:enumeration value="INVALIDATE_CHANGED_OBJECTS"/>
-	    <xsd:enumeration value="SEND_NEW_OBJECTS_WITH_CHANGES"/>
-	    <xsd:enumeration value="NONE"/>
-	  </xsd:restriction>
-	</xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-	<xsd:complexType name="time-of-day">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-	      @Target({})
-	      @Retention(RUNTIME)
-	      public @interface TimeOfDay {
-	        /**
-	         * (Optional) Hour of the day.
-	         */ 
-	        int hour() default 0;
-	
-	        /**
-	         * (Optional) Minute of the day.
-	         */ 
-	        int minute() default 0;
-	
-	        /**
-	         * (Optional) Second of the day.
-	         */ 
-	        int second() default 0;
-	
-	        /**
-	         * (Optional) Millisecond of the day.
-	         */ 
-	        int millisecond() default 0;
-	
-	        /**
-	         * Internal use. Do not modify.
-	         */ 
-	        boolean specified() default true;
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:attribute name="hour" type="xsd:integer"/>
-	  <xsd:attribute name="minute" type="xsd:integer"/>
-	  <xsd:attribute name="second" type="xsd:integer"/>
-	  <xsd:attribute name="millisecond" type="xsd:integer"/>
-	</xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="change-tracking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The ChangeTracking annotation is used to specify the 
-         * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy 
-         * which computes changes sets for EclipseLink's UnitOfWork commit 
-         * process. An ObjectChangePolicy is stored on an Entity's descriptor.
-         *
-         * A ChangeTracking annotation may be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ChangeTracking {
-          /**
-           * (Optional) The type of change tracking to use.
-           */ 
-          ChangeTrackingType value() default AUTO;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:change-tracking-type" use="required"/>
-  </xsd:complexType>
- 
-  <!-- **************************************************** -->
- 
-  <xsd:simpleType name="change-tracking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the ChangeTracking annotation. 
-         */ 
-        public enum ChangeTrackingType {
-          /**
-           * An ATTRIBUTE change tracking type allows change tracking at the
-           * attribute level of an object. Objects with changed attributes will
-           * be processed in the commit process to include any changes in the 
-           * results of the commit. Unchanged objects will be ignored.
-           */
-          ATTRIBUTE,
-
-          /**
-           * An OBJECT change tracking policy allows an object to calculate for 
-           * itself whether it has changed. Changed objects will be processed in 
-           * the commit process to include any changes in the results of the 
-           * commit. Unchanged objects will be ignored.
-           */
-          OBJECT,
-
-          /**
-           * A DEFERRED change tracking policy defers all change detection to
-           * the UnitOfWork's change detection process. Essentially, the 
-           * calculateChanges() method will run for all objects in a UnitOfWork. 
-           * This is the default ObjectChangePolicy
-           */
-          DEFERRED,
-
-          /**
-           * Will not set any change tracking policy.
-           */
-          AUTO
-        }
-
-      </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="ATTRIBUTE"/>
-	    <xsd:enumeration value="OBJECT"/>
-	    <xsd:enumeration value="DEFERRED"/>
-	    <xsd:enumeration value="AUTO"/>
-	  </xsd:restriction>
-	</xsd:simpleType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="customizer">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-      /** 
-       * The Customizer annotation is used to specify a class that implements 
-       * the org.eclipse.persistence.config.DescriptorCustomizer 
-       * interface and is to run against an enetity's class descriptor after all 
-       * metadata processing has been completed.
-       *
-       * The Customizer annotation may be defined on an Entity, MappedSuperclass 
-       * or Embeddable class. In the case of inheritance, a Customizer is not 
-       * inherited from its parent classes. 
-       */ 
-	    @Target({TYPE})
-	    @Retention(RUNTIME)
-	    public @interface Customizer {
-	      /**
-	       * (Required) Defines the name of the descriptor customizer class that 
-	       * should be applied for the related entity or embeddable class.
-	       */
-	      Class value(); 
-	    }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:attribute name="class" type="xsd:string" use="required"/>
-	</xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="named-stored-procedure-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A NamedStoredProcedureQuery annotation allows the definition of 
-         * queries that call stored procedures as named queries.
-         
-         * A NamedStoredProcedureQuery annotation may be defined on an Entity or
-         * MappedSuperclass. 
-         */ 
-	      @Target({TYPE})
-	      @Retention(RUNTIME)
-	      public @interface NamedStoredProcedureQuery {
-	        /**
-	         * (Required) Unique name that references this stored procedure query.
-	         */
-	        String name();
-	
-	        /**
-	         * (Optional) Query hints.
-	         */
-	        QueryHint[] hints() default {};
-	
-	        /**
-	         * (Optional) Refers to the class of the result.
-	         */
-	        Class resultClass() default void.class;
-	
-	        /**
-	         * (Optional) The name of the SQLResultMapping.
-	         */
-	        String resultSetMapping() default "";
-	
-	        /**
-	         * (Required) The name of the stored procedure.
-	         */
-	        String procedureName();
-	
-	        /**
-	         * (Optional) Whether the query should return a result set.
-	         */
-	        boolean returnsResultSet() default true; 
-	
-	        /**
-	         * (Optional) Defines arguments to the stored procedure.
-	         */
-	        StoredProcedureParameter[] parameters() default {};
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	    <xsd:sequence>
-	      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" 
-	                   maxOccurs="unbounded"/>
-	      <xsd:element name="parameter" type="orm:stored-procedure-parameter" 
-	                   minOccurs="0" maxOccurs="unbounded"/>
-	    </xsd:sequence>
-	  <xsd:attribute name="name" type="xsd:string" use="required"/>
-	  <xsd:attribute name="result-class" type="xsd:string"/>
-	  <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-	  <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
-	  <xsd:attribute name="returns-result-set" type="xsd:boolean"/>
-	</xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="stored-procedure-parameter">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-        /** 
-         * A StoredProcedureParameter annotation is used within a 
-         * NamedStoredProcedureQuery annotation. 
-         */ 
-	      @Target({})
-	      @Retention(RUNTIME)
-	      public @interface StoredProcedureParameter {
-	        /**
-	         * (Optional) The direction of the stored procedure parameter.
-	         */
-	        Direction direction() default IN;
-	
-	        /**
-	         * (Optional) Stored procedure parameter name.
-	         */
-	        String name() default "";
-	
-	        /**
-	         * (Required) The query parameter name.
-	         */
-	        String queryParameter();
-	
-	        /**
-	         * (Optional) The type of Java class desired back from the procedure, 
-	         * this is dependent on the type returned from the procedure.
-	         */
-	        Class type() default void.class;
-	
-	        /**
-	         * (Optional) The JDBC type code, this dependent on the type returned 
-	         * from the procedure.
-	         */
-	        int jdbcType() default -1;
-	
-	        /**
-	         * (Optional) The JDBC type name, this may be required for ARRAY or 
-	         * STRUCT types.
-	         */
-	        String jdbcTypeName() default "";
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:attribute name="direction" type="orm:direction-type"/>
-	  <xsd:attribute name="name" type="xsd:string"/>
-	  <xsd:attribute name="query-parameter" type="xsd:string" use="required"/>
-	  <xsd:attribute name="type" type="xsd:string"/>
-	  <xsd:attribute name="jdbc-type" type="xsd:integer"/>
-	  <xsd:attribute name="jdbc-type-name" type="xsd:string"/>
-	</xsd:complexType>
-	
-	<!-- **************************************************** -->
-	
-	<xsd:simpleType name="direction-type">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	
-        /** 
-         * An enum that is used within the StoredProcedureParameter annotation.
-         * It is used to specify the direction of the stored procedure 
-         * parameters of a named stored procedure query.
-         */
-	      public enum Direction {
-	        /**
-	         * Input parameter
-	         */
-	        IN,
-	
-	        /**
-	         * Output parameter
-	         */
-	        OUT,
-	
-	        /**
-	         * Input and output parameter
-	         */
-	        IN_OUT,
-	
-	        /**
-	         * Output cursor
-	         */
-	        OUT_CURSOR
-	      }
-	
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="IN"/>
-	    <xsd:enumeration value="OUT"/>
-	    <xsd:enumeration value="IN_OUT"/>
-	    <xsd:enumeration value="OUT_CURSOR"/>
-	  </xsd:restriction>
-	</xsd:simpleType>
-	
-	<!-- **************************************************** -->
-	
-	<xsd:complexType name="variable-one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-				/** 
-				 * Variable one to one mappings are used to represent a pointer 
-				 * references between a java object and an implementer of an interface. 
-				 * This mapping is usually represented by a single pointer (stored in an 
-				 * instance variable) between the source and target objects. In the 
-				 * relational database tables, these mappings are normally implemented 
-				 * using a foreign key and a type code.
-				 * 
-				 * A VariableOneToOne can be specified within an Entity, 
-				 * MappedSuperclass and Embeddable class. 
-				 */ 
-				@Target({METHOD, FIELD}) 
-				@Retention(RUNTIME)
-				public @interface VariableOneToOne {
-				    /**
-				     * (Optional) The interface class that is the target of the 
-				     * association. If not specified it will be inferred from the type 
-				     * of the object being referenced.
-				     */
-				    Class targetInterface() default void.class;
-				    
-				    /**
-				     * (Optional) The operations that must be cascaded to the target of 
-				     * the association.
-				     */
-				    CascadeType[] cascade() default {};
-				    
-				    /**
-				     * (Optional) Defines whether the value of the field or property 
-				     * should be lazily loaded or must be eagerly fetched. The EAGER 
-				     * strategy is a requirement on the persistence provider runtime 
-				     * that the value must be eagerly fetched. The LAZY strategy is a 
-				     * hint to the persistence provider runtime. If not specified, 
-				     * defaults to EAGER.
-				     */
-				    FetchType fetch() default EAGER;
-				    
-				    /**
-				     * (Optional) Whether the association is optional. If set to false 
-				     * then a non-null relationship must always exist.
-				     */
-				    boolean optional() default true;
-				  
-				    /**
-				     * (Optional) The discriminator column will hold the type 
-				     * indicators. If the DiscriminatorColumn is not specified, the name 
-				     * of the discriminator column defaults to "DTYPE" and the 
-				     * discriminator type to STRING.
-				     */
-				    DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;
-				    
-                    /**
-                     * (Optional) The list of discriminator types that can be used with 
-                     * this VariableOneToOne. If none are specified then those entities 
-                     * within the persistence unit that implement the target interface 
-                     * will be added to the list of types. The discriminator type will 
-                     * default as follows:
-                     *  - If DiscriminatorColumn type is STRING: Entity.name()
-                     *  - If DiscriminatorColumn type is CHAR: First letter of the 
-                     *    Entity class
-                     *  - If DiscriminatorColumn type is INTEGER: The next integer after 
-                     *    the highest integer explicitly added.
-                     */
-				    DiscriminatorClass[] discriminatorClasses() default {};
-				}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-      <xsd:element name="discriminator-class" type="orm:discriminator-class" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-interface" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A DiscriminatorClass is used within a VariableOneToOne annotation.
-         */ 
-        @Target({}) 
-        @Retention(RUNTIME)
-        public @interface DiscriminatorClass {
-          /**
-           * (Required) The discriminator to be stored on the database. 
-           */
-          String discriminator();
-
-          /**
-           * (Required) The class to the instantiated with the given 
-           * discriminator.
-           */
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="discriminator" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-	<xsd:simpleType name="existence-type">
-	  <xsd:annotation>
-	    <xsd:documentation>
-	        /**
-           * The ExistenceChecking annotation is used to specify the type of 
-           * checking EclipseLink should use when updating entities.
-           * 
-           * An existence-checking specification is supported on an Entity or 
-           * MappedSuperclass annotation.
-           */
-          public @interface ExistenceChecking {
-            /**
-             * (Optional) Set the existence check for determining
-             * if an insert or update should occur for an object.
-             */
-             ExistenceType value() default CHECK_CACHE;
-          }
-          
-          /**
-           * Assume that if the objects primary key does not include null and 
-           * it is in the cache, then it must exist.
-           */
-          CHECK_CACHE,
-			
-          /**
-           * Perform does exist check on the database.
-           */
-          CHECK_DATABASE,
-			
-          /**
-           * Assume that if the objects primary key does not include null then 
-           * it must exist. This may be used if the application guarantees or 
-           * does not care about the existence check.
-           */
-          ASSUME_EXISTENCE,
-			
-          /**
-           * Assume that the object does not exist. This may be used if the 
-           * application guarantees or does not care about the existence check.  
-           * This will always force an insert to be called.
-           */
-          ASSUME_NON_EXISTENCE
-		
-      </xsd:documentation>
-    </xsd:annotation>	 
-	  <xsd:restriction base="xsd:token">
-	    <xsd:enumeration value="CHECK_CACHE" />
-	    <xsd:enumeration value="CHECK_DATABASE" />
-	    <xsd:enumeration value="ASSUME_EXISTENCE" />
-	    <xsd:enumeration value="ASSUME_NON_EXISTENCE"/>
-	  </xsd:restriction>
-	</xsd:simpleType>	
-	
-</xsd:schema>
-
-
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_2.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_2.xsd
deleted file mode 100644
index f7c2b26..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_1_2.xsd
+++ /dev/null
@@ -1,3519 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2009 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the 
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- which accompanies this distribution. 
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at 
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     Oracle - initial API and implementation from Oracle TopLink
-*****************************************************************************/
--->
-
-<!-- Java Persistence API object-relational mapping file schema -->
-<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-  elementFormDefault="qualified" 
-  attributeFormDefault="unqualified" 
-  version="1.2">
-
-  <xsd:annotation>
-    <xsd:documentation>
-      @(#)eclipselink_orm_1_2.xsd 1.0  February 1 2008
-    </xsd:documentation>
-  </xsd:annotation>
-  <xsd:annotation>
-     <xsd:documentation><![CDATA[
-
-       This is the XML Schema for the native Eclipselink XML mapping file
-       The file may be named "META-INF/eclipselink-orm.xml" in the persistence
-       archive or it may be named some other name which would be
-       used to locate the file as resource on the classpath.
-       Object/relational mapping files must indicate the object/relational
-       mapping file schema by using the persistence namespace:
-
-       http://www.eclipse.org/eclipselink/xsds/persistence/orm
-
-       and indicate the version of the schema by using the version element as shown below:
-
-       <entity-mappings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm 
-       eclipselink_orm_1_2.xsd
-       version="1.2">
-       ...
-       </entity-mappings>
-
-     ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="emptyType"/>
-  <xsd:simpleType name="versionType">
-    <xsd:restriction base="xsd:token">
-      <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="access-methods">
-    <xsd:annotation>
-      <xsd:documentation>
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="get-method" type="xsd:string" use="required"/>
-    <xsd:attribute name="set-method" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="cache">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Cache annotation is used to set an 
-         * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy 
-         * which sets objects in EclipseLink's identity maps to be invalid 
-         * following given rules. By default in EclipseLink, objects do not 
-         * expire in the cache. Several different policies are available to 
-         * allow objects to expire.
-         * 
-         * @see org.eclipse.persistence.annotations.CacheType
-         * 
-         * A Cache anotation may be defined on an Entity or MappedSuperclass. 
-         * In the case of inheritance, a Cache annotation should only be defined 
-         * on the root of the inheritance hierarchy.
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Cache {
-          /**
-           * (Optional) The type of cache to use.
-           */ 
-          CacheType type() default SOFT_WEAK;
-
-          /**
-           * (Optional) The size of cache to use.
-           */ 
-          int size() default 100;
-
-          /**
-           * (Optional) Cached instances in the shared cache or a client 
-           * isolated cache.
-           */ 
-          boolean shared() default true;
-
-          /**
-           * (Optional) Expire cached instance after a fix period of time (ms). 
-           * Queries executed against the cache after this will be forced back 
-           * to the database for a refreshed copy
-           */ 
-          int expiry() default -1; // minus one is no expiry.
-
-          /**
-           * (Optional) Expire cached instance a specific time of day. Queries 
-           * executed against the cache after this will be forced back to the 
-           * database for a refreshed copy
-           */ 
-          TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
-
-          /**
-           * (Optional) Force all queries that go to the database to always 
-           * refresh the cache.
-           */ 
-          boolean alwaysRefresh() default false;
-
-          /**
-           * (Optional) For all queries that go to the database, refresh the
-           * cache only if the data received from the database by a query is 
-           * newer than the data in the cache (as determined by the optimistic 
-           * locking field)
-           */ 
-          boolean refreshOnlyIfNewer() default false;
-
-          /**
-           * (Optional) Setting to true will force all queries to bypass the 
-           * cache for hits but still resolve against the cache for identity. 
-           * This forces all queries to hit the database.
-           */ 
-          boolean disableHits() default false;
-
-          /**
-           * (Optional) The cache coordination mode.
-           */ 
-          CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="expiry" type="xsd:integer" minOccurs="0"/>
-      <xsd:element name="expiry-time-of-day" type="orm:time-of-day" minOccurs="0"/>
-    </xsd:choice>
-    <xsd:attribute name="size" type="xsd:integer"/>
-    <xsd:attribute name="shared" type="xsd:boolean"/>
-    <xsd:attribute name="type" type="orm:cache-type"/>
-    <xsd:attribute name="always-refresh" type="xsd:boolean"/>
-    <xsd:attribute name="refresh-only-if-newer" type="xsd:boolean"/>
-    <xsd:attribute name="disable-hits" type="xsd:boolean"/>
-    <xsd:attribute name="coordination-type" type="orm:cache-coordination-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** --> 
-
-  <xsd:simpleType name="cache-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The CacheType enum is used with the Cache annotation for a 
-         * persistent class. It defines the type of IdentityMap/Cache used for 
-         * the class. By default the SOFT_WEAK cache type is used.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */
-        public enum CacheType {
-          /**
-           * Provides full caching and guaranteed identity. Caches all objects
-           * and does not remove them. 
-           * WARNING: This method may be memory intensive when many objects are 
-           * read.
-           */
-          FULL,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using weak references. This method allows full garbage
-           * collection and provides full caching and guaranteed identity.
-           */
-          WEAK,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using soft references. This method allows full garbage
-           * collection when memory is low and provides full caching and
-           * guaranteed identity.
-           */
-          SOFT,
-
-          /**
-           * Similar to the WEAK identity map except that it maintains a
-           * most-frequently-used sub-cache. The size of the sub-cache is
-           * proportional to the size of the identity map as specified by
-           * descriptor's setIdentityMapSize() method. The sub-cache
-           * uses soft references to ensure that these objects are
-           * garbage-collected only if the system is low on memory.
-           */
-          SOFT_WEAK,
-
-          /**
-           * Identical to the soft cache weak (SOFT_WEAK) identity map except 
-           * that it uses hard references in the sub-cache. Use this identity 
-           * map if soft references do not behave properly on your platform.
-           */
-          HARD_WEAK,
-
-          /**
-           * A cache identity map maintains a fixed number of objects
-           * specified by the application. Objects are removed from the cache
-           * on a least-recently-used basis. This method allows object
-           * identity for the most commonly used objects.
-           * WARNING: Furnishes caching and identity, but does not guarantee 
-           * identity.
-           */
-          CACHE,
-
-          /**
-           * WARNING: Does not preserve object identity and does not cache 
-           * objects.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="FULL"/>
-      <xsd:enumeration value="WEAK"/>
-      <xsd:enumeration value="SOFT"/>
-      <xsd:enumeration value="SOFT_WEAK"/>
-      <xsd:enumeration value="HARD_WEAK"/>
-      <xsd:enumeration value="CACHE"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:simpleType name="cache-coordination-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the Cache annotation.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */ 
-        public enum CacheCoordinationType {
-          /**
-           * Sends a list of changed objects including data about the changes.
-           * This data is merged into the receiving cache.
-           */
-          SEND_OBJECT_CHANGES,
-
-          /**
-           * Sends a list of the identities of the objects that have changed. 
-           * The receiving cache invalidates the objects (rather than changing 
-           * any of the data)
-           */
-          INVALIDATE_CHANGED_OBJECTS,
-
-          /**
-           * Same as SEND_OBJECT_CHANGES except it also includes any newly
-           * created objects from the transaction.
-           */
-          SEND_NEW_OBJECTS_WITH_CHANGES,
-
-          /**
-           * Does no cache coordination.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SEND_OBJECT_CHANGES"/>
-      <xsd:enumeration value="INVALIDATE_CHANGED_OBJECTS"/>
-      <xsd:enumeration value="SEND_NEW_OBJECTS_WITH_CHANGES"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="change-tracking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The ChangeTracking annotation is used to specify the 
-         * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy 
-         * which computes changes sets for EclipseLink's UnitOfWork commit 
-         * process. An ObjectChangePolicy is stored on an Entity's descriptor.
-         *
-         * A ChangeTracking annotation may be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ChangeTracking {
-          /**
-           * (Optional) The type of change tracking to use.
-           */ 
-          ChangeTrackingType value() default AUTO;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:change-tracking-type" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="change-tracking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the ChangeTracking annotation. 
-         */ 
-        public enum ChangeTrackingType {
-          /**
-           * An ATTRIBUTE change tracking type allows change tracking at the
-           * attribute level of an object. Objects with changed attributes will
-           * be processed in the commit process to include any changes in the 
-           * results of the commit. Unchanged objects will be ignored.
-           */
-          ATTRIBUTE,
-
-          /**
-           * An OBJECT change tracking policy allows an object to calculate for 
-           * itself whether it has changed. Changed objects will be processed in 
-           * the commit process to include any changes in the results of the 
-           * commit. Unchanged objects will be ignored.
-           */
-          OBJECT,
-
-          /**
-           * A DEFERRED change tracking policy defers all change detection to
-           * the UnitOfWork's change detection process. Essentially, the 
-           * calculateChanges() method will run for all objects in a UnitOfWork. 
-           * This is the default ObjectChangePolicy
-           */
-          DEFERRED,
-
-          /**
-           * Will not set any change tracking policy.
-           */
-          AUTO
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ATTRIBUTE"/>
-      <xsd:enumeration value="OBJECT"/>
-      <xsd:enumeration value="DEFERRED"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="customizer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Customizer annotation is used to specify a class that implements 
-         * the org.eclipse.persistence.config.DescriptorCustomizer 
-         * interface and is to run against an enetity's class descriptor after all 
-         * metadata processing has been completed.
-         *
-         * The Customizer annotation may be defined on an Entity, MappedSuperclass 
-         * or Embeddable class. In the case of inheritance, a Customizer is not 
-         * inherited from its parent classes. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Customizer {
-          /**
-           * (Required) Defines the name of the descriptor customizer class that 
-           * should be applied for the related entity or embeddable class.
-           */
-          Class value(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="direction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the StoredProcedureParameter annotation.
-         * It is used to specify the direction of the stored procedure 
-         * parameters of a named stored procedure query.
-         */
-        public enum Direction {
-          /**
-           * Input parameter
-           */
-          IN,
-
-          /**
-           * Output parameter
-           */
-          OUT,
-
-          /**
-           * Input and output parameter
-           */
-          IN_OUT,
-
-          /**
-           * Output cursor
-           */
-          OUT_CURSOR
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="IN"/>
-      <xsd:enumeration value="OUT"/>
-      <xsd:enumeration value="IN_OUT"/>
-      <xsd:enumeration value="OUT_CURSOR"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:element name="entity-mappings">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The entity-mappings element is the root element of an mapping
-          file. It contains the following four types of elements:
-
-          1. The persistence-unit-metadata element contains metadata
-          for the entire persistence unit. It is undefined if this element
-          occurs in multiple mapping files within the same persistence unit.
-
-          2. The package, schema, catalog and access elements apply to all of
-          the entity, mapped-superclass and embeddable elements defined in
-          the same file in which they occur.
-
-          3. The sequence-generator, table-generator, named-query,
-          named-native-query and sql-result-set-mapping elements are global
-          to the persistence unit. It is undefined to have more than one
-          sequence-generator or table-generator of the same name in the same
-          or different mapping files in a persistence unit. It is also
-          undefined to have more than one named-query, named-native-query, or
-          result-set-mapping of the same name in the same or different mapping
-          files in a persistence unit.
-
-          4. The entity, mapped-superclass and embeddable elements each define
-          the mapping information for a managed persistent class. The mapping
-          information contained in these elements may be complete or it may
-          be partial.
-
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:sequence>
-        <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="persistence-unit-metadata" type="orm:persistence-unit-metadata" minOccurs="0"/>
-        <xsd:element name="package" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-        <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-query" type="orm:named-query" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-native-query" type="orm:named-native-query" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-        <xsd:element name="sql-result-set-mapping" type="orm:sql-result-set-mapping" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="mapped-superclass" type="orm:mapped-superclass" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="entity" type="orm:entity" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embeddable" type="orm:embeddable" minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" type="orm:versionType" fixed="1.2" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="existence-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * The ExistenceChecking annotation is used to specify the type of 
-         * checking EclipseLink should use when updating entities.
-         * 
-         * An existence-checking specification is supported on an Entity or 
-         * MappedSuperclass annotation.
-         */
-        public @interface ExistenceChecking {
-
-          /**
-           * (Optional) Set the existence check for determining
-           * if an insert or update should occur for an object.
-           */
-          ExistenceType value() default CHECK_CACHE;
-        }
-
-        /**
-         * Assume that if the objects primary key does not include null and 
-         * it is in the cache, then it must exist.
-         */
-        CHECK_CACHE,
-
-        /**
-         * Perform does exist check on the database.
-         */
-        CHECK_DATABASE,
-
-        /**
-         * Assume that if the objects primary key does not include null then 
-         * it must exist. This may be used if the application guarantees or 
-         * does not care about the existence check.
-         */
-        ASSUME_EXISTENCE,
-
-        /**
-         * Assume that the object does not exist. This may be used if the 
-         * application guarantees or does not care about the existence check.  
-         * This will always force an insert to be called.
-         */
-        ASSUME_NON_EXISTENCE
-
-      </xsd:documentation>
-    </xsd:annotation>    
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="CHECK_CACHE"/>
-      <xsd:enumeration value="CHECK_DATABASE"/>
-      <xsd:enumeration value="ASSUME_EXISTENCE"/>
-      <xsd:enumeration value="ASSUME_NON_EXISTENCE"/>
-    </xsd:restriction>
-  </xsd:simpleType> 
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-metadata">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Metadata that applies to the persistence unit and not just to 
-        the mapping file in which it is contained. 
-
-        If the xml-mapping-metadata-complete element is specified,
-        the complete set of mapping metadata for the persistence unit
-        is contained in the XML mapping files for the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="exclude-default-mappings" type="orm:emptyType" minOccurs="0"/>             
-      <xsd:element name="persistence-unit-defaults" type="orm:persistence-unit-defaults" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-defaults">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        These defaults are applied to the persistence unit as a whole
-        unless they are overridden by local annotation or XML
-        element settings.
-
-        schema - Used as the schema for all tables, secondary tables,
-            collection tables, sequence generators, and table generators
-            that apply to the persistence unit
-        catalog - Used as the catalog for all tables, secondary tables,
-            collection tables, sequence generators, and table generators
-            that apply to the persistence unit
-        access - Used as the access type for all managed classes in
-            the persistence unit
-        cascade-persist - Adds cascade-persist to the set of cascade options
-            in all entity relationships of the persistence unit
-        entity-listeners - List of default entity listeners to be invoked
-            on each entity in the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="schema" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="catalog" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="delimited-identifiers" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for an entity. Is allowed to be
-        sparsely populated and used in conjunction with the annotations.
-        Alternatively, the metadata-complete attribute can be used to
-        indicate that no annotations on the entity class (and its fields
-        or properties) are to be processed. If this is the case then
-        the defaulting rules for the entity and its sub-elements will
-        be recursively applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-          public @interface Entity {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="table" type="orm:table" minOccurs="0"/>
-      <xsd:element name="secondary-table" type="orm:secondary-table" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
-      <xsd:element name="discriminator-value" type="orm:discriminator-value" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="named-query" type="orm:named-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="sql-result-set-mapping" type="orm:sql-result-set-mapping" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="access-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element determines how the persistence provider accesses the
-        state of an entity or embedded object.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="PROPERTY"/>
-      <xsd:enumeration value="FIELD"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="association-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AssociationOverride {
-          String name();
-          JoinColumn[] joinColumns() default{};
-          JoinTable joinTable() default @JoinTable;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attribute-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AttributeOverride {
-          String name();
-          Column column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attributes">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element contains the entity field or property mappings.
-        It may be sparsely populated to include only a subset of the
-        fields or properties. If metadata-complete for the entity is true
-        then the remainder of the attributes will be defaulted according
-        to the default rules.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="id" type="orm:id" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embedded-id" type="orm:embedded-id" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="basic" type="orm:basic" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-collection" type="orm:basic-collection" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-map" type="orm:basic-map" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="version" type="orm:version" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-one" type="orm:many-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-many" type="orm:one-to-many" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-one" type="orm:one-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="variable-one-to-one" type="orm:variable-one-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-many" type="orm:many-to-many" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="element-collection" type="orm:element-collection" minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="embedded" type="orm:embedded" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transformation" type="orm:transformation" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transient" type="orm:transient" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Basic {
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="lob" type="orm:lob"/>
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="enumerated" type="orm:enumerated"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicCollection {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY; 
- 
-          /**
-           * (Optional) The name of the value column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic-map">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicMap {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY;
-
-          /**
-           * (Optional) The name of the data column that holds the direct map 
-           * key. If the name on te key column is "", the name will default to:
-           * the name of the property or field; "_KEY".
-           */
-          Column keyColumn() default @Column;
-
-          /**
-           * (Optional) Specify the key converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the direct map key.
-           */
-          Convert keyConverter() default @Convert;
-
-          /**
-           * (Optional) The name of the data column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-
-          /**
-           * (Optional) Specify the value converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the value column mapping.
-           */
-          Convert valueConverter() default @Convert;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="key-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="key-converter" type="xsd:string" minOccurs="0"/>    
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="value-converter" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>    
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="cascade-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade-all" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="cascade-merge" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="cascade-remove" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="cascade-refresh" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CloneCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an 
-         * Entity. A CloneCopyPolicy must specify at one or both of the "method" 
-         * or "workingCopyMethod". "workingCopyMethod" is used to clone objects 
-         * that will be returned to the user as they are registered in 
-         * EclipseLink's transactional mechanism, the UnitOfWork. "method" will 
-         * be used for the clone that is used for comparison in conjunction with 
-         * EclipseLink's DeferredChangeDetectionPolicy
-         *  
-         * A CloneCopyPolicy should be specified on an Entity, MappedSuperclass
-         * or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod", workingCopyMethod="myWorkingCopyCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(workingCopyMethodName="myWorkingCopyClone")
-         */
-        public @interface CloneCopyPolicy {
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified this defines 
-             * a method that will be used to create a clone that will be used 
-             * for comparison by
-             * EclipseLink's DeferredChangeDetectionPolicy
-             */
-            String method();
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified
-             * this defines a method that will be used to create a clone that 
-             * will be used to create the object returned when registering an 
-             * Object in an EclipseLink UnitOfWork
-             */
-            String workingCopyMethod();
-
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method" type="xsd:string"/>
-    <xsd:attribute name="working-copy-method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface CollectionTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="eclipselink-collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface CollectionTable {
-          /**
-           * (Optional) The name of the collection table. If it is not 
-           * specified, it is defaulted to the concatenation of the following: 
-           * the name of the source entity; "_" ; the name of the relationship 
-           * property or field of the source entity.
-           */
-          String name() default ""; 
-
-          /**
-           * (Optional) The catalog of the table. It defaults to the persistence 
-           * unit default catalog.
-           */
-          String catalog() default ""; 
-
-          /**
-           * (Optional) The schema of the table. It defaults to the persistence 
-           * unit default schema.
-           */
-          String schema() default ""; 
-
-          /**
-           * (Optional) Used to specify a primary key column that is used as a 
-           * foreign key to join to another table. If the source entity uses a 
-           * composite primary key, a primary key join column must be specified 
-           * for each field of the composite primary key. In a single primary 
-           * key case, a primary key join column may optionally be specified. 
-           * Defaulting will apply otherwise as follows:
-           * name, the same name as the primary key column of the primary table 
-           * of the source entity. referencedColumnName, the same name of 
-           * primary key column of the primary table of the source entity.
-           */
-          PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {}; 
- 
-          /**
-           * (Optional) Unique constraints that are to be placed on the table. 
-           * These are only used if table generation is in effect.
-           */
-          UniqueConstraint[] uniqueConstraints() default {}; 
-       }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Column {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="conversion-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface ConversionValue {
-          /**
-           * (Required) Specify the database value.
-           */
-          String dataValue();
-
-          /**
-           * (Required) Specify the object value.
-           */
-          String objectValue();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="data-value" type="xsd:string" use="required"/>
-    <xsd:attribute name="object-value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Converter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must implement
-           * the org.eclipse.persistence.mappings.converters.Converter interface.
-           */
-          Class converterClass(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface ColumnResult {
-          String name();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CopyPolicy is used to set a 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
-         * It is required that a class that implements 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified 
-         * as the argument.
-         * 
-         * A CopyPolicy should be specified on an Entity, MappedSuperclass or 
-         * Embeddable.
-         * 
-         * For instance:
-         * @Entity
-         * @CopyPolicy("example.MyCopyPolicy")
-         */
-        public @interface CopyPolicy {
-
-        /*
-        * (Required)
-        * This defines the class of the copy policy. It must specify a class 
-        * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
-        */
-        Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorColumn {
-          String name() default "DTYPE";
-          DiscriminatorType discriminatorType() default STRING;
-          String columnDefinition() default "";
-          int length() default 31;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A DiscriminatorClass is used within a VariableOneToOne annotation.
-         */ 
-        @Target({}) 
-        @Retention(RUNTIME)
-        public @interface DiscriminatorClass {
-          /**
-           * (Required) The discriminator to be stored on the database. 
-           */
-          String discriminator();
-
-          /**
-           * (Required) The class to the instantiated with the given 
-           * discriminator.
-           */
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="discriminator" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum DiscriminatorType { STRING, CHAR, INTEGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="STRING"/>
-      <xsd:enumeration value="CHAR"/>
-      <xsd:enumeration value="INTEGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorValue {
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-   <!-- **************************************************** -->
-
-  <xsd:complexType name="element-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ElementCollection {
-          Class targetClass() default void.class;
-          FetchType fetch() default LAZY;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal" type="orm:temporal" minOccurs="0"/>
-            <xsd:element name="map-key-enumerated" type="orm:enumerated" minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:sequence>
-              <xsd:element name="map-key-attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:sequence>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column" minOccurs="0"/>
-            <xsd:element name="map-key-join-column" type="orm:map-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:sequence>
-          <xsd:element name="column" type="orm:column" minOccurs="0"/>
-            <xsd:choice>
-              <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
-              <xsd:element name="enumerated" type="orm:enumerated" minOccurs="0"/>
-              <xsd:element name="lob" type="orm:lob" minOccurs="0"/>
-              <xsd:element name="convert" type="xsd:string"/>
-            </xsd:choice>
-        </xsd:sequence>
-        <xsd:sequence>
-          <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-          <xsd:element name="association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:collection-table" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-class" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embeddable">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for embeddable objects. Is
-        allowed to be sparsely populated and used in conjunction with
-        the annotations. Alternatively, the metadata-complete attribute
-        can be used to indicate that no annotations are to be processed
-        in the class. If this is the case then the defaulting rules will
-        be recursively applied.
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Embeddable {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Embedded {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded-id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface EmbeddedId {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listener">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines an entity listener to be invoked at lifecycle events
-        for the entities that list this listener.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listeners">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface EntityListeners {
-          Class[] value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-listener" type="orm:entity-listener" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface EntityResult {
-          Class entityClass();
-          FieldResult[] fields() default {};
-          String discriminatorColumn() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field-result" type="orm:field-result" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
-    <xsd:attribute name="discriminator-column" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enum-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum EnumType {
-          ORDINAL,
-          STRING
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ORDINAL"/>
-      <xsd:enumeration value="STRING"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enumerated">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Enumerated {
-          EnumType value() default ORDINAL;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:enum-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum FetchType { LAZY, EAGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="LAZY"/>
-      <xsd:enumeration value="EAGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="field-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface FieldResult {
-          String name();
-          String column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="column" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="generated-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface GeneratedValue {
-          GenerationType strategy() default AUTO;
-          String generator() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:generation-type"/>
-    <xsd:attribute name="generator" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="generation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="TABLE"/>
-      <xsd:enumeration value="SEQUENCE"/>
-      <xsd:enumeration value="IDENTITY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Id {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface IdClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="id-validation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The IdValidation enum determines the type value that are valid for an Id.
-         * By default null is not allowed, and 0 is not allow for singleton ids of long or int type.
-         * The default value is ZERO for singleton ids, and NULL for composite ids.
-         * This can be set using the @PrimaryKey annotation, or ClassDescriptor API.
-         * 
-         * @see PrimaryKey
-         * @see org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)
-         * @author James Sutherland
-         * @since EclipseLink 1.0 
-         */ 
-        public enum IdValidation {
-            /**
-             * Only null is not allowed as an id value, 0 is allowed.
-             */
-            NULL,
-
-            /**
-             * null and 0 are not allowed, (only int and long).
-             */
-            ZERO,
-
-            /**
-             * No id validation is done.
-             */
-            NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="NULL"/>
-      <xsd:enumeration value="ZERO"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="inheritance">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Inheritance {
-          InheritanceType strategy() default SINGLE_TABLE;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:inheritance-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="inheritance-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum InheritanceType { SINGLE_TABLE, JOINED, TABLE_PER_CLASS };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SINGLE_TABLE"/>
-      <xsd:enumeration value="JOINED"/>
-      <xsd:enumeration value="TABLE_PER_CLASS"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * An InstantiationCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy 
-         * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in 
-         * EclipseLink and therefore this configuration option is only used to 
-         * override other types of copy policies
-         * 
-         * An InstantiationCopyPolicy should be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @InstantiationCopyPolicy 
-         */
-        public @interface InstantiationCopyPolicy {
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum JoinFetchType {
-        /**
-         * An inner join is used to fetch the related object.
-         * This does not allow for null/empty values.
-         */
-        INNER,
-
-        /**
-         * An inner join is used to fetch the related object.
-         * This allows for null/empty values.
-         */
-        OUTER,
-      }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="INNER"/>
-      <xsd:enumeration value="OUTER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          JoinColumn[] inverseJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="inverse-join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="lob">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Lob {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="lock-mode-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        public enum LockModeType { READ, WRITE, OPTIMISTIC,
-        OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE,
-        PESSIMISTIC_FORCE_INCREMENT, NONE};
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="WRITE"/>
-      <xsd:enumeration value="OPTIMISTIC"/>
-      <xsd:enumeration value="OPTIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="PESSIMISTIC_READ"/>
-      <xsd:enumeration value="PESSIMISTIC_WRITE"/>
-      <xsd:enumeration value="PESSIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal" type="orm:temporal" minOccurs="0"/>
-            <xsd:element name="map-key-enumerated" type="orm:enumerated" minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-              <xsd:element name="map-key-attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column" minOccurs="0"/>
-            <xsd:element name="map-key-join-column" type="orm:map-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKey {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyColumn {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="mapped-superclass">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for a mapped superclass. Is
-        allowed to be sparsely populated and used in conjunction with
-        the annotations. Alternatively, the metadata-complete attribute
-        can be used to indicate that no annotations are to be processed
-        If this is the case then the defaulting rules will be recursively
-        applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-        public @interface MappedSuperclass{}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-native-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedNativeQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-          Class resultClass() default void.class;
-          String resultSetMapping() default ""; //named SqlResultSetMapping
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="lock-mode" type="orm:lock-mode-type" minOccurs="0"/>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-stored-procedure-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A NamedStoredProcedureQuery annotation allows the definition of 
-         * queries that call stored procedures as named queries.
-         * A NamedStoredProcedureQuery annotation may be defined on an Entity or
-         * MappedSuperclass. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface NamedStoredProcedureQuery {
-          /**
-           * (Required) Unique name that references this stored procedure query.
-           */
-          String name();
-
-          /**
-           * (Optional) Query hints.
-           */
-          QueryHint[] hints() default {};
-
-          /**
-           * (Optional) Refers to the class of the result.
-           */
-          Class resultClass() default void.class;
-
-          /**
-           * (Optional) The name of the SQLResultMapping.
-           */
-          String resultSetMapping() default "";
-
-          /**
-           * (Required) The name of the stored procedure.
-           */
-          String procedureName();
-
-          /**
-           * (Optional) Whether the query should return a result set.
-           */
-          boolean returnsResultSet() default true; 
-
-          /**
-           * (Optional) Defines arguments to the stored procedure.
-           */
-          StoredProcedureParameter[] parameters() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="parameter" type="orm:stored-procedure-parameter" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-    <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
-    <xsd:attribute name="returns-result-set" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ObjectTypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence
-           * field or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent 
-           * field or property.
-           */
-          Class objectType() default void.class;
-
-          /**
-           * (Required) Specify the conversion values to be used 
-           * with the object converter.
-           */
-          ConversionValue[] conversionValues();
-
-           /**
-            * (Optional) Specify a default object value. Used for 
-            * legacy data if the data value is missing.
-            */
-           String defaultObjectValue() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="conversion-value" type="orm:conversion-value" minOccurs="1" maxOccurs="unbounded"/>
-      <xsd:element name="default-object-value" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal" type="orm:temporal" minOccurs="0"/>
-            <xsd:element name="map-key-enumerated" type="orm:enumerated" minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-              <xsd:element name="map-key-attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column" minOccurs="0"/>
-            <xsd:element name="map-key-join-column" type="orm:map-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-       </xsd:sequence>
-     </xsd:choice>
-     <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-     <xsd:choice>
-       <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-       <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-     </xsd:choice>
-     <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-     <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-     <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-     <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-     <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-   </xsd:sequence>
-   <xsd:attribute name="name" type="xsd:string" use="required"/>
-   <xsd:attribute name="target-entity" type="xsd:string"/>
-   <xsd:attribute name="fetch" type="orm:fetch-type"/>
-   <xsd:attribute name="access" type="orm:access-type"/>
-   <xsd:attribute name="mapped-by" type="xsd:string"/>
-   <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-          String mappedBy() default "";
-          boolean orphanRemoval() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-    <xsd:attribute name="mapped-by-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="optimistic-locking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An optimistic-locking element is used to specify the type of 
-         * optimistic locking EclipseLink should use when updating or deleting 
-         * entities. An optimistic-locking specification is supported on
-         * an entity or mapped-superclass.
-         * 
-         * It is used in conjunction with the optimistic-locking-type.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface OptimisticLocking {
-          /**
-           * (Optional) The type of optimistic locking policy to use.
-           */
-          OptimisticLockingType type() default VERSION_COLUMN;
-
-          /**
-           * (Optional) For an optimistic locking policy of type 
-           * SELECTED_COLUMNS, this annotation member becomes a (Required) 
-           * field.
-           */
-          Column[] selectedColumns() default {};
-
-          /**
-           * (Optional) Specify where the optimistic locking policy should 
-           * cascade lock. Currently only supported with VERSION_COLUMN locking.
-           */
-          boolean cascade() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="selected-column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="type" type="orm:optimistic-locking-type"/>
-    <xsd:attribute name="cascade" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="optimistic-locking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A simple type that is used within an optimistic-locking 
-         * specification to specify the type of optimistic-locking that
-         * EclipseLink should use when updating or deleting entities.
-         */
-        public enum OptimisticLockingType {
-          /**
-           * Using this type of locking policy compares every field in the table
-           * in the WHERE clause when doing an update or a delete. If any field
-           * has been changed, an optimistic locking exception will be thrown.
-           */
-          ALL_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares only the changed fields
-           * in the WHERE clause when doing an update. If any field has been
-           * changed, an optimistic locking exception will be thrown. A delete
-           * will only compare the primary key.
-           */
-          CHANGED_COLUMNS,
-
-          /**
-           * Using this type of locking compares selected fields in the WHERE
-           * clause when doing an update or a delete. If any field has been
-           * changed, an optimistic locking exception will be thrown. Note that
-           * the fields specified must be mapped and not be primary keys.
-           */
-          SELECTED_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares a single version number
-           * in the where clause when doing an update. The version field must be
-           * mapped and not be the primary key.
-           */
-          VERSION_COLUMN
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ALL_COLUMNS"/>
-      <xsd:enumeration value="CHANGED_COLUMNS"/>
-      <xsd:enumeration value="SELECTED_COLUMNS"/>
-      <xsd:enumeration value="VERSION_COLUMN"/>
-    </xsd:restriction>
-  </xsd:simpleType>  
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-by">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderBy {
-          String value() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="order-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderColumn {
-          String name() default "";
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="validation-mode" type="orm:order-column-validation-mode"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-column-validation-mode">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum OrderColumnValidationMode {
-          NONE,
-          CORRECTION,
-          EXCEPTION
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="NONE"/>
-      <xsd:enumeration value="CORRECTION"/>
-      <xsd:enumeration value="EXCEPTION"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-load">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostLoad {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostPersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PrePersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         *  The PrimaryKey annotation allows advanced configuration of the Id.
-         *  A validation policy can be given that allows specifying if zero is a valid id value.
-         *  The set of primary key columns can also be specified precisely.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 1.1
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface PrimaryKey {
-          /**
-           * (Optional) Configures what id validation is done.
-           * By default 0 is not a valid id value, this can be used to allow 0 id values.
-           */
-          IdValidation validation() default IdValidation.ZERO; 
-
-          /**
-           * (Optional) Used to specify the primary key columns directly.
-           * This can be used instead of @Id if the primary key includes a non basic field,
-           * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.
-           */
-          Column[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="validation" type="orm:id-validation"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface PrimaryKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        A user defined mapping's property.
-        @Target({METHOD, FIELD, TYPE})
-        @Retention(RUNTIME)
-        public @interface Property {
-          /**
-           * Property name.
-           */ 
-          String name();
-
-          /**
-           * String representation of Property value,
-           * converted to an instance of valueType.
-           */ 
-          String value();
-
-          /**
-           * Property value type.
-           * The value converted to valueType by ConversionManager.
-           * If specified must be a simple type that could be handled by 
-           * ConversionManager: 
-           * numerical, boolean, temporal.  
-           */ 
-          Class valueType() default String.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="value-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="query-hint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface QueryHint {
-          String name();
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="read-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * Unless the TransformationMapping is write-only, it should have a 
-         * ReadTransformer, it defines transformation of database column(s) 
-         * value(s)into attribute value.
-         *
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ReadTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.AttributeTransformer 
-             * interface. The class will be instantiated, its 
-             * buildAttributeValue will be used to create the value to be 
-             * assigned to the attribute.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be assigned to the attribute (not assigns the value to 
-             * the attribute). Either transformerClass or method must be 
-             * specified, but not both.
-             */ 
-            String method() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="secondary-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SecondaryTable {
-          String name();
-          String catalog() default "";
-          String schema() default "";
-          PrimaryKeyJoinColumn[] pkJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sequence-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface SequenceGenerator {
-          String name();
-          String sequenceName() default "";
-          String catalog() default "";
-          String schema() default "";
-          int initialValue() default 1;
-          int allocationSize() default 50;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="sequence-name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sql-result-set-mapping">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SqlResultSetMapping {
-          String name();
-          EntityResult[] entities() default {};
-          ColumnResult[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="entity-result" type="orm:entity-result" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="column-result" type="orm:column-result" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="stored-procedure-parameter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A StoredProcedureParameter annotation is used within a 
-         * NamedStoredProcedureQuery annotation. 
-         */ 
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface StoredProcedureParameter {
-          /**
-           * (Optional) The direction of the stored procedure parameter.
-           */
-          Direction direction() default IN;
-
-          /**
-           * (Optional) Stored procedure parameter name.
-           */
-          String name() default "";
-
-          /**
-           * (Required) The query parameter name.
-           */
-          String queryParameter();
-
-          /**
-           * (Optional) The type of Java class desired back from the procedure, 
-           * this is dependent on the type returned from the procedure.
-           */
-          Class type() default void.class;
-
-          /**
-           * (Optional) The JDBC type code, this dependent on the type returned 
-           * from the procedure.
-           */
-          int jdbcType() default -1;
-
-          /**
-           * (Optional) The JDBC type name, this may be required for ARRAY or 
-           * STRUCT types.
-           */
-          String jdbcTypeName() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="direction" type="orm:direction-type"/>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="query-parameter" type="xsd:string" use="required"/>
-    <xsd:attribute name="type" type="xsd:string"/>
-    <xsd:attribute name="jdbc-type" type="xsd:integer"/>
-    <xsd:attribute name="jdbc-type-name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="struct-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface StructConverter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must 
-           * implement the EclipseLink interface 
-           * org.eclipse.persistence.mappings.converters.Converter
-           */
-          String converter(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="converter" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Table {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface TableGenerator {
-          String name();
-          String table() default "";
-          String catalog() default "";
-          String schema() default "";
-          String pkColumnName() default "";
-          String valueColumnName() default "";
-          String pkColumnValue() default "";
-          int initialValue() default 0;
-          int allocationSize() default 50;
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="pk-column-name" type="xsd:string"/>
-    <xsd:attribute name="value-column-name" type="xsd:string"/>
-    <xsd:attribute name="pk-column-value" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Temporal {
-          TemporalType value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:temporal-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum TemporalType {
-          DATE, // java.sql.Date
-          TIME, // java.sql.Time
-          TIMESTAMP // java.sql.Timestamp
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="DATE"/>
-      <xsd:enumeration value="TIME"/>
-      <xsd:enumeration value="TIMESTAMP"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:complexType name="time-of-day">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface TimeOfDay {
-          /**
-           * (Optional) Hour of the day.
-           */ 
-          int hour() default 0;
-
-          /**
-           * (Optional) Minute of the day.
-           */ 
-          int minute() default 0;
-
-          /**
-           * (Optional) Second of the day.
-           */ 
-          int second() default 0;
-
-          /**
-           * (Optional) Millisecond of the day.
-           */ 
-          int millisecond() default 0;
-
-          /**
-           * Internal use. Do not modify.
-           */ 
-          boolean specified() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="hour" type="xsd:integer"/>
-    <xsd:attribute name="minute" type="xsd:integer"/>
-    <xsd:attribute name="second" type="xsd:integer"/>
-    <xsd:attribute name="millisecond" type="xsd:integer"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transformation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Transformation is an optional annotation for 
-         * org.eclipse.persistence.mappings.TransformationMapping.
-         * TransformationMapping allows to map an attribute to one or more 
-         * database columns.
-         * 
-         * Transformation annotation is an optional part of 
-         * TransformationMapping definition. Unless the TransformationMapping is 
-         * write-only, it should have a ReadTransformer, it defines 
-         * transformation of database column(s) value(s)into attribute value.
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer). 
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Transformation {
-            /**
-             * (Optional) Defines whether the value of the field or property 
-             * should be lazily loaded or must be eagerly fetched. The EAGER 
-             * strategy is a requirement on the persistence provider runtime 
-             * that the value must be eagerly fetched. The LAZY strategy is a 
-             * hint to the persistence provider runtime. If not specified, 
-             * defaults to EAGER.
-             */
-            FetchType fetch() default EAGER;
-
-            /**
-             * (Optional) The optional element is a hint as to whether the value
-             *  of the field or property may be null. It is disregarded
-             *  for primitive types, which are considered non-optional.
-             */
-            boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="read-transformer" type="orm:read-transformer"/>
-      <xsd:element name="write-transformer" type="orm:write-transformer" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transient">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Transient {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface TypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-           String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence field 
-           * or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent field 
-           * or property.
-           */
-          Class objectType() default void.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="unique-constraint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface UniqueConstraint {
-          String name() default "";
-          String[] columnNames();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="column-name" type="xsd:string" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="variable-one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-        /** 
-         * Variable one to one mappings are used to represent a pointer 
-         * references between a java object and an implementer of an interface. 
-         * This mapping is usually represented by a single pointer (stored in an 
-         * instance variable) between the source and target objects. In the 
-         * relational database tables, these mappings are normally implemented 
-         * using a foreign key and a type code.
-         * 
-         * A VariableOneToOne can be specified within an Entity, 
-         * MappedSuperclass and Embeddable class. 
-         */ 
-        @Target({METHOD, FIELD}) 
-        @Retention(RUNTIME)
-        public @interface VariableOneToOne {
-          /**
-           * (Optional) The interface class that is the target of the 
-           * association. If not specified it will be inferred from the type 
-           * of the object being referenced.
-           */
-          Class targetInterface() default void.class;
-
-          /**
-           * (Optional) The operations that must be cascaded to the target of 
-           * the association.
-           */
-          CascadeType[] cascade() default {};
-
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime 
-           * that the value must be eagerly fetched. The LAZY strategy is a 
-           * hint to the persistence provider runtime. If not specified, 
-           * defaults to EAGER.
-           */
-          FetchType fetch() default EAGER;
-
-          /**
-           * (Optional) Whether the association is optional. If set to false 
-           * then a non-null relationship must always exist.
-           */
-          boolean optional() default true;
-
-          /**
-           * (Optional) The discriminator column will hold the type 
-           * indicators. If the DiscriminatorColumn is not specified, the name 
-           * of the discriminator column defaults to "DTYPE" and the 
-           * discriminator type to STRING.
-           */
-          DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;
-
-          /**
-           * (Optional) The list of discriminator types that can be used with 
-           * this VariableOneToOne. If none are specified then those entities 
-           * within the persistence unit that implement the target interface 
-           * will be added to the list of types. The discriminator type will 
-           * default as follows:
-           *  - If DiscriminatorColumn type is STRING: Entity.name()
-           *  - If DiscriminatorColumn type is CHAR: First letter of the 
-           *    Entity class
-           *  - If DiscriminatorColumn type is INTEGER: The next integer after 
-           *    the highest integer explicitly added.
-           */
-          DiscriminatorClass[] discriminatorClasses() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-      <xsd:element name="discriminator-class" type="orm:discriminator-class" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-interface" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="version">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Version {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="write-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         *  
-         * A single WriteTransformer may be specified directly on the method or 
-         * attribute. Multiple WriteTransformers should be wrapped into 
-         * WriteTransformers annotation. No WriteTransformers specified for 
-         * read-only mapping. Unless the TransformationMapping is write-only, it 
-         * should have a ReadTransformer, it defines transformation of database 
-         * column(s) value(s)into attribute value.
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface WriteTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.FieldTransformer 
-             * interface. The class will be instantiated, its buildFieldValue 
-             * will be used to create the value to be written into the database 
-             * column. Note that for ddl generation and returning to be 
-             * supported the method buildFieldValue in the class should be 
-             * defined to return the relevant Java type, not just Object as 
-             * defined in the interface, for instance:
-             * public Time buildFieldValue(Object instance, String fieldName, Session session).
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be written into the database column.
-             * Note that for ddl generation and returning to be supported the 
-             * method should be defined to return a particular type, not just 
-             * Object, for instance:
-             * public Time getStartTime().
-             * The method may require a Transient annotation to avoid being 
-             * mapped as Basic by default.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            String method() default "";
-
-            /**
-             * Specify here the column into which the value should be written.
-             * The only case when this could be skipped is if a single 
-             * WriteTransformer annotates an attribute - the attribute's name 
-             * will be used as a column name.
-             */ 
-            Column column() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-</xsd:schema>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_0.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_0.xsd
deleted file mode 100644
index 2aa23ac..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_0.xsd
+++ /dev/null
@@ -1,3625 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the 
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- which accompanies this distribution. 
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at 
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     Oracle - initial API and implementation from Oracle TopLink
-     tware - update version number to 2.0
-*****************************************************************************/
--->
-
-<!-- Java Persistence API object-relational mapping file schema -->
-<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-  elementFormDefault="qualified" 
-  attributeFormDefault="unqualified" 
-  version="2.0">
-
-  <xsd:annotation>
-    <xsd:documentation>
-      @(#)eclipselink_orm_2_0.xsd 2.0  October 5 2008
-    </xsd:documentation>
-  </xsd:annotation>
-  <xsd:annotation>
-     <xsd:documentation><![CDATA[
-
-       This is the XML Schema for the native Eclipselink XML mapping file
-       The file may be named "META-INF/eclipselink-orm.xml" in the persistence
-       archive or it may be named some other name which would be
-       used to locate the file as resource on the classpath.
-       Object/relational mapping files must indicate the object/relational
-       mapping file schema by using the persistence namespace:
-
-       http://www.eclipse.org/eclipselink/xsds/persistence/orm
-
-       and indicate the version of the schema by using the version element as shown below:
-
-       <entity-mappings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm 
-       eclipselink_orm_2_0.xsd
-       version="2.0">
-       ...
-       </entity-mappings>
-
-     ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="emptyType"/>
-  <xsd:simpleType name="versionType">
-    <xsd:restriction base="xsd:token">
-      <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="access-methods">
-    <xsd:annotation>
-      <xsd:documentation>
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="get-method" type="xsd:string" use="required"/>
-    <xsd:attribute name="set-method" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="cache">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Cache annotation is used to set an 
-         * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy 
-         * which sets objects in EclipseLink's identity maps to be invalid 
-         * following given rules. By default in EclipseLink, objects do not 
-         * expire in the cache. Several different policies are available to 
-         * allow objects to expire.
-         * 
-         * @see org.eclipse.persistence.annotations.CacheType
-         * 
-         * A Cache anotation may be defined on an Entity or MappedSuperclass. 
-         * In the case of inheritance, a Cache annotation should only be defined 
-         * on the root of the inheritance hierarchy.
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Cache {
-          /**
-           * (Optional) The type of cache to use.
-           */ 
-          CacheType type() default SOFT_WEAK;
-
-          /**
-           * (Optional) The size of cache to use.
-           */ 
-          int size() default 100;
-
-          /**
-           * (Optional) Cached instances in the shared cache or a client 
-           * isolated cache.
-           */ 
-          boolean shared() default true;
-
-          /**
-           * (Optional) Expire cached instance after a fix period of time (ms). 
-           * Queries executed against the cache after this will be forced back 
-           * to the database for a refreshed copy
-           */ 
-          int expiry() default -1; // minus one is no expiry.
-
-          /**
-           * (Optional) Expire cached instance a specific time of day. Queries 
-           * executed against the cache after this will be forced back to the 
-           * database for a refreshed copy
-           */ 
-          TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
-
-          /**
-           * (Optional) Force all queries that go to the database to always 
-           * refresh the cache.
-           */ 
-          boolean alwaysRefresh() default false;
-
-          /**
-           * (Optional) For all queries that go to the database, refresh the
-           * cache only if the data received from the database by a query is 
-           * newer than the data in the cache (as determined by the optimistic 
-           * locking field)
-           */ 
-          boolean refreshOnlyIfNewer() default false;
-
-          /**
-           * (Optional) Setting to true will force all queries to bypass the 
-           * cache for hits but still resolve against the cache for identity. 
-           * This forces all queries to hit the database.
-           */ 
-          boolean disableHits() default false;
-
-          /**
-           * (Optional) The cache coordination mode.
-           */ 
-          CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="expiry" type="xsd:integer" minOccurs="0"/>
-      <xsd:element name="expiry-time-of-day" type="orm:time-of-day" minOccurs="0"/>
-    </xsd:choice>
-    <xsd:attribute name="size" type="xsd:integer"/>
-    <xsd:attribute name="shared" type="xsd:boolean"/>
-    <xsd:attribute name="type" type="orm:cache-type"/>
-    <xsd:attribute name="always-refresh" type="xsd:boolean"/>
-    <xsd:attribute name="refresh-only-if-newer" type="xsd:boolean"/>
-    <xsd:attribute name="disable-hits" type="xsd:boolean"/>
-    <xsd:attribute name="coordination-type" type="orm:cache-coordination-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** --> 
-
-  <xsd:complexType name="cache-interceptor">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface CacheInterceptor {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  <!-- **************************************************** -->
-
-
-  <xsd:simpleType name="cache-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The CacheType enum is used with the Cache annotation for a 
-         * persistent class. It defines the type of IdentityMap/Cache used for 
-         * the class. By default the SOFT_WEAK cache type is used.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */
-        public enum CacheType {
-          /**
-           * Provides full caching and guaranteed identity. Caches all objects
-           * and does not remove them. 
-           * WARNING: This method may be memory intensive when many objects are 
-           * read.
-           */
-          FULL,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using weak references. This method allows full garbage
-           * collection and provides full caching and guaranteed identity.
-           */
-          WEAK,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using soft references. This method allows full garbage
-           * collection when memory is low and provides full caching and
-           * guaranteed identity.
-           */
-          SOFT,
-
-          /**
-           * Similar to the WEAK identity map except that it maintains a
-           * most-frequently-used sub-cache. The size of the sub-cache is
-           * proportional to the size of the identity map as specified by
-           * descriptor's setIdentityMapSize() method. The sub-cache
-           * uses soft references to ensure that these objects are
-           * garbage-collected only if the system is low on memory.
-           */
-          SOFT_WEAK,
-
-          /**
-           * Identical to the soft cache weak (SOFT_WEAK) identity map except 
-           * that it uses hard references in the sub-cache. Use this identity 
-           * map if soft references do not behave properly on your platform.
-           */
-          HARD_WEAK,
-
-          /**
-           * A cache identity map maintains a fixed number of objects
-           * specified by the application. Objects are removed from the cache
-           * on a least-recently-used basis. This method allows object
-           * identity for the most commonly used objects.
-           * WARNING: Furnishes caching and identity, but does not guarantee 
-           * identity.
-           */
-          CACHE,
-
-          /**
-           * WARNING: Does not preserve object identity and does not cache 
-           * objects.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="FULL"/>
-      <xsd:enumeration value="WEAK"/>
-      <xsd:enumeration value="SOFT"/>
-      <xsd:enumeration value="SOFT_WEAK"/>
-      <xsd:enumeration value="HARD_WEAK"/>
-      <xsd:enumeration value="CACHE"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:simpleType name="cache-coordination-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the Cache annotation.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */ 
-        public enum CacheCoordinationType {
-          /**
-           * Sends a list of changed objects including data about the changes.
-           * This data is merged into the receiving cache.
-           */
-          SEND_OBJECT_CHANGES,
-
-          /**
-           * Sends a list of the identities of the objects that have changed. 
-           * The receiving cache invalidates the objects (rather than changing 
-           * any of the data)
-           */
-          INVALIDATE_CHANGED_OBJECTS,
-
-          /**
-           * Same as SEND_OBJECT_CHANGES except it also includes any newly
-           * created objects from the transaction.
-           */
-          SEND_NEW_OBJECTS_WITH_CHANGES,
-
-          /**
-           * Does no cache coordination.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SEND_OBJECT_CHANGES"/>
-      <xsd:enumeration value="INVALIDATE_CHANGED_OBJECTS"/>
-      <xsd:enumeration value="SEND_NEW_OBJECTS_WITH_CHANGES"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="change-tracking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The ChangeTracking annotation is used to specify the 
-         * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy 
-         * which computes changes sets for EclipseLink's UnitOfWork commit 
-         * process. An ObjectChangePolicy is stored on an Entity's descriptor.
-         *
-         * A ChangeTracking annotation may be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ChangeTracking {
-          /**
-           * (Optional) The type of change tracking to use.
-           */ 
-          ChangeTrackingType value() default AUTO;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:change-tracking-type" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="change-tracking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the ChangeTracking annotation. 
-         */ 
-        public enum ChangeTrackingType {
-          /**
-           * An ATTRIBUTE change tracking type allows change tracking at the
-           * attribute level of an object. Objects with changed attributes will
-           * be processed in the commit process to include any changes in the 
-           * results of the commit. Unchanged objects will be ignored.
-           */
-          ATTRIBUTE,
-
-          /**
-           * An OBJECT change tracking policy allows an object to calculate for 
-           * itself whether it has changed. Changed objects will be processed in 
-           * the commit process to include any changes in the results of the 
-           * commit. Unchanged objects will be ignored.
-           */
-          OBJECT,
-
-          /**
-           * A DEFERRED change tracking policy defers all change detection to
-           * the UnitOfWork's change detection process. Essentially, the 
-           * calculateChanges() method will run for all objects in a UnitOfWork. 
-           * This is the default ObjectChangePolicy
-           */
-          DEFERRED,
-
-          /**
-           * Will not set any change tracking policy.
-           */
-          AUTO
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ATTRIBUTE"/>
-      <xsd:enumeration value="OBJECT"/>
-      <xsd:enumeration value="DEFERRED"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="customizer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Customizer annotation is used to specify a class that implements 
-         * the org.eclipse.persistence.config.DescriptorCustomizer 
-         * interface and is to run against an enetity's class descriptor after all 
-         * metadata processing has been completed.
-         *
-         * The Customizer annotation may be defined on an Entity, MappedSuperclass 
-         * or Embeddable class. In the case of inheritance, a Customizer is not 
-         * inherited from its parent classes. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Customizer {
-          /**
-           * (Required) Defines the name of the descriptor customizer class that 
-           * should be applied for the related entity or embeddable class.
-           */
-          Class value(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="direction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the StoredProcedureParameter annotation.
-         * It is used to specify the direction of the stored procedure 
-         * parameters of a named stored procedure query.
-         */
-        public enum Direction {
-          /**
-           * Input parameter
-           */
-          IN,
-
-          /**
-           * Output parameter
-           */
-          OUT,
-
-          /**
-           * Input and output parameter
-           */
-          IN_OUT,
-
-          /**
-           * Output cursor
-           */
-          OUT_CURSOR
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="IN"/>
-      <xsd:enumeration value="OUT"/>
-      <xsd:enumeration value="IN_OUT"/>
-      <xsd:enumeration value="OUT_CURSOR"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:element name="entity-mappings">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The entity-mappings element is the root element of an mapping
-          file. It contains the following four types of elements:
-
-          1. The persistence-unit-metadata element contains metadata
-          for the entire persistence unit. It is undefined if this element
-          occurs in multiple mapping files within the same persistence unit.
-
-          2. The package, schema, catalog and access elements apply to all of
-          the entity, mapped-superclass and embeddable elements defined in
-          the same file in which they occur.
-
-          3. The sequence-generator, table-generator, named-query,
-          named-native-query and sql-result-set-mapping elements are global
-          to the persistence unit. It is undefined to have more than one
-          sequence-generator or table-generator of the same name in the same
-          or different mapping files in a persistence unit. It is also
-          undefined to have more than one named-query, named-native-query, or
-          result-set-mapping of the same name in the same or different mapping
-          files in a persistence unit.
-
-          4. The entity, mapped-superclass and embeddable elements each define
-          the mapping information for a managed persistent class. The mapping
-          information contained in these elements may be complete or it may
-          be partial.
-
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:sequence>
-        <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="persistence-unit-metadata" type="orm:persistence-unit-metadata" minOccurs="0"/>
-        <xsd:element name="package" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-        <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-query" type="orm:named-query" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-native-query" type="orm:named-native-query" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-        <xsd:element name="sql-result-set-mapping" type="orm:sql-result-set-mapping" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="mapped-superclass" type="orm:mapped-superclass" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="entity" type="orm:entity" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embeddable" type="orm:embeddable" minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" type="orm:versionType" fixed="2.0" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="existence-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * The ExistenceChecking annotation is used to specify the type of 
-         * checking EclipseLink should use when updating entities.
-         * 
-         * An existence-checking specification is supported on an Entity or 
-         * MappedSuperclass annotation.
-         */
-        public @interface ExistenceChecking {
-
-          /**
-           * (Optional) Set the existence check for determining
-           * if an insert or update should occur for an object.
-           */
-          ExistenceType value() default CHECK_CACHE;
-        }
-
-        /**
-         * Assume that if the objects primary key does not include null and 
-         * it is in the cache, then it must exist.
-         */
-        CHECK_CACHE,
-
-        /**
-         * Perform does exist check on the database.
-         */
-        CHECK_DATABASE,
-
-        /**
-         * Assume that if the objects primary key does not include null then 
-         * it must exist. This may be used if the application guarantees or 
-         * does not care about the existence check.
-         */
-        ASSUME_EXISTENCE,
-
-        /**
-         * Assume that the object does not exist. This may be used if the 
-         * application guarantees or does not care about the existence check.  
-         * This will always force an insert to be called.
-         */
-        ASSUME_NON_EXISTENCE
-
-      </xsd:documentation>
-    </xsd:annotation>    
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="CHECK_CACHE"/>
-      <xsd:enumeration value="CHECK_DATABASE"/>
-      <xsd:enumeration value="ASSUME_EXISTENCE"/>
-      <xsd:enumeration value="ASSUME_NON_EXISTENCE"/>
-    </xsd:restriction>
-  </xsd:simpleType> 
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-metadata">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Metadata that applies to the persistence unit and not just to 
-        the mapping file in which it is contained. 
-
-        If the xml-mapping-metadata-complete element is specified,
-        the complete set of mapping metadata for the persistence unit
-        is contained in the XML mapping files for the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="exclude-default-mappings" type="orm:emptyType" minOccurs="0"/>             
-      <xsd:element name="persistence-unit-defaults" type="orm:persistence-unit-defaults" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-defaults">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        These defaults are applied to the persistence unit as a whole
-        unless they are overridden by local annotation or XML
-        element settings.
-
-        schema - Used as the schema for all tables, secondary tables,
-            collection tables, sequence generators, and table generators
-            that apply to the persistence unit
-        catalog - Used as the catalog for all tables, secondary tables,
-            collection tables, sequence generators, and table generators
-            that apply to the persistence unit
-        access - Used as the access type for all managed classes in
-            the persistence unit
-        cascade-persist - Adds cascade-persist to the set of cascade options
-            in all entity relationships of the persistence unit
-        entity-listeners - List of default entity listeners to be invoked
-            on each entity in the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="schema" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="catalog" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="delimited-identifiers" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for an entity. Is allowed to be
-        sparsely populated and used in conjunction with the annotations.
-        Alternatively, the metadata-complete attribute can be used to
-        indicate that no annotations on the entity class (and its fields
-        or properties) are to be processed. If this is the case then
-        the defaulting rules for the entity and its sub-elements will
-        be recursively applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-          public @interface Entity {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="table" type="orm:table" minOccurs="0"/>
-      <xsd:element name="secondary-table" type="orm:secondary-table" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
-      <xsd:element name="discriminator-value" type="orm:discriminator-value" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="named-query" type="orm:named-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="sql-result-set-mapping" type="orm:sql-result-set-mapping" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="query-redirectors" type="orm:query-redirectors" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="access-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element determines how the persistence provider accesses the
-        state of an entity or embedded object.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="PROPERTY"/>
-      <xsd:enumeration value="FIELD"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="association-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AssociationOverride {
-          String name();
-          JoinColumn[] joinColumns() default{};
-          JoinTable joinTable() default @JoinTable;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attribute-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AttributeOverride {
-          String name();
-          Column column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attributes">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element contains the entity field or property mappings.
-        It may be sparsely populated to include only a subset of the
-        fields or properties. If metadata-complete for the entity is true
-        then the remainder of the attributes will be defaulted according
-        to the default rules.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="id" type="orm:id" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embedded-id" type="orm:embedded-id" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="basic" type="orm:basic" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-collection" type="orm:basic-collection" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-map" type="orm:basic-map" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="version" type="orm:version" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-one" type="orm:many-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-many" type="orm:one-to-many" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-one" type="orm:one-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="variable-one-to-one" type="orm:variable-one-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-many" type="orm:many-to-many" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="element-collection" type="orm:element-collection" minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="embedded" type="orm:embedded" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transformation" type="orm:transformation" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transient" type="orm:transient" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Basic {
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="lob" type="orm:lob"/>
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="enumerated" type="orm:enumerated"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicCollection {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY; 
- 
-          /**
-           * (Optional) The name of the value column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic-map">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicMap {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY;
-
-          /**
-           * (Optional) The name of the data column that holds the direct map 
-           * key. If the name on te key column is "", the name will default to:
-           * the name of the property or field; "_KEY".
-           */
-          Column keyColumn() default @Column;
-
-          /**
-           * (Optional) Specify the key converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the direct map key.
-           */
-          Convert keyConverter() default @Convert;
-
-          /**
-           * (Optional) The name of the data column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-
-          /**
-           * (Optional) Specify the value converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the value column mapping.
-           */
-          Convert valueConverter() default @Convert;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="key-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="key-converter" type="xsd:string" minOccurs="0"/>    
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="value-converter" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>    
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="cascade-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade-all" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="cascade-merge" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="cascade-remove" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="cascade-refresh" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CloneCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an 
-         * Entity. A CloneCopyPolicy must specify at one or both of the "method" 
-         * or "workingCopyMethod". "workingCopyMethod" is used to clone objects 
-         * that will be returned to the user as they are registered in 
-         * EclipseLink's transactional mechanism, the UnitOfWork. "method" will 
-         * be used for the clone that is used for comparison in conjunction with 
-         * EclipseLink's DeferredChangeDetectionPolicy
-         *  
-         * A CloneCopyPolicy should be specified on an Entity, MappedSuperclass
-         * or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod", workingCopyMethod="myWorkingCopyCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(workingCopyMethodName="myWorkingCopyClone")
-         */
-        public @interface CloneCopyPolicy {
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified this defines 
-             * a method that will be used to create a clone that will be used 
-             * for comparison by
-             * EclipseLink's DeferredChangeDetectionPolicy
-             */
-            String method();
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified
-             * this defines a method that will be used to create a clone that 
-             * will be used to create the object returned when registering an 
-             * Object in an EclipseLink UnitOfWork
-             */
-            String workingCopyMethod();
-
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method" type="xsd:string"/>
-    <xsd:attribute name="working-copy-method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface CollectionTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="eclipselink-collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface CollectionTable {
-          /**
-           * (Optional) The name of the collection table. If it is not 
-           * specified, it is defaulted to the concatenation of the following: 
-           * the name of the source entity; "_" ; the name of the relationship 
-           * property or field of the source entity.
-           */
-          String name() default ""; 
-
-          /**
-           * (Optional) The catalog of the table. It defaults to the persistence 
-           * unit default catalog.
-           */
-          String catalog() default ""; 
-
-          /**
-           * (Optional) The schema of the table. It defaults to the persistence 
-           * unit default schema.
-           */
-          String schema() default ""; 
-
-          /**
-           * (Optional) Used to specify a primary key column that is used as a 
-           * foreign key to join to another table. If the source entity uses a 
-           * composite primary key, a primary key join column must be specified 
-           * for each field of the composite primary key. In a single primary 
-           * key case, a primary key join column may optionally be specified. 
-           * Defaulting will apply otherwise as follows:
-           * name, the same name as the primary key column of the primary table 
-           * of the source entity. referencedColumnName, the same name of 
-           * primary key column of the primary table of the source entity.
-           */
-          PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {}; 
- 
-          /**
-           * (Optional) Unique constraints that are to be placed on the table. 
-           * These are only used if table generation is in effect.
-           */
-          UniqueConstraint[] uniqueConstraints() default {}; 
-       }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Column {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="conversion-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface ConversionValue {
-          /**
-           * (Required) Specify the database value.
-           */
-          String dataValue();
-
-          /**
-           * (Required) Specify the object value.
-           */
-          String objectValue();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="data-value" type="xsd:string" use="required"/>
-    <xsd:attribute name="object-value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Converter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must implement
-           * the org.eclipse.persistence.mappings.converters.Converter interface.
-           */
-          Class converterClass(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface ColumnResult {
-          String name();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CopyPolicy is used to set a 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
-         * It is required that a class that implements 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified 
-         * as the argument.
-         * 
-         * A CopyPolicy should be specified on an Entity, MappedSuperclass or 
-         * Embeddable.
-         * 
-         * For instance:
-         * @Entity
-         * @CopyPolicy("example.MyCopyPolicy")
-         */
-        public @interface CopyPolicy {
-
-        /*
-        * (Required)
-        * This defines the class of the copy policy. It must specify a class 
-        * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
-        */
-        Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorColumn {
-          String name() default "DTYPE";
-          DiscriminatorType discriminatorType() default STRING;
-          String columnDefinition() default "";
-          int length() default 31;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A DiscriminatorClass is used within a VariableOneToOne annotation.
-         */ 
-        @Target({}) 
-        @Retention(RUNTIME)
-        public @interface DiscriminatorClass {
-          /**
-           * (Required) The discriminator to be stored on the database. 
-           */
-          String discriminator();
-
-          /**
-           * (Required) The class to the instantiated with the given 
-           * discriminator.
-           */
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="discriminator" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum DiscriminatorType { STRING, CHAR, INTEGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="STRING"/>
-      <xsd:enumeration value="CHAR"/>
-      <xsd:enumeration value="INTEGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorValue {
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-   <!-- **************************************************** -->
-
-  <xsd:complexType name="element-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ElementCollection {
-          Class targetClass() default void.class;
-          FetchType fetch() default LAZY;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal" type="orm:temporal" minOccurs="0"/>
-            <xsd:element name="map-key-enumerated" type="orm:enumerated" minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:sequence>
-              <xsd:element name="map-key-attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:sequence>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column" minOccurs="0"/>
-            <xsd:element name="map-key-join-column" type="orm:map-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:sequence>
-          <xsd:element name="column" type="orm:column" minOccurs="0"/>
-            <xsd:choice>
-              <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
-              <xsd:element name="enumerated" type="orm:enumerated" minOccurs="0"/>
-              <xsd:element name="lob" type="orm:lob" minOccurs="0"/>
-              <xsd:element name="convert" type="xsd:string"/>
-            </xsd:choice>
-        </xsd:sequence>
-        <xsd:sequence>
-          <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-          <xsd:element name="association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:collection-table" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-class" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embeddable">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for embeddable objects. Is
-        allowed to be sparsely populated and used in conjunction with
-        the annotations. Alternatively, the metadata-complete attribute
-        can be used to indicate that no annotations are to be processed
-        in the class. If this is the case then the defaulting rules will
-        be recursively applied.
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Embeddable {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Embedded {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded-id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface EmbeddedId {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listener">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines an entity listener to be invoked at lifecycle events
-        for the entities that list this listener.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listeners">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface EntityListeners {
-          Class[] value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-listener" type="orm:entity-listener" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface EntityResult {
-          Class entityClass();
-          FieldResult[] fields() default {};
-          String discriminatorColumn() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field-result" type="orm:field-result" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
-    <xsd:attribute name="discriminator-column" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enum-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum EnumType {
-          ORDINAL,
-          STRING
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ORDINAL"/>
-      <xsd:enumeration value="STRING"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enumerated">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Enumerated {
-          EnumType value() default ORDINAL;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:enum-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum FetchType { LAZY, EAGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="LAZY"/>
-      <xsd:enumeration value="EAGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="field-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface FieldResult {
-          String name();
-          String column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="column" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="generated-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface GeneratedValue {
-          GenerationType strategy() default AUTO;
-          String generator() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:generation-type"/>
-    <xsd:attribute name="generator" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="generation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="TABLE"/>
-      <xsd:enumeration value="SEQUENCE"/>
-      <xsd:enumeration value="IDENTITY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Id {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface IdClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="id-validation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The IdValidation enum determines the type value that are valid for an Id.
-         * By default null is not allowed, and 0 is not allow for singleton ids of long or int type.
-         * The default value is ZERO for singleton ids, and NULL for composite ids.
-         * This can be set using the @PrimaryKey annotation, or ClassDescriptor API.
-         * 
-         * @see PrimaryKey
-         * @see org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)
-         * @author James Sutherland
-         * @since EclipseLink 1.0 
-         */ 
-        public enum IdValidation {
-            /**
-             * Only null is not allowed as an id value, 0 is allowed.
-             */
-            NULL,
-
-            /**
-             * null and 0 are not allowed, (only int and long).
-             */
-            ZERO,
-
-            /**
-             * No id validation is done.
-             */
-            NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="NULL"/>
-      <xsd:enumeration value="ZERO"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="inheritance">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Inheritance {
-          InheritanceType strategy() default SINGLE_TABLE;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:inheritance-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="inheritance-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum InheritanceType { SINGLE_TABLE, JOINED, TABLE_PER_CLASS };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SINGLE_TABLE"/>
-      <xsd:enumeration value="JOINED"/>
-      <xsd:enumeration value="TABLE_PER_CLASS"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * An InstantiationCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy 
-         * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in 
-         * EclipseLink and therefore this configuration option is only used to 
-         * override other types of copy policies
-         * 
-         * An InstantiationCopyPolicy should be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @InstantiationCopyPolicy 
-         */
-        public @interface InstantiationCopyPolicy {
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum JoinFetchType {
-        /**
-         * An inner join is used to fetch the related object.
-         * This does not allow for null/empty values.
-         */
-        INNER,
-
-        /**
-         * An inner join is used to fetch the related object.
-         * This allows for null/empty values.
-         */
-        OUTER,
-      }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="INNER"/>
-      <xsd:enumeration value="OUTER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          JoinColumn[] inverseJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="inverse-join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="lob">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Lob {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="lock-mode-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        public enum LockModeType { READ, WRITE, OPTIMISTIC,
-        OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE,
-        PESSIMISTIC_FORCE_INCREMENT, NONE};
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="WRITE"/>
-      <xsd:enumeration value="OPTIMISTIC"/>
-      <xsd:enumeration value="OPTIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="PESSIMISTIC_READ"/>
-      <xsd:enumeration value="PESSIMISTIC_WRITE"/>
-      <xsd:enumeration value="PESSIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal" type="orm:temporal" minOccurs="0"/>
-            <xsd:element name="map-key-enumerated" type="orm:enumerated" minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-              <xsd:element name="map-key-attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column" minOccurs="0"/>
-            <xsd:element name="map-key-join-column" type="orm:map-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="maps-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKey {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyColumn {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="mapped-superclass">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for a mapped superclass. Is
-        allowed to be sparsely populated and used in conjunction with
-        the annotations. Alternatively, the metadata-complete attribute
-        can be used to indicate that no annotations are to be processed
-        If this is the case then the defaulting rules will be recursively
-        applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-        public @interface MappedSuperclass{}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-native-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedNativeQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-          Class resultClass() default void.class;
-          String resultSetMapping() default ""; //named SqlResultSetMapping
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="lock-mode" type="orm:lock-mode-type" minOccurs="0"/>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-stored-procedure-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A NamedStoredProcedureQuery annotation allows the definition of 
-         * queries that call stored procedures as named queries.
-         * A NamedStoredProcedureQuery annotation may be defined on an Entity or
-         * MappedSuperclass. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface NamedStoredProcedureQuery {
-          /**
-           * (Required) Unique name that references this stored procedure query.
-           */
-          String name();
-
-          /**
-           * (Optional) Query hints.
-           */
-          QueryHint[] hints() default {};
-
-          /**
-           * (Optional) Refers to the class of the result.
-           */
-          Class resultClass() default void.class;
-
-          /**
-           * (Optional) The name of the SQLResultMapping.
-           */
-          String resultSetMapping() default "";
-
-          /**
-           * (Required) The name of the stored procedure.
-           */
-          String procedureName();
-
-          /**
-           * (Optional) Whether the query should return a result set.
-           */
-          boolean returnsResultSet() default true; 
-
-          /**
-           * (Optional) Defines arguments to the stored procedure.
-           */
-          StoredProcedureParameter[] parameters() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="parameter" type="orm:stored-procedure-parameter" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-    <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
-    <xsd:attribute name="returns-result-set" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ObjectTypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence
-           * field or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent 
-           * field or property.
-           */
-          Class objectType() default void.class;
-
-          /**
-           * (Required) Specify the conversion values to be used 
-           * with the object converter.
-           */
-          ConversionValue[] conversionValues();
-
-           /**
-            * (Optional) Specify a default object value. Used for 
-            * legacy data if the data value is missing.
-            */
-           String defaultObjectValue() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="conversion-value" type="orm:conversion-value" minOccurs="1" maxOccurs="unbounded"/>
-      <xsd:element name="default-object-value" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by" minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key" minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal" type="orm:temporal" minOccurs="0"/>
-            <xsd:element name="map-key-enumerated" type="orm:enumerated" minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-              <xsd:element name="map-key-attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column" minOccurs="0"/>
-            <xsd:element name="map-key-join-column" type="orm:map-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-       </xsd:sequence>
-     </xsd:choice>
-     <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-     <xsd:choice>
-       <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-       <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-     </xsd:choice>
-     <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-     <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-     <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-     <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-     <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-   </xsd:sequence>
-   <xsd:attribute name="name" type="xsd:string" use="required"/>
-   <xsd:attribute name="target-entity" type="xsd:string"/>
-   <xsd:attribute name="fetch" type="orm:fetch-type"/>
-   <xsd:attribute name="access" type="orm:access-type"/>
-   <xsd:attribute name="mapped-by" type="xsd:string"/>
-   <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-          String mappedBy() default "";
-          boolean orphanRemoval() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-    <xsd:attribute name="maps-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="optimistic-locking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An optimistic-locking element is used to specify the type of 
-         * optimistic locking EclipseLink should use when updating or deleting 
-         * entities. An optimistic-locking specification is supported on
-         * an entity or mapped-superclass.
-         * 
-         * It is used in conjunction with the optimistic-locking-type.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface OptimisticLocking {
-          /**
-           * (Optional) The type of optimistic locking policy to use.
-           */
-          OptimisticLockingType type() default VERSION_COLUMN;
-
-          /**
-           * (Optional) For an optimistic locking policy of type 
-           * SELECTED_COLUMNS, this annotation member becomes a (Required) 
-           * field.
-           */
-          Column[] selectedColumns() default {};
-
-          /**
-           * (Optional) Specify where the optimistic locking policy should 
-           * cascade lock. Currently only supported with VERSION_COLUMN locking.
-           */
-          boolean cascade() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="selected-column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="type" type="orm:optimistic-locking-type"/>
-    <xsd:attribute name="cascade" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="optimistic-locking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A simple type that is used within an optimistic-locking 
-         * specification to specify the type of optimistic-locking that
-         * EclipseLink should use when updating or deleting entities.
-         */
-        public enum OptimisticLockingType {
-          /**
-           * Using this type of locking policy compares every field in the table
-           * in the WHERE clause when doing an update or a delete. If any field
-           * has been changed, an optimistic locking exception will be thrown.
-           */
-          ALL_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares only the changed fields
-           * in the WHERE clause when doing an update. If any field has been
-           * changed, an optimistic locking exception will be thrown. A delete
-           * will only compare the primary key.
-           */
-          CHANGED_COLUMNS,
-
-          /**
-           * Using this type of locking compares selected fields in the WHERE
-           * clause when doing an update or a delete. If any field has been
-           * changed, an optimistic locking exception will be thrown. Note that
-           * the fields specified must be mapped and not be primary keys.
-           */
-          SELECTED_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares a single version number
-           * in the where clause when doing an update. The version field must be
-           * mapped and not be the primary key.
-           */
-          VERSION_COLUMN
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ALL_COLUMNS"/>
-      <xsd:enumeration value="CHANGED_COLUMNS"/>
-      <xsd:enumeration value="SELECTED_COLUMNS"/>
-      <xsd:enumeration value="VERSION_COLUMN"/>
-    </xsd:restriction>
-  </xsd:simpleType>  
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-by">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderBy {
-          String value() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="order-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderColumn {
-          String name() default "";
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="correction-type" type="orm:order-column-correction-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-column-correction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum OrderCorrectionType {
-          READ,
-          READ_WRITE,
-          EXCEPTION
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="READ_WRITE"/>
-      <xsd:enumeration value="EXCEPTION"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-load">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostLoad {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostPersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PrePersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         *  The PrimaryKey annotation allows advanced configuration of the Id.
-         *  A validation policy can be given that allows specifying if zero is a valid id value.
-         *  The set of primary key columns can also be specified precisely.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 1.1
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface PrimaryKey {
-          /**
-           * (Optional) Configures what id validation is done.
-           * By default 0 is not a valid id value, this can be used to allow 0 id values.
-           */
-          IdValidation validation() default IdValidation.ZERO; 
-
-          /**
-           * (Optional) Used to specify the primary key columns directly.
-           * This can be used instead of @Id if the primary key includes a non basic field,
-           * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.
-           */
-          Column[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="validation" type="orm:id-validation"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface PrimaryKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        A user defined mapping's property.
-        @Target({METHOD, FIELD, TYPE})
-        @Retention(RUNTIME)
-        public @interface Property {
-          /**
-           * Property name.
-           */ 
-          String name();
-
-          /**
-           * String representation of Property value,
-           * converted to an instance of valueType.
-           */ 
-          String value();
-
-          /**
-           * Property value type.
-           * The value converted to valueType by ConversionManager.
-           * If specified must be a simple type that could be handled by 
-           * ConversionManager: 
-           * numerical, boolean, temporal.  
-           */ 
-          Class valueType() default String.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="value-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="query-hint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface QueryHint {
-          String name();
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="query-redirectors">
-    <xsd:annotation>
-      <xsd:documentation>
-
-@Target({TYPE}) @Retention(RUNTIME)
-public @interface QueryRedirectors {
-    
-    /**
-     * This AllQueries Query Redirector will be applied to any executing object query
-     * that does not have a more precise redirector (like the 
-     * ReadObjectQuery Redirector) or a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * 
-     */
-    Class allQueries() default void.class;
-    
-    /**
-     * A Default ReadAll Query Redirector will be applied to any executing
-     * ReadAllQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query through the getResultList() API this is the redirector that will be invoked
-     */
-    Class readAll() default void.class;
-    
-    /**
-     * A Default ReadObject Query Redirector will be applied to any executing
-     * ReadObjectQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query through the getSingleResult() API or EntityManager.find() this is the redirector that will be invoked
-     */
-    Class readObject() default void.class;
-    
-    /**
-     * A Default ReportQuery Redirector will be applied to any executing
-     * ReportQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query that contains agregate functions or selects multiple entities this is the redirector that will be invoked
-     */
-    Class report() default void.class;
-    
-    /**
-     * A Default Update Query Redirector will be applied to any executing
-     * UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.
-     * In EclipseLink an UpdateObjectQuery is executed whenever flushing changes to the datasource.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */ 
-    Class update() default void.class;
-    
-    /**
-     * A Default Insert Query Redirector will be applied to any executing
-     * InsertObjectQuery that does not have a redirector set directly on the query.
-     * In EclipseLink an InsertObjectQuery is executed when persisting an object to the datasource.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */
-    Class insert() default void.class;
-    
-    /**
-     * A Default Delete Object Query Redirector will be applied to any executing
-     * DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */
-    Class delete() default void.class;
-
-}
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="all-queries" type="xsd:string"/>
-    <xsd:attribute name="read-all" type="xsd:string"/>
-    <xsd:attribute name="read-object" type="xsd:string"/>
-    <xsd:attribute name="report" type="xsd:string"/>
-    <xsd:attribute name="update" type="xsd:string"/>
-    <xsd:attribute name="insert" type="xsd:string"/>
-    <xsd:attribute name="delete" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="read-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * Unless the TransformationMapping is write-only, it should have a 
-         * ReadTransformer, it defines transformation of database column(s) 
-         * value(s)into attribute value.
-         *
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ReadTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.AttributeTransformer 
-             * interface. The class will be instantiated, its 
-             * buildAttributeValue will be used to create the value to be 
-             * assigned to the attribute.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be assigned to the attribute (not assigns the value to 
-             * the attribute). Either transformerClass or method must be 
-             * specified, but not both.
-             */ 
-            String method() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="secondary-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SecondaryTable {
-          String name();
-          String catalog() default "";
-          String schema() default "";
-          PrimaryKeyJoinColumn[] pkJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sequence-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface SequenceGenerator {
-          String name();
-          String sequenceName() default "";
-          String catalog() default "";
-          String schema() default "";
-          int initialValue() default 1;
-          int allocationSize() default 50;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="sequence-name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sql-result-set-mapping">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SqlResultSetMapping {
-          String name();
-          EntityResult[] entities() default {};
-          ColumnResult[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="entity-result" type="orm:entity-result" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="column-result" type="orm:column-result" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="stored-procedure-parameter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A StoredProcedureParameter annotation is used within a 
-         * NamedStoredProcedureQuery annotation. 
-         */ 
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface StoredProcedureParameter {
-          /**
-           * (Optional) The direction of the stored procedure parameter.
-           */
-          Direction direction() default IN;
-
-          /**
-           * (Optional) Stored procedure parameter name.
-           */
-          String name() default "";
-
-          /**
-           * (Required) The query parameter name.
-           */
-          String queryParameter();
-
-          /**
-           * (Optional) The type of Java class desired back from the procedure, 
-           * this is dependent on the type returned from the procedure.
-           */
-          Class type() default void.class;
-
-          /**
-           * (Optional) The JDBC type code, this dependent on the type returned 
-           * from the procedure.
-           */
-          int jdbcType() default -1;
-
-          /**
-           * (Optional) The JDBC type name, this may be required for ARRAY or 
-           * STRUCT types.
-           */
-          String jdbcTypeName() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="direction" type="orm:direction-type"/>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="query-parameter" type="xsd:string" use="required"/>
-    <xsd:attribute name="type" type="xsd:string"/>
-    <xsd:attribute name="jdbc-type" type="xsd:integer"/>
-    <xsd:attribute name="jdbc-type-name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="struct-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface StructConverter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must 
-           * implement the EclipseLink interface 
-           * org.eclipse.persistence.mappings.converters.Converter
-           */
-          String converter(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="converter" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Table {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface TableGenerator {
-          String name();
-          String table() default "";
-          String catalog() default "";
-          String schema() default "";
-          String pkColumnName() default "";
-          String valueColumnName() default "";
-          String pkColumnValue() default "";
-          int initialValue() default 0;
-          int allocationSize() default 50;
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="pk-column-name" type="xsd:string"/>
-    <xsd:attribute name="value-column-name" type="xsd:string"/>
-    <xsd:attribute name="pk-column-value" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Temporal {
-          TemporalType value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:temporal-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum TemporalType {
-          DATE, // java.sql.Date
-          TIME, // java.sql.Time
-          TIMESTAMP // java.sql.Timestamp
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="DATE"/>
-      <xsd:enumeration value="TIME"/>
-      <xsd:enumeration value="TIMESTAMP"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:complexType name="time-of-day">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface TimeOfDay {
-          /**
-           * (Optional) Hour of the day.
-           */ 
-          int hour() default 0;
-
-          /**
-           * (Optional) Minute of the day.
-           */ 
-          int minute() default 0;
-
-          /**
-           * (Optional) Second of the day.
-           */ 
-          int second() default 0;
-
-          /**
-           * (Optional) Millisecond of the day.
-           */ 
-          int millisecond() default 0;
-
-          /**
-           * Internal use. Do not modify.
-           */ 
-          boolean specified() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="hour" type="xsd:integer"/>
-    <xsd:attribute name="minute" type="xsd:integer"/>
-    <xsd:attribute name="second" type="xsd:integer"/>
-    <xsd:attribute name="millisecond" type="xsd:integer"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transformation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Transformation is an optional annotation for 
-         * org.eclipse.persistence.mappings.TransformationMapping.
-         * TransformationMapping allows to map an attribute to one or more 
-         * database columns.
-         * 
-         * Transformation annotation is an optional part of 
-         * TransformationMapping definition. Unless the TransformationMapping is 
-         * write-only, it should have a ReadTransformer, it defines 
-         * transformation of database column(s) value(s)into attribute value.
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer). 
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Transformation {
-            /**
-             * (Optional) Defines whether the value of the field or property 
-             * should be lazily loaded or must be eagerly fetched. The EAGER 
-             * strategy is a requirement on the persistence provider runtime 
-             * that the value must be eagerly fetched. The LAZY strategy is a 
-             * hint to the persistence provider runtime. If not specified, 
-             * defaults to EAGER.
-             */
-            FetchType fetch() default EAGER;
-
-            /**
-             * (Optional) The optional element is a hint as to whether the value
-             *  of the field or property may be null. It is disregarded
-             *  for primitive types, which are considered non-optional.
-             */
-            boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="read-transformer" type="orm:read-transformer"/>
-      <xsd:element name="write-transformer" type="orm:write-transformer" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transient">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Transient {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface TypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-           String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence field 
-           * or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent field 
-           * or property.
-           */
-          Class objectType() default void.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="unique-constraint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface UniqueConstraint {
-          String name() default "";
-          String[] columnNames();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column-name" type="xsd:string" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="variable-one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-        /** 
-         * Variable one to one mappings are used to represent a pointer 
-         * references between a java object and an implementer of an interface. 
-         * This mapping is usually represented by a single pointer (stored in an 
-         * instance variable) between the source and target objects. In the 
-         * relational database tables, these mappings are normally implemented 
-         * using a foreign key and a type code.
-         * 
-         * A VariableOneToOne can be specified within an Entity, 
-         * MappedSuperclass and Embeddable class. 
-         */ 
-        @Target({METHOD, FIELD}) 
-        @Retention(RUNTIME)
-        public @interface VariableOneToOne {
-          /**
-           * (Optional) The interface class that is the target of the 
-           * association. If not specified it will be inferred from the type 
-           * of the object being referenced.
-           */
-          Class targetInterface() default void.class;
-
-          /**
-           * (Optional) The operations that must be cascaded to the target of 
-           * the association.
-           */
-          CascadeType[] cascade() default {};
-
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime 
-           * that the value must be eagerly fetched. The LAZY strategy is a 
-           * hint to the persistence provider runtime. If not specified, 
-           * defaults to EAGER.
-           */
-          FetchType fetch() default EAGER;
-
-          /**
-           * (Optional) Whether the association is optional. If set to false 
-           * then a non-null relationship must always exist.
-           */
-          boolean optional() default true;
-
-          /**
-           * (Optional) The discriminator column will hold the type 
-           * indicators. If the DiscriminatorColumn is not specified, the name 
-           * of the discriminator column defaults to "DTYPE" and the 
-           * discriminator type to STRING.
-           */
-          DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;
-
-          /**
-           * (Optional) The list of discriminator types that can be used with 
-           * this VariableOneToOne. If none are specified then those entities 
-           * within the persistence unit that implement the target interface 
-           * will be added to the list of types. The discriminator type will 
-           * default as follows:
-           *  - If DiscriminatorColumn type is STRING: Entity.name()
-           *  - If DiscriminatorColumn type is CHAR: First letter of the 
-           *    Entity class
-           *  - If DiscriminatorColumn type is INTEGER: The next integer after 
-           *    the highest integer explicitly added.
-           */
-          DiscriminatorClass[] discriminatorClasses() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-      <xsd:element name="discriminator-class" type="orm:discriminator-class" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-interface" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="version">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Version {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0" maxOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="write-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         *  
-         * A single WriteTransformer may be specified directly on the method or 
-         * attribute. Multiple WriteTransformers should be wrapped into 
-         * WriteTransformers annotation. No WriteTransformers specified for 
-         * read-only mapping. Unless the TransformationMapping is write-only, it 
-         * should have a ReadTransformer, it defines transformation of database 
-         * column(s) value(s)into attribute value.
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface WriteTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.FieldTransformer 
-             * interface. The class will be instantiated, its buildFieldValue 
-             * will be used to create the value to be written into the database 
-             * column. Note that for ddl generation and returning to be 
-             * supported the method buildFieldValue in the class should be 
-             * defined to return the relevant Java type, not just Object as 
-             * defined in the interface, for instance:
-             * public Time buildFieldValue(Object instance, String fieldName, Session session).
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be written into the database column.
-             * Note that for ddl generation and returning to be supported the 
-             * method should be defined to return a particular type, not just 
-             * Object, for instance:
-             * public Time getStartTime().
-             * The method may require a Transient annotation to avoid being 
-             * mapped as Basic by default.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            String method() default "";
-
-            /**
-             * Specify here the column into which the value should be written.
-             * The only case when this could be skipped is if a single 
-             * WriteTransformer annotates an attribute - the attribute's name 
-             * will be used as a column name.
-             */ 
-            Column column() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-</xsd:schema>
-
-
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_1.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_1.xsd
deleted file mode 100644
index 5e3ce57..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_1.xsd
+++ /dev/null
@@ -1,4108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ************************************************************************************************************************** -->
-<!-- Copyright (c) 1998, 2010 Oracle. All rights reserved.                                                                      -->
-<!-- This program and the accompanying materials are made available under the                                                   -->
-<!-- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0                                           --> 
-<!-- which accompanies this distribution.                                                                                       -->
-<!-- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html                                       -->
-<!-- and the Eclipse Distribution License is available at                                                                       --> 
-<!-- http://www.eclipse.org/org/documents/edl-v10.php.                                                                          -->
-<!--                                                                                                                            -->
-<!-- Contributors:                                                                                                              -->
-<!--     Oracle - initial API and implementation from Oracle TopLink                                                            -->
-<!--     tware - update version number to 2.0                                                                                   -->
-<!--     12/2/2009-2.1 Guy Pelletier                                                                                            -->
-<!--        - 296289: Add current annotation metadata support on mapped superclasses to EclipseLink-ORM.XML Schema              -->
-<!--        - 296612: Add current annotation only metadata support of return insert/update to the EclipseLink-ORM.XML Schema    -->
-<!--        - formatted to match orm_2_0.xsd so that users can easily compare the two schemas                                   -->
-<!--     5/4/2010-2.1 Guy Pelletier                                                                                             -->
-<!--        - 227219: Expand EclipseLink-ORM.XML schema functionality for 2.1 release  (update version to 2.1)                  -->
-<!-- ************************************************************************************************************************** -->
-
-<!-- Java Persistence API object-relational mapping file schema -->
-<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-  elementFormDefault="qualified" 
-  attributeFormDefault="unqualified" 
-  version="2.1">
-
-  <xsd:annotation>
-    <xsd:documentation>
-      @(#)eclipselink_orm_2_1.xsd 2.1  April 05 2010
-    </xsd:documentation>
-  </xsd:annotation>
-  
-  <xsd:annotation>
-     <xsd:documentation><![CDATA[
-
-       This is the XML Schema for the native Eclipselink XML mapping file
-       The file may be named "META-INF/eclipselink-orm.xml" in the persistence
-       archive or it may be named some other name which would be
-       used to locate the file as resource on the classpath.
-       Object/relational mapping files must indicate the object/relational
-       mapping file schema by using the persistence namespace:
-
-       http://www.eclipse.org/eclipselink/xsds/persistence/orm
-
-       and indicate the version of the schema by using the version element as shown below:
-
-       <entity-mappings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm 
-       eclipselink_orm_2_1.xsd
-       version="2.1">
-       ...
-       </entity-mappings>
-
-     ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="emptyType"/>
-  <xsd:simpleType name="versionType">
-    <xsd:restriction base="xsd:token">
-      <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="access-methods">
-    <xsd:annotation>
-      <xsd:documentation>
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="get-method" type="xsd:string" use="required"/>
-    <xsd:attribute name="set-method" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="cache">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Cache annotation is used to set an 
-         * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy 
-         * which sets objects in EclipseLink's identity maps to be invalid 
-         * following given rules. By default in EclipseLink, objects do not 
-         * expire in the cache. Several different policies are available to 
-         * allow objects to expire.
-         * 
-         * @see org.eclipse.persistence.annotations.CacheType
-         * 
-         * A Cache anotation may be defined on an Entity or MappedSuperclass. 
-         * In the case of inheritance, a Cache annotation should only be defined 
-         * on the root of the inheritance hierarchy.
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Cache {
-          /**
-           * (Optional) The type of cache to use.
-           */ 
-          CacheType type() default SOFT_WEAK;
-
-          /**
-           * (Optional) The size of cache to use.
-           */ 
-          int size() default 100;
-
-          /**
-           * (Optional) Cached instances in the shared cache or a client 
-           * isolated cache.
-           */ 
-          boolean shared() default true;
-
-          /**
-           * (Optional) Expire cached instance after a fix period of time (ms). 
-           * Queries executed against the cache after this will be forced back 
-           * to the database for a refreshed copy
-           */ 
-          int expiry() default -1; // minus one is no expiry.
-
-          /**
-           * (Optional) Expire cached instance a specific time of day. Queries 
-           * executed against the cache after this will be forced back to the 
-           * database for a refreshed copy
-           */ 
-          TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
-
-          /**
-           * (Optional) Force all queries that go to the database to always 
-           * refresh the cache.
-           */ 
-          boolean alwaysRefresh() default false;
-
-          /**
-           * (Optional) For all queries that go to the database, refresh the
-           * cache only if the data received from the database by a query is 
-           * newer than the data in the cache (as determined by the optimistic 
-           * locking field)
-           */ 
-          boolean refreshOnlyIfNewer() default false;
-
-          /**
-           * (Optional) Setting to true will force all queries to bypass the 
-           * cache for hits but still resolve against the cache for identity. 
-           * This forces all queries to hit the database.
-           */ 
-          boolean disableHits() default false;
-
-          /**
-           * (Optional) The cache coordination mode.
-           */ 
-          CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="expiry" type="xsd:integer" minOccurs="0"/>
-      <xsd:element name="expiry-time-of-day" type="orm:time-of-day" minOccurs="0"/>
-    </xsd:choice>
-    <xsd:attribute name="size" type="xsd:integer"/>
-    <xsd:attribute name="shared" type="xsd:boolean"/>
-    <xsd:attribute name="type" type="orm:cache-type"/>
-    <xsd:attribute name="always-refresh" type="xsd:boolean"/>
-    <xsd:attribute name="refresh-only-if-newer" type="xsd:boolean"/>
-    <xsd:attribute name="disable-hits" type="xsd:boolean"/>
-    <xsd:attribute name="coordination-type" type="orm:cache-coordination-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** --> 
-
-  <xsd:complexType name="cache-interceptor">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface CacheInterceptor {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-
-  <xsd:simpleType name="cache-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The CacheType enum is used with the Cache annotation for a 
-         * persistent class. It defines the type of IdentityMap/Cache used for 
-         * the class. By default the SOFT_WEAK cache type is used.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */
-        public enum CacheType {
-          /**
-           * Provides full caching and guaranteed identity. Caches all objects
-           * and does not remove them. 
-           * WARNING: This method may be memory intensive when many objects are 
-           * read.
-           */
-          FULL,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using weak references. This method allows full garbage
-           * collection and provides full caching and guaranteed identity.
-           */
-          WEAK,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using soft references. This method allows full garbage
-           * collection when memory is low and provides full caching and
-           * guaranteed identity.
-           */
-          SOFT,
-
-          /**
-           * Similar to the WEAK identity map except that it maintains a
-           * most-frequently-used sub-cache. The size of the sub-cache is
-           * proportional to the size of the identity map as specified by
-           * descriptor's setIdentityMapSize() method. The sub-cache
-           * uses soft references to ensure that these objects are
-           * garbage-collected only if the system is low on memory.
-           */
-          SOFT_WEAK,
-
-          /**
-           * Identical to the soft cache weak (SOFT_WEAK) identity map except 
-           * that it uses hard references in the sub-cache. Use this identity 
-           * map if soft references do not behave properly on your platform.
-           */
-          HARD_WEAK,
-
-          /**
-           * A cache identity map maintains a fixed number of objects
-           * specified by the application. Objects are removed from the cache
-           * on a least-recently-used basis. This method allows object
-           * identity for the most commonly used objects.
-           * WARNING: Furnishes caching and identity, but does not guarantee 
-           * identity.
-           */
-          CACHE,
-
-          /**
-           * WARNING: Does not preserve object identity and does not cache 
-           * objects.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="FULL"/>
-      <xsd:enumeration value="WEAK"/>
-      <xsd:enumeration value="SOFT"/>
-      <xsd:enumeration value="SOFT_WEAK"/>
-      <xsd:enumeration value="HARD_WEAK"/>
-      <xsd:enumeration value="CACHE"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:simpleType name="cache-coordination-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the Cache annotation.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */ 
-        public enum CacheCoordinationType {
-          /**
-           * Sends a list of changed objects including data about the changes.
-           * This data is merged into the receiving cache.
-           */
-          SEND_OBJECT_CHANGES,
-
-          /**
-           * Sends a list of the identities of the objects that have changed. 
-           * The receiving cache invalidates the objects (rather than changing 
-           * any of the data)
-           */
-          INVALIDATE_CHANGED_OBJECTS,
-
-          /**
-           * Same as SEND_OBJECT_CHANGES except it also includes any newly
-           * created objects from the transaction.
-           */
-          SEND_NEW_OBJECTS_WITH_CHANGES,
-
-          /**
-           * Does no cache coordination.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SEND_OBJECT_CHANGES"/>
-      <xsd:enumeration value="INVALIDATE_CHANGED_OBJECTS"/>
-      <xsd:enumeration value="SEND_NEW_OBJECTS_WITH_CHANGES"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="change-tracking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The ChangeTracking annotation is used to specify the 
-         * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy 
-         * which computes changes sets for EclipseLink's UnitOfWork commit 
-         * process. An ObjectChangePolicy is stored on an Entity's descriptor.
-         *
-         * A ChangeTracking annotation may be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ChangeTracking {
-          /**
-           * (Optional) The type of change tracking to use.
-           */ 
-          ChangeTrackingType value() default AUTO;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:change-tracking-type" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="change-tracking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the ChangeTracking annotation. 
-         */ 
-        public enum ChangeTrackingType {
-          /**
-           * An ATTRIBUTE change tracking type allows change tracking at the
-           * attribute level of an object. Objects with changed attributes will
-           * be processed in the commit process to include any changes in the 
-           * results of the commit. Unchanged objects will be ignored.
-           */
-          ATTRIBUTE,
-
-          /**
-           * An OBJECT change tracking policy allows an object to calculate for 
-           * itself whether it has changed. Changed objects will be processed in 
-           * the commit process to include any changes in the results of the 
-           * commit. Unchanged objects will be ignored.
-           */
-          OBJECT,
-
-          /**
-           * A DEFERRED change tracking policy defers all change detection to
-           * the UnitOfWork's change detection process. Essentially, the 
-           * calculateChanges() method will run for all objects in a UnitOfWork. 
-           * This is the default ObjectChangePolicy
-           */
-          DEFERRED,
-
-          /**
-           * Will not set any change tracking policy.
-           */
-          AUTO
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ATTRIBUTE"/>
-      <xsd:enumeration value="OBJECT"/>
-      <xsd:enumeration value="DEFERRED"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="customizer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Customizer annotation is used to specify a class that implements 
-         * the org.eclipse.persistence.config.DescriptorCustomizer 
-         * interface and is to run against an enetity's class descriptor after all 
-         * metadata processing has been completed.
-         *
-         * The Customizer annotation may be defined on an Entity, MappedSuperclass 
-         * or Embeddable class. In the case of inheritance, a Customizer is not 
-         * inherited from its parent classes. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Customizer {
-          /**
-           * (Required) Defines the name of the descriptor customizer class that 
-           * should be applied for the related entity or embeddable class.
-           */
-          Class value(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="direction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the StoredProcedureParameter annotation.
-         * It is used to specify the direction of the stored procedure 
-         * parameters of a named stored procedure query.
-         */
-        public enum Direction {
-          /**
-           * Input parameter
-           */
-          IN,
-
-          /**
-           * Output parameter
-           */
-          OUT,
-
-          /**
-           * Input and output parameter
-           */
-          IN_OUT,
-
-          /**
-           * Output cursor
-           */
-          OUT_CURSOR
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="IN"/>
-      <xsd:enumeration value="OUT"/>
-      <xsd:enumeration value="IN_OUT"/>
-      <xsd:enumeration value="OUT_CURSOR"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:element name="entity-mappings">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation>
-
-        The entity-mappings element is the root element of a mapping
-        file. It contains the following four types of elements:
-
-        1. The persistence-unit-metadata element contains metadata
-        for the entire persistence unit. It is undefined if this element
-        occurs in multiple mapping files within the same persistence unit.
-        
-        2. The package, schema, catalog and access elements apply to all of
-        the entity, mapped-superclass and embeddable elements defined in
-        the same file in which they occur.
-
-        3. The sequence-generator, table-generator, named-query,
-        named-native-query and sql-result-set-mapping elements are global
-        to the persistence unit. It is undefined to have more than one
-        sequence-generator or table-generator of the same name in the same
-        or different mapping files in a persistence unit. It is also 
-        undefined to have more than one named-query, named-native-query, or
-        result-set-mapping of the same name in the same or different mapping 
-        files in a persistence unit.
-
-        4. The entity, mapped-superclass and embeddable elements each define
-        the mapping information for a managed persistent class. The mapping
-        information contained in these elements may be complete or it may
-        be partial.
-
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:sequence>
-        <xsd:element name="description" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="persistence-unit-metadata" 
-                     type="orm:persistence-unit-metadata"
-                     minOccurs="0"/>
-        <xsd:element name="package" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="access-methods" type="orm:access-methods" 
-                     minOccurs="0"/>                     
-        <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="sequence-generator" type="orm:sequence-generator"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="table-generator" type="orm:table-generator" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-query" type="orm:named-query" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-native-query" type="orm:named-native-query"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-        <xsd:element name="sql-result-set-mapping" 
-                     type="orm:sql-result-set-mapping" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="mapped-superclass" type="orm:mapped-superclass" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="entity" type="orm:entity" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embeddable" type="orm:embeddable" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" type="orm:versionType" 
-                     fixed="2.1" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="existence-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * The ExistenceChecking annotation is used to specify the type of 
-         * checking EclipseLink should use when updating entities.
-         * 
-         * An existence-checking specification is supported on an Entity or 
-         * MappedSuperclass annotation.
-         */
-        public @interface ExistenceChecking {
-
-          /**
-           * (Optional) Set the existence check for determining
-           * if an insert or update should occur for an object.
-           */
-          ExistenceType value() default CHECK_CACHE;
-        }
-
-        /**
-         * Assume that if the objects primary key does not include null and 
-         * it is in the cache, then it must exist.
-         */
-        CHECK_CACHE,
-
-        /**
-         * Perform does exist check on the database.
-         */
-        CHECK_DATABASE,
-
-        /**
-         * Assume that if the objects primary key does not include null then 
-         * it must exist. This may be used if the application guarantees or 
-         * does not care about the existence check.
-         */
-        ASSUME_EXISTENCE,
-
-        /**
-         * Assume that the object does not exist. This may be used if the 
-         * application guarantees or does not care about the existence check.  
-         * This will always force an insert to be called.
-         */
-        ASSUME_NON_EXISTENCE
-
-      </xsd:documentation>
-    </xsd:annotation>    
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="CHECK_CACHE"/>
-      <xsd:enumeration value="CHECK_DATABASE"/>
-      <xsd:enumeration value="ASSUME_EXISTENCE"/>
-      <xsd:enumeration value="ASSUME_NON_EXISTENCE"/>
-    </xsd:restriction>
-  </xsd:simpleType> 
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-metadata">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Metadata that applies to the persistence unit and not just to 
-        the mapping file in which it is contained. 
-
-        If the xml-mapping-metadata-complete element is specified,
-        the complete set of mapping metadata for the persistence unit 
-        is contained in the XML mapping files for the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="exclude-default-mappings" type="orm:emptyType" minOccurs="0"/>             
-      <xsd:element name="persistence-unit-defaults" 
-                   type="orm:persistence-unit-defaults"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-defaults">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        These defaults are applied to the persistence unit as a whole 
-        unless they are overridden by local annotation or XML 
-        element settings. 
-        
-        schema - Used as the schema for all tables, secondary tables, join
-            tables, collection tables, sequence generators, and table 
-            generators that apply to the persistence unit
-        catalog - Used as the catalog for all tables, secondary tables, join
-            tables, collection tables, sequence generators, and table 
-            generators that apply to the persistence unit
-        delimited-identifiers - Used to treat database identifiers as
-            delimited identifiers.
-        access - Used as the access type for all managed classes in
-            the persistence unit
-        cascade-persist - Adds cascade-persist to the set of cascade options
-            in all entity relationships of the persistence unit
-        entity-listeners - List of default entity listeners to be invoked 
-            on each entity in the persistence unit. 
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="delimited-identifiers" type="orm:emptyType" 
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="access-methods" type="orm:access-methods" 
-                     minOccurs="0"/>
-        <xsd:element name="cascade-persist" type="orm:emptyType" 
-                     minOccurs="0"/>
-        <xsd:element name="entity-listeners" type="orm:entity-listeners"
-                     minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for an entity. Is allowed to be
-        sparsely populated and used in conjunction with the annotations.
-        Alternatively, the metadata-complete attribute can be used to 
-        indicate that no annotations on the entity class (and its fields
-        or properties) are to be processed. If this is the case then 
-        the defaulting rules for the entity and its subelements will 
-        be recursively applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-          public @interface Entity {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="table" type="orm:table" 
-                   minOccurs="0"/>
-      <xsd:element name="secondary-table" type="orm:secondary-table" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="primary-key-join-column" 
-                   type="orm:primary-key-join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:sequence>
-            <xsd:element name="discriminator-value" type="orm:discriminator-value" minOccurs="0"/>
-            <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-        </xsd:sequence>
-        <xsd:element name="class-extractor" type="orm:class-extractor" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="fetch-group" type="orm:fetch-group" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="named-query" type="orm:named-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="sql-result-set-mapping" 
-                   type="orm:sql-result-set-mapping" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="query-redirectors" type="orm:query-redirectors" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="parent-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="access-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element determines how the persistence provider accesses the
-        state of an entity or embedded object.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="PROPERTY"/>
-      <xsd:enumeration value="FIELD"/>
-      <xsd:enumeration value="VIRTUAL"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="association-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AssociationOverride {
-          String name();
-          JoinColumn[] joinColumns() default{};
-          JoinTable joinTable() default @JoinTable;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="join-column" type="orm:join-column"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table"
-                     minOccurs="0"/>
-      </xsd:choice>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="attribute-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AttributeOverride {
-          String name();
-          Column column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="attributes">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element contains the entity field or property mappings.
-        It may be sparsely populated to include only a subset of the
-        fields or properties. If metadata-complete for the entity is true
-        then the remainder of the attributes will be defaulted according
-        to the default rules.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="id" type="orm:id" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embedded-id" type="orm:embedded-id" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="basic" type="orm:basic"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-collection" type="orm:basic-collection" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-map" type="orm:basic-map" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="version" type="orm:version"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-one" type="orm:many-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-many" type="orm:one-to-many"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-one" type="orm:one-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="variable-one-to-one" type="orm:variable-one-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-many" type="orm:many-to-many" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="element-collection" type="orm:element-collection" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="embedded" type="orm:embedded"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transformation" type="orm:transformation" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transient" type="orm:transient"
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="basic">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Basic {
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="lob" type="orm:lob"/>
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="enumerated" type="orm:enumerated"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="return-insert" type="orm:return-insert" minOccurs="0"/>
-      <xsd:element name="return-update" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="basic-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicCollection {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY; 
- 
-          /**
-           * (Optional) The name of the value column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic-map">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicMap {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY;
-
-          /**
-           * (Optional) The name of the data column that holds the direct map 
-           * key. If the name on te key column is "", the name will default to:
-           * the name of the property or field; "_KEY".
-           */
-          Column keyColumn() default @Column;
-
-          /**
-           * (Optional) Specify the key converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the direct map key.
-           */
-          Convert keyConverter() default @Convert;
-
-          /**
-           * (Optional) The name of the data column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-
-          /**
-           * (Optional) Specify the value converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the value column mapping.
-           */
-          Convert valueConverter() default @Convert;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="key-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="key-converter" type="xsd:string" minOccurs="0"/>    
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="value-converter" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>    
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="cascade-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade-all" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-merge" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-remove" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-refresh" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-detach" type="orm:emptyType"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="class-extractor">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * A ClassExtractor allows for a user defined class indicator in place of 
-         * providing a discriminator column. The class has the following restrictions:
-
-         *  - It must extend the org.eclipse.persistence.descriptors.ClassExtractor 
-         *    class and implement the extractClassFromRow(Record, Session) method. 
-         *  - That method must take a database row (a Record/Map) as an argument and 
-         *    must return the class to use for that row. 
-         * 
-         * This method will be used to decide which class to instantiate when reading 
-         * from the database. It is the application's responsibility to populate any 
-         * typing information in the database required to determine the class from the 
-         * row.
-         * 
-         * The ClassExtractor must only be set on the root of an entity class or
-         * sub-hierarchy in which a different inheritance strategy is applied. The 
-         * ClassExtractor can only be used with the SINGLE_TABLE and JOINED inheritance 
-         * strategies.
-         * 
-         * If a ClassExtractor is used then a DiscriminatorColumn cannot be used. A 
-         * ClassExtractor also cannot be used on either the root or its subclasses.
-         * 
-         * In addition, for more complex configurations using a ClassExtractor and a 
-         * SINGLE_TABLE strategy, the descriptor's withAllSubclasses and onlyInstances 
-         * expressions should be set through the ClassExtractor's initialize method.
-         *
-         * @see org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)
-         * @see org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)
-         * 
-         * @author Guy Pelletier
-         * @since EclipseLink 2.1 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ClassExtractor {
-            /**
-             * (Required) Defines the name of the class extractor that should be 
-             * applied to this entity's descriptor.
-             */
-            Class value(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-<!-- **************************************************** -->
-
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CloneCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an 
-         * Entity. A CloneCopyPolicy must specify at one or both of the "method" 
-         * or "workingCopyMethod". "workingCopyMethod" is used to clone objects 
-         * that will be returned to the user as they are registered in 
-         * EclipseLink's transactional mechanism, the UnitOfWork. "method" will 
-         * be used for the clone that is used for comparison in conjunction with 
-         * EclipseLink's DeferredChangeDetectionPolicy
-         *  
-         * A CloneCopyPolicy should be specified on an Entity, MappedSuperclass
-         * or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod", workingCopyMethod="myWorkingCopyCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(workingCopyMethodName="myWorkingCopyClone")
-         */
-        public @interface CloneCopyPolicy {
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified this defines 
-             * a method that will be used to create a clone that will be used 
-             * for comparison by
-             * EclipseLink's DeferredChangeDetectionPolicy
-             */
-            String method();
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified
-             * this defines a method that will be used to create a clone that 
-             * will be used to create the object returned when registering an 
-             * Object in an EclipseLink UnitOfWork
-             */
-            String workingCopyMethod();
-
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method" type="xsd:string"/>
-    <xsd:attribute name="working-copy-method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface CollectionTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="eclipselink-collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface CollectionTable {
-          /**
-           * (Optional) The name of the collection table. If it is not 
-           * specified, it is defaulted to the concatenation of the following: 
-           * the name of the source entity; "_" ; the name of the relationship 
-           * property or field of the source entity.
-           */
-          String name() default ""; 
-
-          /**
-           * (Optional) The catalog of the table. It defaults to the persistence 
-           * unit default catalog.
-           */
-          String catalog() default ""; 
-
-          /**
-           * (Optional) The schema of the table. It defaults to the persistence 
-           * unit default schema.
-           */
-          String schema() default ""; 
-
-          /**
-           * (Optional) Used to specify a primary key column that is used as a 
-           * foreign key to join to another table. If the source entity uses a 
-           * composite primary key, a primary key join column must be specified 
-           * for each field of the composite primary key. In a single primary 
-           * key case, a primary key join column may optionally be specified. 
-           * Defaulting will apply otherwise as follows:
-           * name, the same name as the primary key column of the primary table 
-           * of the source entity. referencedColumnName, the same name of 
-           * primary key column of the primary table of the source entity.
-           */
-          PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {}; 
- 
-          /**
-           * (Optional) Unique constraints that are to be placed on the table. 
-           * These are only used if table generation is in effect.
-           */
-          UniqueConstraint[] uniqueConstraints() default {}; 
-       }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Column {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="conversion-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface ConversionValue {
-          /**
-           * (Required) Specify the database value.
-           */
-          String dataValue();
-
-          /**
-           * (Required) Specify the object value.
-           */
-          String objectValue();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="data-value" type="xsd:string" use="required"/>
-    <xsd:attribute name="object-value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Converter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must implement
-           * the org.eclipse.persistence.mappings.converters.Converter interface.
-           */
-          Class converterClass(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface ColumnResult {
-          String name();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CopyPolicy is used to set a 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
-         * It is required that a class that implements 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified 
-         * as the argument.
-         * 
-         * A CopyPolicy should be specified on an Entity, MappedSuperclass or 
-         * Embeddable.
-         * 
-         * For instance:
-         * @Entity
-         * @CopyPolicy("example.MyCopyPolicy")
-         */
-        public @interface CopyPolicy {
-
-        /*
-        * (Required)
-        * This defines the class of the copy policy. It must specify a class 
-        * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
-        */
-        Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorColumn {
-          String name() default "DTYPE";
-          DiscriminatorType discriminatorType() default STRING;
-          String columnDefinition() default "";
-          int length() default 31;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A DiscriminatorClass is used within a VariableOneToOne annotation.
-         */ 
-        @Target({}) 
-        @Retention(RUNTIME)
-        public @interface DiscriminatorClass {
-          /**
-           * (Required) The discriminator to be stored on the database. 
-           */
-          String discriminator();
-
-          /**
-           * (Required) The class to the instantiated with the given 
-           * discriminator.
-           */
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="discriminator" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum DiscriminatorType { STRING, CHAR, INTEGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="STRING"/>
-      <xsd:enumeration value="CHAR"/>
-      <xsd:enumeration value="INTEGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorValue {
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="element-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ElementCollection {
-          Class targetClass() default void.class;
-          FetchType fetch() default LAZY;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                     minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                     minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                       minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:sequence>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:sequence>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column"
-                         type="orm:map-key-column"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                         type="orm:map-key-join-column"
-                         minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:sequence>
-          <xsd:element name="column" type="orm:column" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="lob"
-                         type="orm:lob"
-                         minOccurs="0"/>
-            <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-          </xsd:choice>
-        </xsd:sequence>
-        <xsd:sequence>
-          <xsd:element name="attribute-override"
-                       type="orm:attribute-override"
-                       minOccurs="0" maxOccurs="unbounded"/>
-          <xsd:element name="association-override"
-                       type="orm:association-override"
-                       minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:collection-table"
-                     minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-class" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="embeddable">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for embeddable objects. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        in the class. If this is the case then the defaulting rules will 
-        be recursively applied.
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Embeddable {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Embedded {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="embedded-id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface EmbeddedId {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listener">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines an entity listener to be invoked at lifecycle events
-        for the entities that list this listener.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listeners">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface EntityListeners {
-          Class[] value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-listener" type="orm:entity-listener" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="entity-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface EntityResult {
-          Class entityClass();
-          FieldResult[] fields() default {};
-          String discriminatorColumn() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field-result" type="orm:field-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
-    <xsd:attribute name="discriminator-column" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="enum-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum EnumType {
-          ORDINAL,
-          STRING
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ORDINAL"/>
-      <xsd:enumeration value="STRING"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="enumerated">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Enumerated {
-          EnumType value() default ORDINAL;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:enum-type"/>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="fetch-attribute">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface FetchAttribute {
-          /**
-           * (Required) The fetch attribute name.
-           */
-          String name(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-<!-- **************************************************** -->
-
-  <xsd:complexType name="fetch-group">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface FetchGroup {
-          /**
-           * (Required) The fetch group name.
-           */
-          String name(); 
-
-          /**
-           * (Optional) Indicates whether all relationship attributes
-           * specified in the fetch group should be loaded.
-           */
-          boolean load() default true; 
-
-          /**
-           * (Required) The list of attributes to fetch.
-           */
-          FetchAttribute[] attributes();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute" type="orm:fetch-attribute" minOccurs="1" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="load" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum FetchType { LAZY, EAGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="LAZY"/>
-      <xsd:enumeration value="EAGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="field-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface FieldResult {
-          String name();
-          String column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="column" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="generated-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface GeneratedValue {
-          GenerationType strategy() default AUTO;
-          String generator() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:generation-type"/>
-    <xsd:attribute name="generator" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="generation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="TABLE"/>
-      <xsd:enumeration value="SEQUENCE"/>
-      <xsd:enumeration value="IDENTITY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Id {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" 
-                   minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value"
-                   minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-      <xsd:element name="temporal" type="orm:temporal" 
-                   minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator"
-                   minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="id-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface IdClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="id-validation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The IdValidation enum determines the type value that are valid for an Id.
-         * By default null is not allowed, and 0 is not allow for singleton ids of long or int type.
-         * The default value is ZERO for singleton ids, and NULL for composite ids.
-         * This can be set using the @PrimaryKey annotation, or ClassDescriptor API.
-         * 
-         * @see PrimaryKey
-         * @see org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)
-         * @author James Sutherland
-         * @since EclipseLink 1.0 
-         */ 
-        public enum IdValidation {
-            /**
-             * Only null is not allowed as an id value, 0 is allowed.
-             */
-            NULL,
-
-            /**
-             * null and 0 are not allowed, (only int and long).
-             */
-            ZERO,
-
-            /**
-             * No id validation is done.
-             */
-            NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="NULL"/>
-      <xsd:enumeration value="ZERO"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="cache-key-type">
-    <xsd:annotation>
-      <xsd:documentation>
-            
-            /**
-             * Configures what type of Id value is used to store the object in the cache.
-             * This can either be the basic Id value for simple singleton Ids,
-             * or an optimized CacheKey type.
-             * 
-             * @see PrimaryKey#cacheKeyType()
-             * @see ClassDescriptor#setCacheKeyType(CacheKeyType)
-             * @author James Sutherland
-             * @since EclipseLink 2.1
-             */
-            public enum CacheKeyType {
-                /**
-                 * This can only be used for simple singleton Ids, such as long/int/String.
-                 * This is the default for simple singleton Ids.
-                 */
-                ID_VALUE,
-            
-                /**
-                 * Optimized cache key type that allows composite and complex values.
-                 * This is the default for composite or complex Ids.
-                 */
-                CACHE_KEY,
-            
-                /**
-                 * The cache key type is automatically configured depending on what is optimal for the class.
-                 */
-                AUTO
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ID_VALUE"/>
-      <xsd:enumeration value="CACHE_KEY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="inheritance">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Inheritance {
-          InheritanceType strategy() default SINGLE_TABLE;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:inheritance-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="inheritance-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum InheritanceType
-          { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SINGLE_TABLE"/>
-      <xsd:enumeration value="JOINED"/>
-      <xsd:enumeration value="TABLE_PER_CLASS"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * An InstantiationCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy 
-         * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in 
-         * EclipseLink and therefore this configuration option is only used to 
-         * override other types of copy policies
-         * 
-         * An InstantiationCopyPolicy should be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @InstantiationCopyPolicy 
-         */
-        public @interface InstantiationCopyPolicy {
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum JoinFetchType {
-        /**
-         * An inner join is used to fetch the related object.
-         * This does not allow for null/empty values.
-         */
-        INNER,
-
-        /**
-         * An inner join is used to fetch the related object.
-         * This allows for null/empty values.
-         */
-        OUTER,
-      }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="INNER"/>
-      <xsd:enumeration value="OUTER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="batch-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-            public enum BatchFetchType {
-                /**
-                 * This is the default form of batch reading.
-                 * The original query's selection criteria is joined with the batch query.
-                 */
-                JOIN,
-            
-                /**
-                 * This uses an SQL EXISTS and a sub-select in the batch query instead of a join.
-                 * This has the advantage of not requiring an SQL DISTINCT which can have issues
-                 * with LOBs, or may be more efficient for some types of queries or on some databases.
-                 */
-                EXISTS,
-            
-                /**
-                 * This uses an SQL IN clause in the batch query passing in the source object Ids.
-                 * This has the advantage of only selecting the objects not already contained in the cache,
-                 * and can work better with cursors, or if joins cannot be used.
-                 * This may only work for singleton Ids on some databases.
-                 */
-                IN    
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="JOIN"/>
-      <xsd:enumeration value="EXISTS"/>
-      <xsd:enumeration value="IN"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          JoinColumn[] inverseJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="inverse-join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="lob">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Lob {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="lock-mode-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum LockModeType { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="WRITE"/>
-      <xsd:enumeration value="OPTIMISTIC"/>
-      <xsd:enumeration value="OPTIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="PESSIMISTIC_READ"/>
-      <xsd:enumeration value="PESSIMISTIC_WRITE"/>
-      <xsd:enumeration value="PESSIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="NONE"/>
-
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="many-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                   minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                   minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                   minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                   minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-            <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column"
-                   minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                   type="orm:map-key-join-column"
-                   minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="join-table" type="orm:join-table"
-                   minOccurs="0"/>
-      <xsd:element name="cascade" type="orm:cascade-type"
-                   minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>       
-        <xsd:element name="join-column" type="orm:join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" 
-                   minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="maps-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="map-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKey {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyColumn {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="mapped-superclass">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for a mapped superclass. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        If this is the case then the defaulting rules will be recursively 
-        applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-        public @interface MappedSuperclass{}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0"/>
-      <xsd:element name="fetch-group" type="orm:fetch-group" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="named-query" type="orm:named-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="sql-result-set-mapping" 
-                   type="orm:sql-result-set-mapping" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="query-redirectors" type="orm:query-redirectors" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="parent-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="named-native-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedNativeQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-          Class resultClass() default void.class;
-          String resultSetMapping() default ""; //named SqlResultSetMapping
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="named-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedQuery {
-          String name();
-          String query();
-          LockModeType lockMode() default NONE;
-          QueryHint[] hints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="lock-mode" type="orm:lock-mode-type" minOccurs="0"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="named-stored-procedure-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A NamedStoredProcedureQuery annotation allows the definition of 
-         * queries that call stored procedures as named queries.
-         * A NamedStoredProcedureQuery annotation may be defined on an Entity or
-         * MappedSuperclass. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface NamedStoredProcedureQuery {
-          /**
-           * (Required) Unique name that references this stored procedure query.
-           */
-          String name();
-
-          /**
-           * (Optional) Query hints.
-           */
-          QueryHint[] hints() default {};
-
-          /**
-           * (Optional) Refers to the class of the result.
-           */
-          Class resultClass() default void.class;
-
-          /**
-           * (Optional) The name of the SQLResultMapping.
-           */
-          String resultSetMapping() default "";
-
-          /**
-           * (Required) The name of the stored procedure.
-           */
-          String procedureName();
-
-          /**
-           * (Optional) Whether the query should return a result set.
-           */
-          boolean returnsResultSet() default true; 
-
-          /**
-           * (Optional) Defines arguments to the stored procedure.
-           */
-          StoredProcedureParameter[] parameters() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="parameter" type="orm:stored-procedure-parameter" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-    <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
-    <xsd:attribute name="returns-result-set" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ObjectTypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence
-           * field or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent 
-           * field or property.
-           */
-          Class objectType() default void.class;
-
-          /**
-           * (Required) Specify the conversion values to be used 
-           * with the object converter.
-           */
-          ConversionValue[] conversionValues();
-
-           /**
-            * (Optional) Specify a default object value. Used for 
-            * legacy data if the data value is missing.
-            */
-           String defaultObjectValue() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="conversion-value" type="orm:conversion-value" minOccurs="1" maxOccurs="unbounded"/>
-      <xsd:element name="default-object-value" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-<xsd:complexType name="one-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                   minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                   minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                   minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                   minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column"
-                   minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                   type="orm:map-key-join-column"
-                   minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-       </xsd:sequence>
-     </xsd:choice>
-     <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="join-table" type="orm:join-table"
-                     minOccurs="0"/>
-        <xsd:element name="join-column" type="orm:join-column"
-                     minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type"
-                   minOccurs="0"/>
-     <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-     <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-     <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-     <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-     <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-          String mappedBy() default "";
-          boolean orphanRemoval() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="primary-key-join-column" 
-                     type="orm:primary-key-join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-column" type="orm:join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" 
-                   minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-    <xsd:attribute name="maps-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="optimistic-locking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An optimistic-locking element is used to specify the type of 
-         * optimistic locking EclipseLink should use when updating or deleting 
-         * entities. An optimistic-locking specification is supported on
-         * an entity or mapped-superclass.
-         * 
-         * It is used in conjunction with the optimistic-locking-type.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface OptimisticLocking {
-          /**
-           * (Optional) The type of optimistic locking policy to use.
-           */
-          OptimisticLockingType type() default VERSION_COLUMN;
-
-          /**
-           * (Optional) For an optimistic locking policy of type 
-           * SELECTED_COLUMNS, this annotation member becomes a (Required) 
-           * field.
-           */
-          Column[] selectedColumns() default {};
-
-          /**
-           * (Optional) Specify where the optimistic locking policy should 
-           * cascade lock. Currently only supported with VERSION_COLUMN locking.
-           */
-          boolean cascade() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="selected-column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="type" type="orm:optimistic-locking-type"/>
-    <xsd:attribute name="cascade" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="optimistic-locking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A simple type that is used within an optimistic-locking 
-         * specification to specify the type of optimistic-locking that
-         * EclipseLink should use when updating or deleting entities.
-         */
-        public enum OptimisticLockingType {
-          /**
-           * Using this type of locking policy compares every field in the table
-           * in the WHERE clause when doing an update or a delete. If any field
-           * has been changed, an optimistic locking exception will be thrown.
-           */
-          ALL_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares only the changed fields
-           * in the WHERE clause when doing an update. If any field has been
-           * changed, an optimistic locking exception will be thrown. A delete
-           * will only compare the primary key.
-           */
-          CHANGED_COLUMNS,
-
-          /**
-           * Using this type of locking compares selected fields in the WHERE
-           * clause when doing an update or a delete. If any field has been
-           * changed, an optimistic locking exception will be thrown. Note that
-           * the fields specified must be mapped and not be primary keys.
-           */
-          SELECTED_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares a single version number
-           * in the where clause when doing an update. The version field must be
-           * mapped and not be the primary key.
-           */
-          VERSION_COLUMN
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ALL_COLUMNS"/>
-      <xsd:enumeration value="CHANGED_COLUMNS"/>
-      <xsd:enumeration value="SELECTED_COLUMNS"/>
-      <xsd:enumeration value="VERSION_COLUMN"/>
-    </xsd:restriction>
-  </xsd:simpleType>  
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-by">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderBy {
-          String value() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="order-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderColumn {
-          String name() default "";
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="correction-type" type="orm:order-column-correction-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-column-correction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum OrderCorrectionType {
-          READ,
-          READ_WRITE,
-          EXCEPTION
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="READ_WRITE"/>
-      <xsd:enumeration value="EXCEPTION"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="post-load">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostLoad {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="post-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostPersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="post-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="post-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="pre-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PrePersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="pre-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="pre-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         *  The PrimaryKey annotation allows advanced configuration of the Id.
-         *  A validation policy can be given that allows specifying if zero is a valid id value.
-         *  The set of primary key columns can also be specified precisely.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 1.1
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface PrimaryKey {
-          /**
-           * (Optional) Configures what id validation is done.
-           * By default 0 is not a valid id value, this can be used to allow 0 id values.
-           */
-          IdValidation validation() default IdValidation.ZERO; 
-
-          /**
-           * (Optional) Configures what cache key type is used to store the object in the cache.
-           * By default the type is determined by what type is optimal for the class.
-           */
-          CacheKeyType cacheKeyType() default CacheKeyType.AUTO;
-    
-          /**
-           * (Optional) Used to specify the primary key columns directly.
-           * This can be used instead of @Id if the primary key includes a non basic field,
-           * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.
-           */
-          Column[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="validation" type="orm:id-validation"/>
-    <xsd:attribute name="cache-key-type" type="orm:cache-key-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface PrimaryKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        A user defined mapping's property.
-        @Target({METHOD, FIELD, TYPE})
-        @Retention(RUNTIME)
-        public @interface Property {
-          /**
-           * Property name.
-           */ 
-          String name();
-
-          /**
-           * String representation of Property value,
-           * converted to an instance of valueType.
-           */ 
-          String value();
-
-          /**
-           * Property value type.
-           * The value converted to valueType by ConversionManager.
-           * If specified must be a simple type that could be handled by 
-           * ConversionManager: 
-           * numerical, boolean, temporal.  
-           */ 
-          Class valueType() default String.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="value-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="query-hint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME) 
-        public @interface QueryHint {
-          String name();
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="query-redirectors">
-    <xsd:annotation>
-      <xsd:documentation>
-
-@Target({TYPE}) @Retention(RUNTIME)
-public @interface QueryRedirectors {
-    
-    /**
-     * This AllQueries Query Redirector will be applied to any executing object query
-     * that does not have a more precise redirector (like the 
-     * ReadObjectQuery Redirector) or a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * 
-     */
-    Class allQueries() default void.class;
-    
-    /**
-     * A Default ReadAll Query Redirector will be applied to any executing
-     * ReadAllQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query through the getResultList() API this is the redirector that will be invoked
-     */
-    Class readAll() default void.class;
-    
-    /**
-     * A Default ReadObject Query Redirector will be applied to any executing
-     * ReadObjectQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query through the getSingleResult() API or EntityManager.find() this is the redirector that will be invoked
-     */
-    Class readObject() default void.class;
-    
-    /**
-     * A Default ReportQuery Redirector will be applied to any executing
-     * ReportQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query that contains agregate functions or selects multiple entities this is the redirector that will be invoked
-     */
-    Class report() default void.class;
-    
-    /**
-     * A Default Update Query Redirector will be applied to any executing
-     * UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.
-     * In EclipseLink an UpdateObjectQuery is executed whenever flushing changes to the datasource.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */ 
-    Class update() default void.class;
-    
-    /**
-     * A Default Insert Query Redirector will be applied to any executing
-     * InsertObjectQuery that does not have a redirector set directly on the query.
-     * In EclipseLink an InsertObjectQuery is executed when persisting an object to the datasource.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */
-    Class insert() default void.class;
-    
-    /**
-     * A Default Delete Object Query Redirector will be applied to any executing
-     * DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */
-    Class delete() default void.class;
-
-}
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="all-queries" type="xsd:string"/>
-    <xsd:attribute name="read-all" type="xsd:string"/>
-    <xsd:attribute name="read-object" type="xsd:string"/>
-    <xsd:attribute name="report" type="xsd:string"/>
-    <xsd:attribute name="update" type="xsd:string"/>
-    <xsd:attribute name="insert" type="xsd:string"/>
-    <xsd:attribute name="delete" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="read-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * Unless the TransformationMapping is write-only, it should have a 
-         * ReadTransformer, it defines transformation of database column(s) 
-         * value(s)into attribute value.
-         *
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ReadTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.AttributeTransformer 
-             * interface. The class will be instantiated, its 
-             * buildAttributeValue will be used to create the value to be 
-             * assigned to the attribute.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be assigned to the attribute (not assigns the value to 
-             * the attribute). Either transformerClass or method must be 
-             * specified, but not both.
-             */ 
-            String method() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="return-insert">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ReturnInsert {
-            /**
-             * A ReturnInsert annotation allows for INSERT operations to return 
-             * values back into the object being written. This allows for table 
-             * default values, trigger or stored procedures computed values to 
-             * be set back into the object.
-             */
-            boolean returnOnly() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="return-only" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="secondary-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SecondaryTable {
-          String name();
-          String catalog() default "";
-          String schema() default "";
-          PrimaryKeyJoinColumn[] pkJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-       <xsd:element name="primary-key-join-column" 
-                    type="orm:primary-key-join-column" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-       <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="sequence-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface SequenceGenerator {
-          String name();
-          String sequenceName() default "";
-          String catalog() default "";
-          String schema() default "";
-          int initialValue() default 1;
-          int allocationSize() default 50;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="sequence-name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="sql-result-set-mapping">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SqlResultSetMapping {
-          String name();
-          EntityResult[] entities() default {};
-          ColumnResult[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="entity-result" type="orm:entity-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="column-result" type="orm:column-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="stored-procedure-parameter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A StoredProcedureParameter annotation is used within a 
-         * NamedStoredProcedureQuery annotation. 
-         */ 
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface StoredProcedureParameter {
-          /**
-           * (Optional) The direction of the stored procedure parameter.
-           */
-          Direction direction() default IN;
-
-          /**
-           * (Optional) Stored procedure parameter name.
-           */
-          String name() default "";
-
-          /**
-           * (Required) The query parameter name.
-           */
-          String queryParameter();
-
-          /**
-           * (Optional) The type of Java class desired back from the procedure, 
-           * this is dependent on the type returned from the procedure.
-           */
-          Class type() default void.class;
-
-          /**
-           * (Optional) The JDBC type code, this dependent on the type returned 
-           * from the procedure.
-           */
-          int jdbcType() default -1;
-
-          /**
-           * (Optional) The JDBC type name, this may be required for ARRAY or 
-           * STRUCT types.
-           */
-          String jdbcTypeName() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="direction" type="orm:direction-type"/>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="query-parameter" type="xsd:string" use="required"/>
-    <xsd:attribute name="type" type="xsd:string"/>
-    <xsd:attribute name="jdbc-type" type="xsd:integer"/>
-    <xsd:attribute name="jdbc-type-name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="struct-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface StructConverter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must 
-           * implement the EclipseLink interface 
-           * org.eclipse.persistence.mappings.converters.Converter
-           */
-          String converter(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="converter" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Table {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="table-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface TableGenerator {
-          String name();
-          String table() default "";
-          String catalog() default "";
-          String schema() default "";
-          String pkColumnName() default "";
-          String valueColumnName() default "";
-          String pkColumnValue() default "";
-          int initialValue() default 0;
-          int allocationSize() default 50;
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="pk-column-name" type="xsd:string"/>
-    <xsd:attribute name="value-column-name" type="xsd:string"/>
-    <xsd:attribute name="pk-column-value" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Temporal {
-          TemporalType value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:temporal-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum TemporalType {
-          DATE, // java.sql.Date
-          TIME, // java.sql.Time
-          TIMESTAMP // java.sql.Timestamp
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-      <xsd:restriction base="xsd:token">
-        <xsd:enumeration value="DATE"/>
-        <xsd:enumeration value="TIME"/>
-        <xsd:enumeration value="TIMESTAMP"/>
-     </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:complexType name="time-of-day">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface TimeOfDay {
-          /**
-           * (Optional) Hour of the day.
-           */ 
-          int hour() default 0;
-
-          /**
-           * (Optional) Minute of the day.
-           */ 
-          int minute() default 0;
-
-          /**
-           * (Optional) Second of the day.
-           */ 
-          int second() default 0;
-
-          /**
-           * (Optional) Millisecond of the day.
-           */ 
-          int millisecond() default 0;
-
-          /**
-           * Internal use. Do not modify.
-           */ 
-          boolean specified() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="hour" type="xsd:integer"/>
-    <xsd:attribute name="minute" type="xsd:integer"/>
-    <xsd:attribute name="second" type="xsd:integer"/>
-    <xsd:attribute name="millisecond" type="xsd:integer"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="transformation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Transformation is an optional annotation for 
-         * org.eclipse.persistence.mappings.TransformationMapping.
-         * TransformationMapping allows to map an attribute to one or more 
-         * database columns.
-         * 
-         * Transformation annotation is an optional part of 
-         * TransformationMapping definition. Unless the TransformationMapping is 
-         * write-only, it should have a ReadTransformer, it defines 
-         * transformation of database column(s) value(s)into attribute value.
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer). 
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Transformation {
-            /**
-             * (Optional) Defines whether the value of the field or property 
-             * should be lazily loaded or must be eagerly fetched. The EAGER 
-             * strategy is a requirement on the persistence provider runtime 
-             * that the value must be eagerly fetched. The LAZY strategy is a 
-             * hint to the persistence provider runtime. If not specified, 
-             * defaults to EAGER.
-             */
-            FetchType fetch() default EAGER;
-
-            /**
-             * (Optional) The optional element is a hint as to whether the value
-             *  of the field or property may be null. It is disregarded
-             *  for primitive types, which are considered non-optional.
-             */
-            boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="read-transformer" type="orm:read-transformer"/>
-      <xsd:element name="write-transformer" type="orm:write-transformer" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access" type="orm:access-type" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transient">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Transient {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface TypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-           String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence field 
-           * or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent field 
-           * or property.
-           */
-          Class objectType() default void.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="unique-constraint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface UniqueConstraint {
-          String name() default "";
-          String[] columnNames();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column-name" type="xsd:string" 
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="variable-one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-        /** 
-         * Variable one to one mappings are used to represent a pointer 
-         * references between a java object and an implementer of an interface. 
-         * This mapping is usually represented by a single pointer (stored in an 
-         * instance variable) between the source and target objects. In the 
-         * relational database tables, these mappings are normally implemented 
-         * using a foreign key and a type code.
-         * 
-         * A VariableOneToOne can be specified within an Entity, 
-         * MappedSuperclass and Embeddable class. 
-         */ 
-        @Target({METHOD, FIELD}) 
-        @Retention(RUNTIME)
-        public @interface VariableOneToOne {
-          /**
-           * (Optional) The interface class that is the target of the 
-           * association. If not specified it will be inferred from the type 
-           * of the object being referenced.
-           */
-          Class targetInterface() default void.class;
-
-          /**
-           * (Optional) The operations that must be cascaded to the target of 
-           * the association.
-           */
-          CascadeType[] cascade() default {};
-
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime 
-           * that the value must be eagerly fetched. The LAZY strategy is a 
-           * hint to the persistence provider runtime. If not specified, 
-           * defaults to EAGER.
-           */
-          FetchType fetch() default EAGER;
-
-          /**
-           * (Optional) Whether the association is optional. If set to false 
-           * then a non-null relationship must always exist.
-           */
-          boolean optional() default true;
-
-          /**
-           * (Optional) The discriminator column will hold the type 
-           * indicators. If the DiscriminatorColumn is not specified, the name 
-           * of the discriminator column defaults to "DTYPE" and the 
-           * discriminator type to STRING.
-           */
-          DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;
-
-          /**
-           * (Optional) The list of discriminator types that can be used with 
-           * this VariableOneToOne. If none are specified then those entities 
-           * within the persistence unit that implement the target interface 
-           * will be added to the list of types. The discriminator type will 
-           * default as follows:
-           *  - If DiscriminatorColumn type is STRING: Entity.name()
-           *  - If DiscriminatorColumn type is CHAR: First letter of the 
-           *    Entity class
-           *  - If DiscriminatorColumn type is INTEGER: The next integer after 
-           *    the highest integer explicitly added.
-           */
-          DiscriminatorClass[] discriminatorClasses() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-      <xsd:element name="discriminator-class" type="orm:discriminator-class" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-interface" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="version">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Version {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="write-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         *  
-         * A single WriteTransformer may be specified directly on the method or 
-         * attribute. Multiple WriteTransformers should be wrapped into 
-         * WriteTransformers annotation. No WriteTransformers specified for 
-         * read-only mapping. Unless the TransformationMapping is write-only, it 
-         * should have a ReadTransformer, it defines transformation of database 
-         * column(s) value(s)into attribute value.
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface WriteTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.FieldTransformer 
-             * interface. The class will be instantiated, its buildFieldValue 
-             * will be used to create the value to be written into the database 
-             * column. Note that for ddl generation and returning to be 
-             * supported the method buildFieldValue in the class should be 
-             * defined to return the relevant Java type, not just Object as 
-             * defined in the interface, for instance:
-             * public Time buildFieldValue(Object instance, String fieldName, Session session).
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be written into the database column.
-             * Note that for ddl generation and returning to be supported the 
-             * method should be defined to return a particular type, not just 
-             * Object, for instance:
-             * public Time getStartTime().
-             * The method may require a Transient annotation to avoid being 
-             * mapped as Basic by default.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            String method() default "";
-
-            /**
-             * Specify here the column into which the value should be written.
-             * The only case when this could be skipped is if a single 
-             * WriteTransformer annotates an attribute - the attribute's name 
-             * will be used as a column name.
-             */ 
-            Column column() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <xsd:complexType name="batch-fetch">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A BatchFetch annotation can be used on any relationship mapping,
-         * (OneToOne, ManyToOne, OneToMany, ManyToMany, ElementCollection, BasicCollection, BasicMap).
-         * It allows the related objects to be batch read in a single query.
-         * Batch fetching can also be set at the query level, and it is 
-         * normally recommended to do so as all queries may not require batching.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 2.1
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BatchFetch {
-            /**
-             * (Optional) The type of batch-fetch to use.
-             * Either JOIN, EXISTS or IN.
-             * JOIN is the default.
-             */ 
-            BatchFetchType value() default BatchFetchType.JOIN;
-            
-            /**
-             * Define the default batch fetch size.
-             * This is only used for IN type batch reading and defines
-             * the number of keys used in each IN clause.
-             * The default size is 256, or the query's pageSize for cursor queries.
-             */
-            int size() default -1;
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:batch-fetch-type"/>
-    <xsd:attribute name="size" type="xsd:integer"/>
-  </xsd:complexType>
-  
-</xsd:schema>
-
-
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_2.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_2.xsd
deleted file mode 100644
index 223029e..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_2.xsd
+++ /dev/null
@@ -1,4778 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ******************************************************************************************************************************* -->
-<!-- Copyright (c) 1998, 2010 Oracle. All rights reserved.                                                                           -->
-<!-- This program and the accompanying materials are made available under the                                                        -->
-<!-- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0                                                --> 
-<!-- which accompanies this distribution.                                                                                            -->
-<!-- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html                                            -->
-<!-- and the Eclipse Distribution License is available at                                                                            --> 
-<!-- http://www.eclipse.org/org/documents/edl-v10.php.                                                                               -->
-<!--                                                                                                                                 -->
-<!-- Contributors:                                                                                                                   -->
-<!--     Oracle - initial API and implementation from Oracle TopLink                                                                 -->
-<!--     tware - update version number to 2.0                                                                                        -->
-<!--     12/2/2009-2.1 Guy Pelletier                                                                                                 -->
-<!--        - 296289: Add current annotation metadata support on mapped superclasses to EclipseLink-ORM.XML Schema                   -->
-<!--        - 296612: Add current annotation only metadata support of return insert/update to the EclipseLink-ORM.XML Schema         -->
-<!--        - formatted to match orm_2_0.xsd so that users can easily compare the two schemas                                        -->
-<!--     5/4/2010-2.1 Guy Pelletier                                                                                                  -->
-<!--        - 227219: Expand EclipseLink-ORM.XML schema functionality for 2.1 release  (update version to 2.1)                       -->
-<!--     6/14/2010-2.2 Guy Pelletier                                                                                                 -->
-<!--        - 247078: eclipselink-orm.xml schema should allow lob and enumerated on version and id mappings (update version to 2.2)  -->
-<!--     10/15/2010-2.2 Guy Pelletier                                                                                                -->
-<!--       - 322008: Improve usability of additional criteria applied to queries at the session/EM                                   -->
-<!-- ******************************************************************************************************************************* -->
-
-<!-- Java Persistence API object-relational mapping file schema -->
-<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-  elementFormDefault="qualified" 
-  attributeFormDefault="unqualified" 
-  version="2.2">
-
-  <xsd:annotation>
-    <xsd:documentation>
-      @(#)eclipselink_orm_2_2.xsd 2.2  June 14 2010
-    </xsd:documentation>
-  </xsd:annotation>
-  
-  <xsd:annotation>
-     <xsd:documentation><![CDATA[
-
-       This is the XML Schema for the native Eclipselink XML mapping file
-       The file may be named "META-INF/eclipselink-orm.xml" in the persistence
-       archive or it may be named some other name which would be
-       used to locate the file as resource on the classpath.
-       Object/relational mapping files must indicate the object/relational
-       mapping file schema by using the persistence namespace:
-
-       http://www.eclipse.org/eclipselink/xsds/persistence/orm
-
-       and indicate the version of the schema by using the version element as shown below:
-
-       <entity-mappings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm 
-       eclipselink_orm_2_2.xsd
-       version="2.2">
-       ...
-       </entity-mappings>
-
-     ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="emptyType"/>
-  <xsd:simpleType name="versionType">
-    <xsd:restriction base="xsd:token">
-      <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="access-methods">
-    <xsd:annotation>
-      <xsd:documentation>
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="get-method" type="xsd:string" use="required"/>
-    <xsd:attribute name="set-method" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="additional-criteria">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * An additional criteria can be specified at the Entity or MappedSuperclass 
-         * level. When specified at the mapped superclass level, it applies to all 
-         * inheriting entities unless those entities define their own additional 
-         * criteria, at which point the additional criteria from the mapped superclass 
-         * is ignored.  
-         *
-         * The additional criteria supports any valid JPQL string and must use 'this' 
-         * as an alias to form your additional criteria. E.G.,
-         * 
-         * @Entity
-         * @AdditionalCriteria("this.nut.size = :NUT_SIZE and this.nut.color = :NUT_COLOR")
-         * public class Bolt {...}
-         * 
-         * Additional criteria parameters are also accepted and are set through 
-         * properties on the entity manager factory, or on an entity manager. When set 
-         * on the entity manager, the properties must be set before any query execution
-         * and should not be changed for the life span of that entity manager.
-         * 
-         * Properties set on the entity manager will override those similarly named 
-         * properties set on the entity manager factory.
-         *
-         * Additional criteria is not supported with any native queries.
-         * 
-         * @author Guy Pelletier
-         * @since EclipseLink 2.2
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface AdditionalCriteria {
-            /**
-             * (Required) The JPQL fragment to use as the additional criteria.
-             */
-            String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="criteria" type="xsd:string"/>
-    </xsd:sequence>
-  </xsd:complexType>
-      
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="cache">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Cache annotation is used to set an 
-         * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy 
-         * which sets objects in EclipseLink's identity maps to be invalid 
-         * following given rules. By default in EclipseLink, objects do not 
-         * expire in the cache. Several different policies are available to 
-         * allow objects to expire.
-         * 
-         * @see org.eclipse.persistence.annotations.CacheType
-         * 
-         * A Cache anotation may be defined on an Entity or MappedSuperclass. 
-         * In the case of inheritance, a Cache annotation should only be defined 
-         * on the root of the inheritance hierarchy.
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Cache {
-          /**
-           * (Optional) The type of cache to use.
-           */ 
-          CacheType type() default SOFT_WEAK;
-
-          /**
-           * (Optional) The size of cache to use.
-           */ 
-          int size() default 100;
-
-         /**
-          * (Optional) Cached instances in the shared cache,
-          * or only a per EntityManager isolated cache.
-          * The default is shared.
-          * @deprecated  As of Eclipselink 2.2.  See the attribute 'isolation'
-          */ 
-          @Deprecated
-          boolean shared() default true;
-    
-         /**
-          * (Optional) Controls the level of caching this Entity will use.
-          * The default is CacheIsolationType.SHARED which has EclipseLink
-          * Caching all Entities in the Shared Cache.
-          * @see org.eclipse.persistence.config.CacheIsolationType
-          */
-          CacheIsolationType isolation() default SHARED;
-
-          /**
-           * (Optional) Expire cached instance after a fix period of time (ms). 
-           * Queries executed against the cache after this will be forced back 
-           * to the database for a refreshed copy
-           */ 
-          int expiry() default -1; // minus one is no expiry.
-
-          /**
-           * (Optional) Expire cached instance a specific time of day. Queries 
-           * executed against the cache after this will be forced back to the 
-           * database for a refreshed copy
-           */ 
-          TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
-
-          /**
-           * (Optional) Force all queries that go to the database to always 
-           * refresh the cache.
-           */ 
-          boolean alwaysRefresh() default false;
-
-          /**
-           * (Optional) For all queries that go to the database, refresh the
-           * cache only if the data received from the database by a query is 
-           * newer than the data in the cache (as determined by the optimistic 
-           * locking field)
-           */ 
-          boolean refreshOnlyIfNewer() default false;
-
-          /**
-           * (Optional) Setting to true will force all queries to bypass the 
-           * cache for hits but still resolve against the cache for identity. 
-           * This forces all queries to hit the database.
-           */ 
-          boolean disableHits() default false;
-
-          /**
-           * (Optional) The cache coordination mode.
-           */ 
-          CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="expiry" type="xsd:integer" minOccurs="0"/>
-      <xsd:element name="expiry-time-of-day" type="orm:time-of-day" minOccurs="0"/>
-    </xsd:choice>
-    <xsd:attribute name="size" type="xsd:integer"/>
-    <xsd:attribute name="shared" type="xsd:boolean"/>
-    <xsd:attribute name="isolation" type="orm:cache-isolation-type"/>
-    <xsd:attribute name="type" type="orm:cache-type"/>
-    <xsd:attribute name="always-refresh" type="xsd:boolean"/>
-    <xsd:attribute name="refresh-only-if-newer" type="xsd:boolean"/>
-    <xsd:attribute name="disable-hits" type="xsd:boolean"/>
-    <xsd:attribute name="coordination-type" type="orm:cache-coordination-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** --> 
-
-  <xsd:complexType name="cache-interceptor">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface CacheInterceptor {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-
-  <xsd:simpleType name="cache-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The CacheType enum is used with the Cache annotation for a 
-         * persistent class. It defines the type of IdentityMap/Cache used for 
-         * the class. By default the SOFT_WEAK cache type is used.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */
-        public enum CacheType {
-          /**
-           * Provides full caching and guaranteed identity. Caches all objects
-           * and does not remove them. 
-           * WARNING: This method may be memory intensive when many objects are 
-           * read.
-           */
-          FULL,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using weak references. This method allows full garbage
-           * collection and provides full caching and guaranteed identity.
-           */
-          WEAK,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using soft references. This method allows full garbage
-           * collection when memory is low and provides full caching and
-           * guaranteed identity.
-           */
-          SOFT,
-
-          /**
-           * Similar to the WEAK identity map except that it maintains a
-           * most-frequently-used sub-cache. The size of the sub-cache is
-           * proportional to the size of the identity map as specified by
-           * descriptor's setIdentityMapSize() method. The sub-cache
-           * uses soft references to ensure that these objects are
-           * garbage-collected only if the system is low on memory.
-           */
-          SOFT_WEAK,
-
-          /**
-           * Identical to the soft cache weak (SOFT_WEAK) identity map except 
-           * that it uses hard references in the sub-cache. Use this identity 
-           * map if soft references do not behave properly on your platform.
-           */
-          HARD_WEAK,
-
-          /**
-           * A cache identity map maintains a fixed number of objects
-           * specified by the application. Objects are removed from the cache
-           * on a least-recently-used basis. This method allows object
-           * identity for the most commonly used objects.
-           * WARNING: Furnishes caching and identity, but does not guarantee 
-           * identity.
-           */
-          CACHE,
-
-          /**
-           * WARNING: Does not preserve object identity and does not cache 
-           * objects.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="FULL"/>
-      <xsd:enumeration value="WEAK"/>
-      <xsd:enumeration value="SOFT"/>
-      <xsd:enumeration value="SOFT_WEAK"/>
-      <xsd:enumeration value="HARD_WEAK"/>
-      <xsd:enumeration value="CACHE"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-  <xsd:simpleType name="cache-isolation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * Options for how Entity instances should be shared within an EclipseLink Persistence Unit / ServerSession
-         * @see ClassDescriptor#setCacheIsolationType(CacheIsolationType)
-         * @author Gordon Yorke
-         * @since EclipseLink 2.2
-         */
-        public enum CacheIsolationType {
-        
-         /**
-          * Entity instances will be cached within the EntityManagerFactory/ServerSession level.
-          * Any user queries for shared cache instances (ie Read-Only query hint) will return an Entity
-          * instance that may be shared by multiple clients. 
-          * 
-          * This setting is the default isolation level.
-          */
-         SHARED,
-    
-         /**
-          * Entity state information will be cached in the shared cache but Entity
-          * instances will not be shared. Any user queries for shared cache instances
-          * (ie Read-Only query hint) will return a new Entity instance with the cached state.
-          * This will ensure the instance is <i>protected</i> from any concurrent
-          * state change.
-          */
-         PROTECTED,
-    
-         /**
-          * The Entity and its data is not stored in the shared cache but is
-          * <i>isolated</i> to the Persistence Context/UnitOfWork or
-          * IsolatedClientSession. This setting effectively disables second level
-          * caching for this entity and should be used when users do not want caching for
-          * a particular Entity.
-          */
-         ISOLATED;
-        
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SHARED"/>
-      <xsd:enumeration value="PROTECTED"/>
-      <xsd:enumeration value="ISOLATED"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:simpleType name="cache-coordination-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the Cache annotation.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */ 
-        public enum CacheCoordinationType {
-          /**
-           * Sends a list of changed objects including data about the changes.
-           * This data is merged into the receiving cache.
-           */
-          SEND_OBJECT_CHANGES,
-
-          /**
-           * Sends a list of the identities of the objects that have changed. 
-           * The receiving cache invalidates the objects (rather than changing 
-           * any of the data)
-           */
-          INVALIDATE_CHANGED_OBJECTS,
-
-          /**
-           * Same as SEND_OBJECT_CHANGES except it also includes any newly
-           * created objects from the transaction.
-           */
-          SEND_NEW_OBJECTS_WITH_CHANGES,
-
-          /**
-           * Does no cache coordination.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SEND_OBJECT_CHANGES"/>
-      <xsd:enumeration value="INVALIDATE_CHANGED_OBJECTS"/>
-      <xsd:enumeration value="SEND_NEW_OBJECTS_WITH_CHANGES"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="change-tracking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The ChangeTracking annotation is used to specify the 
-         * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy 
-         * which computes changes sets for EclipseLink's UnitOfWork commit 
-         * process. An ObjectChangePolicy is stored on an Entity's descriptor.
-         *
-         * A ChangeTracking annotation may be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ChangeTracking {
-          /**
-           * (Optional) The type of change tracking to use.
-           */ 
-          ChangeTrackingType value() default AUTO;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:change-tracking-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="change-tracking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the ChangeTracking annotation. 
-         */ 
-        public enum ChangeTrackingType {
-          /**
-           * An ATTRIBUTE change tracking type allows change tracking at the
-           * attribute level of an object. Objects with changed attributes will
-           * be processed in the commit process to include any changes in the 
-           * results of the commit. Unchanged objects will be ignored.
-           */
-          ATTRIBUTE,
-
-          /**
-           * An OBJECT change tracking policy allows an object to calculate for 
-           * itself whether it has changed. Changed objects will be processed in 
-           * the commit process to include any changes in the results of the 
-           * commit. Unchanged objects will be ignored.
-           */
-          OBJECT,
-
-          /**
-           * A DEFERRED change tracking policy defers all change detection to
-           * the UnitOfWork's change detection process. Essentially, the 
-           * calculateChanges() method will run for all objects in a UnitOfWork. 
-           * This is the default ObjectChangePolicy
-           */
-          DEFERRED,
-
-          /**
-           * Will not set any change tracking policy.
-           */
-          AUTO
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ATTRIBUTE"/>
-      <xsd:enumeration value="OBJECT"/>
-      <xsd:enumeration value="DEFERRED"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="customizer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Customizer annotation is used to specify a class that implements 
-         * the org.eclipse.persistence.config.DescriptorCustomizer 
-         * interface and is to run against an enetity's class descriptor after all 
-         * metadata processing has been completed.
-         *
-         * The Customizer annotation may be defined on an Entity, MappedSuperclass 
-         * or Embeddable class. In the case of inheritance, a Customizer is not 
-         * inherited from its parent classes. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Customizer {
-          /**
-           * (Required) Defines the name of the descriptor customizer class that 
-           * should be applied for the related entity or embeddable class.
-           */
-          Class value(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="direction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the StoredProcedureParameter annotation.
-         * It is used to specify the direction of the stored procedure 
-         * parameters of a named stored procedure query.
-         */
-        public enum Direction {
-          /**
-           * Input parameter
-           */
-          IN,
-
-          /**
-           * Output parameter
-           */
-          OUT,
-
-          /**
-           * Input and output parameter
-           */
-          IN_OUT,
-
-          /**
-           * Output cursor
-           */
-          OUT_CURSOR
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="IN"/>
-      <xsd:enumeration value="OUT"/>
-      <xsd:enumeration value="IN_OUT"/>
-      <xsd:enumeration value="OUT_CURSOR"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:element name="entity-mappings">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation>
-
-        The entity-mappings element is the root element of a mapping
-        file. It contains the following four types of elements:
-
-        1. The persistence-unit-metadata element contains metadata
-        for the entire persistence unit. It is undefined if this element
-        occurs in multiple mapping files within the same persistence unit.
-        
-        2. The package, schema, catalog and access elements apply to all of
-        the entity, mapped-superclass and embeddable elements defined in
-        the same file in which they occur.
-
-        3. The sequence-generator, table-generator, named-query,
-        named-native-query and sql-result-set-mapping elements are global
-        to the persistence unit. It is undefined to have more than one
-        sequence-generator or table-generator of the same name in the same
-        or different mapping files in a persistence unit. It is also 
-        undefined to have more than one named-query, named-native-query, or
-        result-set-mapping of the same name in the same or different mapping 
-        files in a persistence unit.
-
-        4. The entity, mapped-superclass and embeddable elements each define
-        the mapping information for a managed persistent class. The mapping
-        information contained in these elements may be complete or it may
-        be partial.
-
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:sequence>
-        <xsd:element name="description" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="persistence-unit-metadata" 
-                     type="orm:persistence-unit-metadata"
-                     minOccurs="0"/>
-        <xsd:element name="package" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="access-methods" type="orm:access-methods" 
-                     minOccurs="0"/>                     
-        <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="sequence-generator" type="orm:sequence-generator"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="table-generator" type="orm:table-generator" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="partitioning" type="orm:partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="replication-partitioning" type="orm:replication-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="round-robin-partitioning" type="orm:round-robin-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="pinned-partitioning" type="orm:pinned-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="range-partitioning" type="orm:range-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="value-partitioning" type="orm:value-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="hash-partitioning" type="orm:hash-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="union-partitioning" type="orm:union-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-query" type="orm:named-query" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-native-query" type="orm:named-native-query"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-        <xsd:element name="sql-result-set-mapping" 
-                     type="orm:sql-result-set-mapping" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="mapped-superclass" type="orm:mapped-superclass" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="entity" type="orm:entity" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embeddable" type="orm:embeddable" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" type="orm:versionType" 
-                     fixed="2.2" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="existence-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * The ExistenceChecking annotation is used to specify the type of 
-         * checking EclipseLink should use when updating entities.
-         * 
-         * An existence-checking specification is supported on an Entity or 
-         * MappedSuperclass annotation.
-         */
-        public @interface ExistenceChecking {
-
-          /**
-           * (Optional) Set the existence check for determining
-           * if an insert or update should occur for an object.
-           */
-          ExistenceType value() default CHECK_CACHE;
-        }
-
-        /**
-         * Assume that if the objects primary key does not include null and 
-         * it is in the cache, then it must exist.
-         */
-        CHECK_CACHE,
-
-        /**
-         * Perform does exist check on the database.
-         */
-        CHECK_DATABASE,
-
-        /**
-         * Assume that if the objects primary key does not include null then 
-         * it must exist. This may be used if the application guarantees or 
-         * does not care about the existence check.
-         */
-        ASSUME_EXISTENCE,
-
-        /**
-         * Assume that the object does not exist. This may be used if the 
-         * application guarantees or does not care about the existence check.  
-         * This will always force an insert to be called.
-         */
-        ASSUME_NON_EXISTENCE
-
-      </xsd:documentation>
-    </xsd:annotation>    
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="CHECK_CACHE"/>
-      <xsd:enumeration value="CHECK_DATABASE"/>
-      <xsd:enumeration value="ASSUME_EXISTENCE"/>
-      <xsd:enumeration value="ASSUME_NON_EXISTENCE"/>
-    </xsd:restriction>
-  </xsd:simpleType> 
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-metadata">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Metadata that applies to the persistence unit and not just to 
-        the mapping file in which it is contained. 
-
-        If the xml-mapping-metadata-complete element is specified,
-        the complete set of mapping metadata for the persistence unit 
-        is contained in the XML mapping files for the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="exclude-default-mappings" type="orm:emptyType" minOccurs="0"/>             
-      <xsd:element name="persistence-unit-defaults" 
-                   type="orm:persistence-unit-defaults"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-defaults">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        These defaults are applied to the persistence unit as a whole 
-        unless they are overridden by local annotation or XML 
-        element settings. 
-        
-        schema - Used as the schema for all tables, secondary tables, join
-            tables, collection tables, sequence generators, and table 
-            generators that apply to the persistence unit
-        catalog - Used as the catalog for all tables, secondary tables, join
-            tables, collection tables, sequence generators, and table 
-            generators that apply to the persistence unit
-        delimited-identifiers - Used to treat database identifiers as
-            delimited identifiers.
-        access - Used as the access type for all managed classes in
-            the persistence unit
-        cascade-persist - Adds cascade-persist to the set of cascade options
-            in all entity relationships of the persistence unit
-        entity-listeners - List of default entity listeners to be invoked 
-            on each entity in the persistence unit. 
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="delimited-identifiers" type="orm:emptyType" 
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="access-methods" type="orm:access-methods" 
-                     minOccurs="0"/>
-        <xsd:element name="cascade-persist" type="orm:emptyType" 
-                     minOccurs="0"/>
-        <xsd:element name="entity-listeners" type="orm:entity-listeners"
-                     minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for an entity. Is allowed to be
-        sparsely populated and used in conjunction with the annotations.
-        Alternatively, the metadata-complete attribute can be used to 
-        indicate that no annotations on the entity class (and its fields
-        or properties) are to be processed. If this is the case then 
-        the defaulting rules for the entity and its subelements will 
-        be recursively applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-          public @interface Entity {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="additional-criteria" type="orm:additional-criteria" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="table" type="orm:table" minOccurs="0"/>
-      <xsd:element name="secondary-table" type="orm:secondary-table" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="primary-key-join-column" 
-                   type="orm:primary-key-join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="index" type="orm:index" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:sequence>
-            <xsd:element name="discriminator-value" type="orm:discriminator-value" minOccurs="0"/>
-            <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-        </xsd:sequence>
-        <xsd:element name="class-extractor" type="orm:class-extractor" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="fetch-group" type="orm:fetch-group" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-      <xsd:element name="named-query" type="orm:named-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="sql-result-set-mapping" 
-                   type="orm:sql-result-set-mapping" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="query-redirectors" type="orm:query-redirectors" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="parent-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:group name="partitioning-group">
-    <xsd:sequence>
-      <xsd:element name="partitioning" type="orm:partitioning" minOccurs="0"/>
-      <xsd:element name="replication-partitioning" type="orm:replication-partitioning" minOccurs="0"/>
-      <xsd:element name="round-robin-partitioning" type="orm:round-robin-partitioning" minOccurs="0"/>
-      <xsd:element name="pinned-partitioning" type="orm:pinned-partitioning" minOccurs="0"/>
-      <xsd:element name="range-partitioning" type="orm:range-partitioning" minOccurs="0"/>
-      <xsd:element name="value-partitioning" type="orm:value-partitioning" minOccurs="0"/>
-      <xsd:element name="hash-partitioning" type="orm:hash-partitioning" minOccurs="0"/>
-      <xsd:element name="union-partitioning" type="orm:union-partitioning" minOccurs="0"/>
-      <xsd:element name="partitioned" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:group>
-      
-  <xsd:simpleType name="access-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element determines how the persistence provider accesses the
-        state of an entity or embedded object.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="PROPERTY"/>
-      <xsd:enumeration value="FIELD"/>
-      <xsd:enumeration value="VIRTUAL"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="association-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AssociationOverride {
-          String name();
-          JoinColumn[] joinColumns() default{};
-          JoinTable joinTable() default @JoinTable;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="join-column" type="orm:join-column"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table"
-                     minOccurs="0"/>
-      </xsd:choice>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="attribute-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AttributeOverride {
-          String name();
-          Column column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="attributes">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element contains the entity field or property mappings.
-        It may be sparsely populated to include only a subset of the
-        fields or properties. If metadata-complete for the entity is true
-        then the remainder of the attributes will be defaulted according
-        to the default rules.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="id" type="orm:id" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embedded-id" type="orm:embedded-id" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="basic" type="orm:basic"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-collection" type="orm:basic-collection" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-map" type="orm:basic-map" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="version" type="orm:version"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-one" type="orm:many-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-many" type="orm:one-to-many"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-one" type="orm:one-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="variable-one-to-one" type="orm:variable-one-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-many" type="orm:many-to-many" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="element-collection" type="orm:element-collection" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="embedded" type="orm:embedded"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transformation" type="orm:transformation" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transient" type="orm:transient"
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="basic">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Basic {
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="index" type="orm:index" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="lob" type="orm:lob"/>
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="enumerated" type="orm:enumerated"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="return-insert" type="orm:return-insert" minOccurs="0"/>
-      <xsd:element name="return-update" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="basic-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicCollection {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY; 
- 
-          /**
-           * (Optional) The name of the value column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic-map">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicMap {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY;
-
-          /**
-           * (Optional) The name of the data column that holds the direct map 
-           * key. If the name on te key column is "", the name will default to:
-           * the name of the property or field; "_KEY".
-           */
-          Column keyColumn() default @Column;
-
-          /**
-           * (Optional) Specify the key converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the direct map key.
-           */
-          Convert keyConverter() default @Convert;
-
-          /**
-           * (Optional) The name of the data column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-
-          /**
-           * (Optional) Specify the value converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the value column mapping.
-           */
-          Convert valueConverter() default @Convert;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="key-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="key-converter" type="xsd:string" minOccurs="0"/>    
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="value-converter" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>    
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="cascade-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade-all" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-merge" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-remove" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-refresh" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-detach" type="orm:emptyType"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="class-extractor">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * A ClassExtractor allows for a user defined class indicator in place of 
-         * providing a discriminator column. The class has the following restrictions:
-
-         *  - It must extend the org.eclipse.persistence.descriptors.ClassExtractor 
-         *    class and implement the extractClassFromRow(Record, Session) method. 
-         *  - That method must take a database row (a Record/Map) as an argument and 
-         *    must return the class to use for that row. 
-         * 
-         * This method will be used to decide which class to instantiate when reading 
-         * from the database. It is the application's responsibility to populate any 
-         * typing information in the database required to determine the class from the 
-         * row.
-         * 
-         * The ClassExtractor must only be set on the root of an entity class or
-         * sub-hierarchy in which a different inheritance strategy is applied. The 
-         * ClassExtractor can only be used with the SINGLE_TABLE and JOINED inheritance 
-         * strategies.
-         * 
-         * If a ClassExtractor is used then a DiscriminatorColumn cannot be used. A 
-         * ClassExtractor also cannot be used on either the root or its subclasses.
-         * 
-         * In addition, for more complex configurations using a ClassExtractor and a 
-         * SINGLE_TABLE strategy, the descriptor's withAllSubclasses and onlyInstances 
-         * expressions should be set through the ClassExtractor's initialize method.
-         *
-         * @see org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)
-         * @see org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)
-         * 
-         * @author Guy Pelletier
-         * @since EclipseLink 2.1 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ClassExtractor {
-            /**
-             * (Required) Defines the name of the class extractor that should be 
-             * applied to this entity's descriptor.
-             */
-            Class value(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-<!-- **************************************************** -->
-
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CloneCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an 
-         * Entity. A CloneCopyPolicy must specify at one or both of the "method" 
-         * or "workingCopyMethod". "workingCopyMethod" is used to clone objects 
-         * that will be returned to the user as they are registered in 
-         * EclipseLink's transactional mechanism, the UnitOfWork. "method" will 
-         * be used for the clone that is used for comparison in conjunction with 
-         * EclipseLink's DeferredChangeDetectionPolicy
-         *  
-         * A CloneCopyPolicy should be specified on an Entity, MappedSuperclass
-         * or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod", workingCopyMethod="myWorkingCopyCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(workingCopyMethodName="myWorkingCopyClone")
-         */
-        public @interface CloneCopyPolicy {
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified this defines 
-             * a method that will be used to create a clone that will be used 
-             * for comparison by
-             * EclipseLink's DeferredChangeDetectionPolicy
-             */
-            String method();
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified
-             * this defines a method that will be used to create a clone that 
-             * will be used to create the object returned when registering an 
-             * Object in an EclipseLink UnitOfWork
-             */
-            String workingCopyMethod();
-
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method" type="xsd:string"/>
-    <xsd:attribute name="working-copy-method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface CollectionTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-    </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="eclipselink-collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface CollectionTable {
-          /**
-           * (Optional) The name of the collection table. If it is not 
-           * specified, it is defaulted to the concatenation of the following: 
-           * the name of the source entity; "_" ; the name of the relationship 
-           * property or field of the source entity.
-           */
-          String name() default ""; 
-
-          /**
-           * (Optional) The catalog of the table. It defaults to the persistence 
-           * unit default catalog.
-           */
-          String catalog() default ""; 
-
-          /**
-           * (Optional) The schema of the table. It defaults to the persistence 
-           * unit default schema.
-           */
-          String schema() default ""; 
-
-          /**
-           * (Optional) Used to specify a primary key column that is used as a 
-           * foreign key to join to another table. If the source entity uses a 
-           * composite primary key, a primary key join column must be specified 
-           * for each field of the composite primary key. In a single primary 
-           * key case, a primary key join column may optionally be specified. 
-           * Defaulting will apply otherwise as follows:
-           * name, the same name as the primary key column of the primary table 
-           * of the source entity. referencedColumnName, the same name of 
-           * primary key column of the primary table of the source entity.
-           */
-          PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {}; 
- 
-          /**
-           * (Optional) Unique constraints that are to be placed on the table. 
-           * These are only used if table generation is in effect.
-           */
-          UniqueConstraint[] uniqueConstraints() default {}; 
-       }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Column {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="conversion-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface ConversionValue {
-          /**
-           * (Required) Specify the database value.
-           */
-          String dataValue();
-
-          /**
-           * (Required) Specify the object value.
-           */
-          String objectValue();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="data-value" type="xsd:string" use="required"/>
-    <xsd:attribute name="object-value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Converter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must implement
-           * the org.eclipse.persistence.mappings.converters.Converter interface.
-           */
-          Class converterClass(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * A Partitioning is used to partition the data for a class across multiple difference databases
-             * or across a database cluster such as Oracle RAC.
-             * Partitioning can provide improved scalability by allowing multiple database machines to service requests.
-             * This annotation configures a custom PartitioningPolicy.
-             * 
-             * If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * Partition policies are globally named to allow reuse,
-             * the partitioning policy must also be set using the @Partitioned annotation to be used.
-             * 
-             * @see Partitioned
-             * @see org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface Partitioning {
-                String name();
-                
-                /**
-                 * (Required) Full package.class name of a subclass of PartitioningPolicy.
-                 */
-                Class partitioningClass();
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="hash-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * HashPartitioning partitions access to a database cluster by the hash of a field value from the object,
-             * such as the object's location, or tenant.
-             * The hash indexes into the list of connection pools.
-             * All write or read request for object's with that hash value are sent to the server.
-             * If a query does not include the field as a parameter, then it can either be sent
-             * to all server's and unioned, or left to the sesion's default behavior.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * 
-             * @see org.eclipse.persistence.descriptors.partitioning.HashPartitioningPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */ 
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface HashPartitioning {
-                String name();
-                
-                /**
-                 * The database column or query parameter to partition queries by.
-                 * This is the table column name, not the class attribute name.
-                 * The column value must be included in the query and should normally be part of the object's Id.
-                 * This can also be the name of a query parameter.
-                 * If a query does not contain the field the query will not be partitioned.
-                 */
-                Column partitionColumn();
-            
-                /**
-                 * List of connection pool names to partition across.
-                 */
-                String[] connectionPools();
-                        
-                /**
-                 * Defines if queries that do not contain the partition field should be sent
-                 * to every database and have the result unioned.
-                 */
-                boolean unionUnpartitionableQueries() default false;
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="partition-column" type="orm:column"/>
-        <xsd:element name="connection-pool" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="union-unpartitionable-queries" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="range-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * RangePartitioningPolicy partitions access to a database cluster by a field value from the object,
-         * such as the object's id, location, or tenant.
-         * Each server is assigned a range of values.
-         * All write or read request for object's with that value are sent to the server.
-         * If a query does not include the field as a parameter, then it can either be sent
-         * to all server's and unioned, or left to the sesion's default behavior.
-         * 
-         * If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.
-         * 
-         * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-         * Partition policies are globally named to allow reuse,
-         * the partitioning policy must also be set using the @Partitioned annotation to be used.
-         * 
-         * @see Partitioned
-         * @see org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface RangePartitioning {
-            String name();
-            
-            /**
-             * The database column or query parameter to partition queries by.
-             * This is the table column name, not the class attribute name.
-             * The column value must be included in the query and should normally be part of the object's Id.
-             * This can also be the name of a query parameter.
-             * If a query does not contain the field the query will not be partitioned.
-             */
-            Column partitionColumn();
-            
-            /**
-             * (Required) List of connection pool names to load balance across.
-             */
-            RangePartition[] partitions();
-            
-            /**
-             * Defines if queries that do not contain the partition field should be sent
-             * to every database and have the result unioned.
-             */
-            boolean unionUnpartitionableQueries() default false;
-            
-            /** The type of the start and end values. */
-            Class partitionValueType() default String.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="partition-column" type="orm:column"/>
-        <xsd:element name="partition" type="orm:range-partition" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="union-unpartitionable-queries" type="xsd:boolean"/>
-    <xsd:attribute name="partition-value-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="range-partition">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * Represent a specific range partition.
-         * Values = startValue and = endValue will be routed to the connection pool.
-         * 
-         * @see RangePartitioningPolicy
-         * @see org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
-         * @see org.eclipse.persistence.descriptors.partitioning.RangePartition
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface RangePartition {
-            /** The String representation of the range start value. */
-            String startValue() default "";
-            /** The String representation of the range start value. */
-            String endValue() default "";
-            /** The connection pool to route queries to for this range. */
-            String connectionPool();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="start-value" type="xsd:string"/>
-    <xsd:attribute name="end-value" type="xsd:string"/>
-    <xsd:attribute name="connection-pool" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="value-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * ValuePartitioning partitions access to a database cluster by a field value from the object,
-         * such as the object's location, or tenant.
-         * Each value is assigned a specific server.
-         * All write or read request for object's with that value are sent to the server.
-         * If a query does not include the field as a parameter, then it can either be sent
-         * to all server's and unioned, or left to the sesion's default behavior.
-         * 
-         * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-         * 
-         * @see org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ValuePartitioning {
-            String name();
-            
-            /**
-             * The database column or query parameter to partition queries by.
-             * This is the table column name, not the class attribute name.
-             * The column value must be included in the query and should normally be part of the object's Id.
-             * This can also be the name of a query parameter.
-             * If a query does not contain the field the query will not be partitioned.
-             */
-            Column partitionColumn();
-            
-            /** Store the value partitions. Each partition maps a value to a connectionPool. */
-            ValuePartition[] partitions();
-    
-            /** The type of the start and end values. */
-            Class partitionValueType() default String.class;
-            
-            /** The default connection pool is used for any unmapped values. */
-            String defaultConnectionPool();
-                
-            /**
-             * Defines if queries that do not contain the partition field should be sent
-             * to every database and have the result unioned.
-             */
-            boolean unionUnpartitionableQueries() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="partition-column" type="orm:column"/>
-        <xsd:element name="partition" type="orm:value-partition" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="union-unpartitionable-queries" type="xsd:boolean"/>
-    <xsd:attribute name="default-connection-pool" type="xsd:string"/>
-    <xsd:attribute name="partition-value-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="value-partition">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * Represent a specific value partition.
-         * The value will be routed to the connection pool.
-         * 
-         * @see ValuePartitioningPolicy
-         * @see org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy
-         * @see org.eclipse.persistence.descriptors.partitioning.ValuePartition
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ValuePartition {
-            /** The String representation of the range start value. */
-            String value() default "";
-            
-            /** The connection pool to route queries to for this value. */
-            String connectionPool();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="connection-pool" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="round-robin-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * RoundRobinPartitioning sends requests in a round robin fashion to the set of connection pools.
-             * It is for load-balancing read queries across a cluster of database machines.
-             * It requires that the full database be replicated on each machine, so does not support partitioning.
-             * The data should either be read-only, or writes should be replicated on the database.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * 
-             * @see org.eclipse.persistence.descriptors.partitioning.RoundRobinPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */ 
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface RoundRobinPartitioning {
-                String name();
-                
-                /**
-                 * (Required) List of connection pool names to load balance across.
-                 */
-                String[] connectionPools();
-                
-                /**
-                 * This allows for a set of database to be written to and kept in synch,
-                 * and have reads load-balanced across the databases.
-                 */
-                boolean replicateWrites() default false;
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="connection-pool" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="replicate-writes" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="replication-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * ReplicationPartitioning sends requests to a set of connection pools.
-             * It is for replicating data across a cluster of database machines.
-             * Only modification queries are replicated.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * 
-             * @see org.eclipse.persistence.descriptors.partitioning.ReplicationPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */ 
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface ReplicationPartitioning {
-                String name();
-                
-                /**
-                 * (Required) List of connection pool names to load balance across.
-                 */
-                String[] connectionPools();
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="connection-pool" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="union-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * UnionPartitioning sends queries to all connection pools and unions the results.
-             * This is for queries or relationships that span partitions when partitioning is used,
-             * such as on a ManyToMany cross partition relationship.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * 
-             * @see org.eclipse.persistence.descriptors.partitioning.UnionPartitioningPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */ 
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface UnionPartitioning {
-                String name();
-                
-                /**
-                 * (Required) List of connection pool names to load balance across.
-                 */
-                String[] connectionPools();
-                
-                /**
-                 * Defines if write queries should be replicated.
-                 * Writes are normally not replicated when unioning,
-                 * but can be for ManyToMany relationships, when the join table needs to be replicated.
-                 */
-                boolean replicateWrites() default false;
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="connection-pool" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="replicate-writes" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pinned-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * PinnedPartitioning pins requests to a single connection pool.
-         * 
-         * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-         * 
-         * @see org.eclipse.persistence.descriptors.partitioning.PinnedPartitioningPolicy
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface PinnedPartitioning {
-            String name();
-            
-            /**
-             * The connection pool name to pin queries to.
-             */
-            String connectionPool();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="connection-pool" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface ColumnResult {
-          String name();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CopyPolicy is used to set a 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
-         * It is required that a class that implements 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified 
-         * as the argument.
-         * 
-         * A CopyPolicy should be specified on an Entity, MappedSuperclass or 
-         * Embeddable.
-         * 
-         * For instance:
-         * @Entity
-         * @CopyPolicy("example.MyCopyPolicy")
-         */
-        public @interface CopyPolicy {
-
-        /*
-        * (Required)
-        * This defines the class of the copy policy. It must specify a class 
-        * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
-        */
-        Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorColumn {
-          String name() default "DTYPE";
-          DiscriminatorType discriminatorType() default STRING;
-          String columnDefinition() default "";
-          int length() default 31;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A DiscriminatorClass is used within a VariableOneToOne annotation.
-         */ 
-        @Target({}) 
-        @Retention(RUNTIME)
-        public @interface DiscriminatorClass {
-          /**
-           * (Required) The discriminator to be stored on the database. 
-           */
-          String discriminator();
-
-          /**
-           * (Required) The class to the instantiated with the given 
-           * discriminator.
-           */
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="discriminator" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum DiscriminatorType { STRING, CHAR, INTEGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="STRING"/>
-      <xsd:enumeration value="CHAR"/>
-      <xsd:enumeration value="INTEGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorValue {
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="element-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ElementCollection {
-          Class targetClass() default void.class;
-          FetchType fetch() default LAZY;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                     minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                     minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                       minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:sequence>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:sequence>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column"
-                         type="orm:map-key-column"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                         type="orm:map-key-join-column"
-                         minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:sequence>
-          <xsd:element name="column" type="orm:column" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="lob"
-                         type="orm:lob"
-                         minOccurs="0"/>
-            <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-          </xsd:choice>
-        </xsd:sequence>
-        <xsd:sequence>
-          <xsd:element name="attribute-override"
-                       type="orm:attribute-override"
-                       minOccurs="0" maxOccurs="unbounded"/>
-          <xsd:element name="association-override"
-                       type="orm:association-override"
-                       minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:collection-table"
-                     minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-
-
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-class" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="embeddable">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for embeddable objects. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        in the class. If this is the case then the defaulting rules will 
-        be recursively applied.
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Embeddable {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="parent-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Embedded {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="embedded-id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface EmbeddedId {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listener">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines an entity listener to be invoked at lifecycle events
-        for the entities that list this listener.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listeners">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface EntityListeners {
-          Class[] value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-listener" type="orm:entity-listener" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="entity-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface EntityResult {
-          Class entityClass();
-          FieldResult[] fields() default {};
-          String discriminatorColumn() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field-result" type="orm:field-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
-    <xsd:attribute name="discriminator-column" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="enum-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum EnumType {
-          ORDINAL,
-          STRING
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ORDINAL"/>
-      <xsd:enumeration value="STRING"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="enumerated">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Enumerated {
-          EnumType value() default ORDINAL;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:enum-type"/>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="fetch-attribute">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface FetchAttribute {
-          /**
-           * (Required) The fetch attribute name.
-           */
-          String name(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-<!-- **************************************************** -->
-
-  <xsd:complexType name="fetch-group">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface FetchGroup {
-          /**
-           * (Required) The fetch group name.
-           */
-          String name(); 
-
-          /**
-           * (Optional) Indicates whether all relationship attributes
-           * specified in the fetch group should be loaded.
-           */
-          boolean load() default true; 
-
-          /**
-           * (Required) The list of attributes to fetch.
-           */
-          FetchAttribute[] attributes();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute" type="orm:fetch-attribute" minOccurs="1" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="load" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum FetchType { LAZY, EAGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="LAZY"/>
-      <xsd:enumeration value="EAGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="field-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface FieldResult {
-          String name();
-          String column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="column" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="generated-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface GeneratedValue {
-          GenerationType strategy() default AUTO;
-          String generator() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:generation-type"/>
-    <xsd:attribute name="generator" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="generation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="TABLE"/>
-      <xsd:enumeration value="SEQUENCE"/>
-      <xsd:enumeration value="IDENTITY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Id {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" 
-                   minOccurs="0"/>
-      <xsd:element name="index" type="orm:index" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value"
-                   minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="enumerated" type="orm:enumerated"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator"
-                   minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="id-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface IdClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="id-validation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The IdValidation enum determines the type value that are valid for an Id.
-         * By default null is not allowed, and 0 is not allow for singleton ids of long or int type.
-         * The default value is ZERO for singleton ids, and NULL for composite ids.
-         * This can be set using the @PrimaryKey annotation, or ClassDescriptor API.
-         * 
-         * @see PrimaryKey
-         * @see org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)
-         * @author James Sutherland
-         * @since EclipseLink 1.0 
-         */ 
-        public enum IdValidation {
-            /**
-             * Only null is not allowed as an id value, 0 is allowed.
-             */
-            NULL,
-
-            /**
-             * null and 0 are not allowed, (only int and long).
-             */
-            ZERO,
-
-            /**
-             * No id validation is done.
-             */
-            NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="NULL"/>
-      <xsd:enumeration value="ZERO"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="cache-key-type">
-    <xsd:annotation>
-      <xsd:documentation>
-            
-            /**
-             * Configures what type of Id value is used to store the object in the cache.
-             * This can either be the basic Id value for simple singleton Ids,
-             * or an optimized CacheKey type.
-             * 
-             * @see PrimaryKey#cacheKeyType()
-             * @see ClassDescriptor#setCacheKeyType(CacheKeyType)
-             * @author James Sutherland
-             * @since EclipseLink 2.1
-             */
-            public enum CacheKeyType {
-                /**
-                 * This can only be used for simple singleton Ids, such as long/int/String.
-                 * This is the default for simple singleton Ids.
-                 */
-                ID_VALUE,
-            
-                /**
-                 * Optimized cache key type that allows composite and complex values.
-                 * This is the default for composite or complex Ids.
-                 */
-                CACHE_KEY,
-            
-                /**
-                 * The cache key type is automatically configured depending on what is optimal for the class.
-                 */
-                AUTO
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ID_VALUE"/>
-      <xsd:enumeration value="CACHE_KEY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="inheritance">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Inheritance {
-          InheritanceType strategy() default SINGLE_TABLE;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:inheritance-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="inheritance-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum InheritanceType
-          { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SINGLE_TABLE"/>
-      <xsd:enumeration value="JOINED"/>
-      <xsd:enumeration value="TABLE_PER_CLASS"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * An InstantiationCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy 
-         * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in 
-         * EclipseLink and therefore this configuration option is only used to 
-         * override other types of copy policies
-         * 
-         * An InstantiationCopyPolicy should be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @InstantiationCopyPolicy 
-         */
-        public @interface InstantiationCopyPolicy {
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum JoinFetchType {
-        /**
-         * An inner join is used to fetch the related object.
-         * This does not allow for null/empty values.
-         */
-        INNER,
-
-        /**
-         * An inner join is used to fetch the related object.
-         * This allows for null/empty values.
-         */
-        OUTER,
-      }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="INNER"/>
-      <xsd:enumeration value="OUTER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="batch-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-            public enum BatchFetchType {
-                /**
-                 * This is the default form of batch reading.
-                 * The original query's selection criteria is joined with the batch query.
-                 */
-                JOIN,
-            
-                /**
-                 * This uses an SQL EXISTS and a sub-select in the batch query instead of a join.
-                 * This has the advantage of not requiring an SQL DISTINCT which can have issues
-                 * with LOBs, or may be more efficient for some types of queries or on some databases.
-                 */
-                EXISTS,
-            
-                /**
-                 * This uses an SQL IN clause in the batch query passing in the source object Ids.
-                 * This has the advantage of only selecting the objects not already contained in the cache,
-                 * and can work better with cursors, or if joins cannot be used.
-                 * This may only work for singleton Ids on some databases.
-                 */
-                IN    
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="JOIN"/>
-      <xsd:enumeration value="EXISTS"/>
-      <xsd:enumeration value="IN"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          JoinColumn[] inverseJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="inverse-join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="lob">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Lob {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="lock-mode-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum LockModeType { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="WRITE"/>
-      <xsd:enumeration value="OPTIMISTIC"/>
-      <xsd:enumeration value="OPTIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="PESSIMISTIC_READ"/>
-      <xsd:enumeration value="PESSIMISTIC_WRITE"/>
-      <xsd:enumeration value="PESSIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="NONE"/>
-
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-<xsd:complexType name="many-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                   minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                   minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                   minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                   minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-            <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column"
-                   minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                   type="orm:map-key-join-column"
-                   minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="join-table" type="orm:join-table"
-                   minOccurs="0"/>
-      <xsd:element name="cascade" type="orm:cascade-type"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>       
-        <xsd:element name="join-column" type="orm:join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" 
-                   minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="maps-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="map-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKey {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyColumn {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="mapped-superclass">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for a mapped superclass. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        If this is the case then the defaulting rules will be recursively 
-        applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-        public @interface MappedSuperclass{}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="additional-criteria" type="orm:additional-criteria" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0"/>
-      <xsd:element name="fetch-group" type="orm:fetch-group" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-      <xsd:element name="named-query" type="orm:named-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
-      <xsd:element name="sql-result-set-mapping" 
-                   type="orm:sql-result-set-mapping" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="query-redirectors" type="orm:query-redirectors" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="parent-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="named-native-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedNativeQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-          Class resultClass() default void.class;
-          String resultSetMapping() default ""; //named SqlResultSetMapping
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="named-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedQuery {
-          String name();
-          String query();
-          LockModeType lockMode() default NONE;
-          QueryHint[] hints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="lock-mode" type="orm:lock-mode-type" minOccurs="0"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="named-stored-procedure-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A NamedStoredProcedureQuery annotation allows the definition of 
-         * queries that call stored procedures as named queries.
-         * A NamedStoredProcedureQuery annotation may be defined on an Entity or
-         * MappedSuperclass. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface NamedStoredProcedureQuery {
-          /**
-           * (Required) Unique name that references this stored procedure query.
-           */
-          String name();
-
-          /**
-           * (Optional) Query hints.
-           */
-          QueryHint[] hints() default {};
-
-          /**
-           * (Optional) Refers to the class of the result.
-           */
-          Class resultClass() default void.class;
-
-          /**
-           * (Optional) The name of the SQLResultMapping.
-           */
-          String resultSetMapping() default "";
-
-          /**
-           * (Required) The name of the stored procedure.
-           */
-          String procedureName();
-
-          /**
-           * (Optional) Whether the query should return a result set.
-           */
-          boolean returnsResultSet() default true; 
-
-          /**
-           * (Optional) Defines arguments to the stored procedure.
-           */
-          StoredProcedureParameter[] parameters() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="parameter" type="orm:stored-procedure-parameter" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-    <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
-    <xsd:attribute name="returns-result-set" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ObjectTypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence
-           * field or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent 
-           * field or property.
-           */
-          Class objectType() default void.class;
-
-          /**
-           * (Required) Specify the conversion values to be used 
-           * with the object converter.
-           */
-          ConversionValue[] conversionValues();
-
-           /**
-            * (Optional) Specify a default object value. Used for 
-            * legacy data if the data value is missing.
-            */
-           String defaultObjectValue() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="conversion-value" type="orm:conversion-value" minOccurs="1" maxOccurs="unbounded"/>
-      <xsd:element name="default-object-value" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-<xsd:complexType name="one-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                   minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                   minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                   minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                   minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column"
-                   minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                   type="orm:map-key-join-column"
-                   minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-       </xsd:sequence>
-     </xsd:choice>
-     <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="join-table" type="orm:join-table"
-                     minOccurs="0"/>
-        <xsd:element name="join-column" type="orm:join-column"
-                     minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-     <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-     <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-     <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-     <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-     <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-          String mappedBy() default "";
-          boolean orphanRemoval() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="primary-key-join-column" 
-                     type="orm:primary-key-join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-column" type="orm:join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" 
-                   minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-    <xsd:attribute name="maps-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-</xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="optimistic-locking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An optimistic-locking element is used to specify the type of 
-         * optimistic locking EclipseLink should use when updating or deleting 
-         * entities. An optimistic-locking specification is supported on
-         * an entity or mapped-superclass.
-         * 
-         * It is used in conjunction with the optimistic-locking-type.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface OptimisticLocking {
-          /**
-           * (Optional) The type of optimistic locking policy to use.
-           */
-          OptimisticLockingType type() default VERSION_COLUMN;
-
-          /**
-           * (Optional) For an optimistic locking policy of type 
-           * SELECTED_COLUMNS, this annotation member becomes a (Required) 
-           * field.
-           */
-          Column[] selectedColumns() default {};
-
-          /**
-           * (Optional) Specify where the optimistic locking policy should 
-           * cascade lock. Currently only supported with VERSION_COLUMN locking.
-           */
-          boolean cascade() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="selected-column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="type" type="orm:optimistic-locking-type"/>
-    <xsd:attribute name="cascade" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="optimistic-locking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A simple type that is used within an optimistic-locking 
-         * specification to specify the type of optimistic-locking that
-         * EclipseLink should use when updating or deleting entities.
-         */
-        public enum OptimisticLockingType {
-          /**
-           * Using this type of locking policy compares every field in the table
-           * in the WHERE clause when doing an update or a delete. If any field
-           * has been changed, an optimistic locking exception will be thrown.
-           */
-          ALL_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares only the changed fields
-           * in the WHERE clause when doing an update. If any field has been
-           * changed, an optimistic locking exception will be thrown. A delete
-           * will only compare the primary key.
-           */
-          CHANGED_COLUMNS,
-
-          /**
-           * Using this type of locking compares selected fields in the WHERE
-           * clause when doing an update or a delete. If any field has been
-           * changed, an optimistic locking exception will be thrown. Note that
-           * the fields specified must be mapped and not be primary keys.
-           */
-          SELECTED_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares a single version number
-           * in the where clause when doing an update. The version field must be
-           * mapped and not be the primary key.
-           */
-          VERSION_COLUMN
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ALL_COLUMNS"/>
-      <xsd:enumeration value="CHANGED_COLUMNS"/>
-      <xsd:enumeration value="SELECTED_COLUMNS"/>
-      <xsd:enumeration value="VERSION_COLUMN"/>
-    </xsd:restriction>
-  </xsd:simpleType>  
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-by">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderBy {
-          String value() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="order-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderColumn {
-          String name() default "";
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="correction-type" type="orm:order-column-correction-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-column-correction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum OrderCorrectionType {
-          READ,
-          READ_WRITE,
-          EXCEPTION
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="READ_WRITE"/>
-      <xsd:enumeration value="EXCEPTION"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="post-load">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostLoad {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="post-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostPersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="post-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="post-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="pre-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PrePersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="pre-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="pre-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         *  The PrimaryKey annotation allows advanced configuration of the Id.
-         *  A validation policy can be given that allows specifying if zero is a valid id value.
-         *  The set of primary key columns can also be specified precisely.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 1.1
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface PrimaryKey {
-          /**
-           * (Optional) Configures what id validation is done.
-           * By default 0 is not a valid id value, this can be used to allow 0 id values.
-           */
-          IdValidation validation() default IdValidation.ZERO; 
-
-          /**
-           * (Optional) Configures what cache key type is used to store the object in the cache.
-           * By default the type is determined by what type is optimal for the class.
-           */
-          CacheKeyType cacheKeyType() default CacheKeyType.AUTO;
-    
-          /**
-           * (Optional) Used to specify the primary key columns directly.
-           * This can be used instead of @Id if the primary key includes a non basic field,
-           * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.
-           */
-          Column[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="validation" type="orm:id-validation"/>
-    <xsd:attribute name="cache-key-type" type="orm:cache-key-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface PrimaryKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        A user defined mapping's property.
-        @Target({METHOD, FIELD, TYPE})
-        @Retention(RUNTIME)
-        public @interface Property {
-          /**
-           * Property name.
-           */ 
-          String name();
-
-          /**
-           * String representation of Property value,
-           * converted to an instance of valueType.
-           */ 
-          String value();
-
-          /**
-           * Property value type.
-           * The value converted to valueType by ConversionManager.
-           * If specified must be a simple type that could be handled by 
-           * ConversionManager: 
-           * numerical, boolean, temporal.  
-           */ 
-          Class valueType() default String.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="value-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="query-hint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME) 
-        public @interface QueryHint {
-          String name();
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="query-redirectors">
-    <xsd:annotation>
-      <xsd:documentation>
-
-@Target({TYPE}) @Retention(RUNTIME)
-public @interface QueryRedirectors {
-    
-    /**
-     * This AllQueries Query Redirector will be applied to any executing object query
-     * that does not have a more precise redirector (like the 
-     * ReadObjectQuery Redirector) or a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * 
-     */
-    Class allQueries() default void.class;
-    
-    /**
-     * A Default ReadAll Query Redirector will be applied to any executing
-     * ReadAllQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query through the getResultList() API this is the redirector that will be invoked
-     */
-    Class readAll() default void.class;
-    
-    /**
-     * A Default ReadObject Query Redirector will be applied to any executing
-     * ReadObjectQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query through the getSingleResult() API or EntityManager.find() this is the redirector that will be invoked
-     */
-    Class readObject() default void.class;
-    
-    /**
-     * A Default ReportQuery Redirector will be applied to any executing
-     * ReportQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     * For users executing a JPA Query that contains agregate functions or selects multiple entities this is the redirector that will be invoked
-     */
-    Class report() default void.class;
-    
-    /**
-     * A Default Update Query Redirector will be applied to any executing
-     * UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.
-     * In EclipseLink an UpdateObjectQuery is executed whenever flushing changes to the datasource.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */ 
-    Class update() default void.class;
-    
-    /**
-     * A Default Insert Query Redirector will be applied to any executing
-     * InsertObjectQuery that does not have a redirector set directly on the query.
-     * In EclipseLink an InsertObjectQuery is executed when persisting an object to the datasource.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */
-    Class insert() default void.class;
-    
-    /**
-     * A Default Delete Object Query Redirector will be applied to any executing
-     * DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.
-     * Query redirectors allow the user to intercept query execution preventing
-     * it or alternately performing some side effect like auditing.
-     */
-    Class delete() default void.class;
-
-}
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="all-queries" type="xsd:string"/>
-    <xsd:attribute name="read-all" type="xsd:string"/>
-    <xsd:attribute name="read-object" type="xsd:string"/>
-    <xsd:attribute name="report" type="xsd:string"/>
-    <xsd:attribute name="update" type="xsd:string"/>
-    <xsd:attribute name="insert" type="xsd:string"/>
-    <xsd:attribute name="delete" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="read-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * Unless the TransformationMapping is write-only, it should have a 
-         * ReadTransformer, it defines transformation of database column(s) 
-         * value(s)into attribute value.
-         *
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ReadTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.AttributeTransformer 
-             * interface. The class will be instantiated, its 
-             * buildAttributeValue will be used to create the value to be 
-             * assigned to the attribute.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be assigned to the attribute (not assigns the value to 
-             * the attribute). Either transformerClass or method must be 
-             * specified, but not both.
-             */ 
-            String method() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="return-insert">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ReturnInsert {
-            /**
-             * A ReturnInsert annotation allows for INSERT operations to return 
-             * values back into the object being written. This allows for table 
-             * default values, trigger or stored procedures computed values to 
-             * be set back into the object.
-             */
-            boolean returnOnly() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="return-only" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="secondary-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SecondaryTable {
-          String name();
-          String catalog() default "";
-          String schema() default "";
-          PrimaryKeyJoinColumn[] pkJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-       <xsd:element name="primary-key-join-column" 
-                    type="orm:primary-key-join-column" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-       <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="sequence-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface SequenceGenerator {
-          String name();
-          String sequenceName() default "";
-          String catalog() default "";
-          String schema() default "";
-          int initialValue() default 1;
-          int allocationSize() default 50;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="sequence-name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="sql-result-set-mapping">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SqlResultSetMapping {
-          String name();
-          EntityResult[] entities() default {};
-          ColumnResult[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="entity-result" type="orm:entity-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="column-result" type="orm:column-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="stored-procedure-parameter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A StoredProcedureParameter annotation is used within a 
-         * NamedStoredProcedureQuery annotation. 
-         */ 
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface StoredProcedureParameter {
-          /**
-           * (Optional) The direction of the stored procedure parameter.
-           */
-          Direction direction() default IN;
-
-          /**
-           * (Optional) Stored procedure parameter name.
-           */
-          String name() default "";
-
-          /**
-           * (Required) The query parameter name.
-           */
-          String queryParameter();
-
-          /**
-           * (Optional) The type of Java class desired back from the procedure, 
-           * this is dependent on the type returned from the procedure.
-           */
-          Class type() default void.class;
-
-          /**
-           * (Optional) The JDBC type code, this dependent on the type returned 
-           * from the procedure.
-           */
-          int jdbcType() default -1;
-
-          /**
-           * (Optional) The JDBC type name, this may be required for ARRAY or 
-           * STRUCT types.
-           */
-          String jdbcTypeName() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="direction" type="orm:direction-type"/>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="query-parameter" type="xsd:string" use="required"/>
-    <xsd:attribute name="type" type="xsd:string"/>
-    <xsd:attribute name="jdbc-type" type="xsd:integer"/>
-    <xsd:attribute name="jdbc-type-name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="struct-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface StructConverter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must 
-           * implement the EclipseLink interface 
-           * org.eclipse.persistence.mappings.converters.Converter
-           */
-          String converter(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="converter" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Table {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-  </xsd:complexType>
-  
-<!-- **************************************************** -->
-
-  <xsd:complexType name="index">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * Allow a database INDEX to be define when generating DDL.
-         * The @Index can be defined on a Entity class, or on an attribute.
-         * The column is defaulted when defined on a attribute.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({METHOD, FIELD, TYPE})
-        @Retention(RUNTIME)
-        public @interface Index {
-            /** The name of the INDEX, defaults to INDEX_(table-name) */
-            String name() default "";
-    
-            /** The schema of the INDEX */
-            String schema() default "";
-            
-            /** The catalog of the INDEX */
-            String catalog() default "";
-            
-            /** The table to define the index on, defaults to entities primary table. */
-            String table() default "";
-            
-            boolean unique() default false;
-            
-            /**
-             * Specify the set of columns to define the index on.
-             * Not required when annotated on a field/method.
-             */
-            String[] columnNames() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column-name" type="xsd:string" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="table-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface TableGenerator {
-          String name();
-          String table() default "";
-          String catalog() default "";
-          String schema() default "";
-          String pkColumnName() default "";
-          String valueColumnName() default "";
-          String pkColumnValue() default "";
-          int initialValue() default 0;
-          int allocationSize() default 50;
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string"/>
-    <xsd:attribute name="pk-column-name" type="xsd:string"/>
-    <xsd:attribute name="value-column-name" type="xsd:string"/>
-    <xsd:attribute name="pk-column-value" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Temporal {
-          TemporalType value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:temporal-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum TemporalType {
-          DATE, // java.sql.Date
-          TIME, // java.sql.Time
-          TIMESTAMP // java.sql.Timestamp
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-      <xsd:restriction base="xsd:token">
-        <xsd:enumeration value="DATE"/>
-        <xsd:enumeration value="TIME"/>
-        <xsd:enumeration value="TIMESTAMP"/>
-     </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:complexType name="time-of-day">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface TimeOfDay {
-          /**
-           * (Optional) Hour of the day.
-           */ 
-          int hour() default 0;
-
-          /**
-           * (Optional) Minute of the day.
-           */ 
-          int minute() default 0;
-
-          /**
-           * (Optional) Second of the day.
-           */ 
-          int second() default 0;
-
-          /**
-           * (Optional) Millisecond of the day.
-           */ 
-          int millisecond() default 0;
-
-          /**
-           * Internal use. Do not modify.
-           */ 
-          boolean specified() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="hour" type="xsd:integer"/>
-    <xsd:attribute name="minute" type="xsd:integer"/>
-    <xsd:attribute name="second" type="xsd:integer"/>
-    <xsd:attribute name="millisecond" type="xsd:integer"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="transformation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Transformation is an optional annotation for 
-         * org.eclipse.persistence.mappings.TransformationMapping.
-         * TransformationMapping allows to map an attribute to one or more 
-         * database columns.
-         * 
-         * Transformation annotation is an optional part of 
-         * TransformationMapping definition. Unless the TransformationMapping is 
-         * write-only, it should have a ReadTransformer, it defines 
-         * transformation of database column(s) value(s)into attribute value.
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer). 
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Transformation {
-            /**
-             * (Optional) Defines whether the value of the field or property 
-             * should be lazily loaded or must be eagerly fetched. The EAGER 
-             * strategy is a requirement on the persistence provider runtime 
-             * that the value must be eagerly fetched. The LAZY strategy is a 
-             * hint to the persistence provider runtime. If not specified, 
-             * defaults to EAGER.
-             */
-            FetchType fetch() default EAGER;
-
-            /**
-             * (Optional) The optional element is a hint as to whether the value
-             *  of the field or property may be null. It is disregarded
-             *  for primitive types, which are considered non-optional.
-             */
-            boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="read-transformer" type="orm:read-transformer"/>
-      <xsd:element name="write-transformer" type="orm:write-transformer" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transient">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Transient {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface TypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-           String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence field 
-           * or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent field 
-           * or property.
-           */
-          Class objectType() default void.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="unique-constraint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface UniqueConstraint {
-          String name() default "";
-          String[] columnNames();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column-name" type="xsd:string" 
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="variable-one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-        /** 
-         * Variable one to one mappings are used to represent a pointer 
-         * references between a java object and an implementer of an interface. 
-         * This mapping is usually represented by a single pointer (stored in an 
-         * instance variable) between the source and target objects. In the 
-         * relational database tables, these mappings are normally implemented 
-         * using a foreign key and a type code.
-         * 
-         * A VariableOneToOne can be specified within an Entity, 
-         * MappedSuperclass and Embeddable class. 
-         */ 
-        @Target({METHOD, FIELD}) 
-        @Retention(RUNTIME)
-        public @interface VariableOneToOne {
-          /**
-           * (Optional) The interface class that is the target of the 
-           * association. If not specified it will be inferred from the type 
-           * of the object being referenced.
-           */
-          Class targetInterface() default void.class;
-
-          /**
-           * (Optional) The operations that must be cascaded to the target of 
-           * the association.
-           */
-          CascadeType[] cascade() default {};
-
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime 
-           * that the value must be eagerly fetched. The LAZY strategy is a 
-           * hint to the persistence provider runtime. If not specified, 
-           * defaults to EAGER.
-           */
-          FetchType fetch() default EAGER;
-
-          /**
-           * (Optional) Whether the association is optional. If set to false 
-           * then a non-null relationship must always exist.
-           */
-          boolean optional() default true;
-
-          /**
-           * (Optional) The discriminator column will hold the type 
-           * indicators. If the DiscriminatorColumn is not specified, the name 
-           * of the discriminator column defaults to "DTYPE" and the 
-           * discriminator type to STRING.
-           */
-          DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;
-
-          /**
-           * (Optional) The list of discriminator types that can be used with 
-           * this VariableOneToOne. If none are specified then those entities 
-           * within the persistence unit that implement the target interface 
-           * will be added to the list of types. The discriminator type will 
-           * default as follows:
-           *  - If DiscriminatorColumn type is STRING: Entity.name()
-           *  - If DiscriminatorColumn type is CHAR: First letter of the 
-           *    Entity class
-           *  - If DiscriminatorColumn type is INTEGER: The next integer after 
-           *    the highest integer explicitly added.
-           */
-          DiscriminatorClass[] discriminatorClasses() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-      <xsd:element name="discriminator-class" type="orm:discriminator-class" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-interface" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="version">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Version {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="index" type="orm:index" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="write-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         *  
-         * A single WriteTransformer may be specified directly on the method or 
-         * attribute. Multiple WriteTransformers should be wrapped into 
-         * WriteTransformers annotation. No WriteTransformers specified for 
-         * read-only mapping. Unless the TransformationMapping is write-only, it 
-         * should have a ReadTransformer, it defines transformation of database 
-         * column(s) value(s)into attribute value.
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface WriteTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.FieldTransformer 
-             * interface. The class will be instantiated, its buildFieldValue 
-             * will be used to create the value to be written into the database 
-             * column. Note that for ddl generation and returning to be 
-             * supported the method buildFieldValue in the class should be 
-             * defined to return the relevant Java type, not just Object as 
-             * defined in the interface, for instance:
-             * public Time buildFieldValue(Object instance, String fieldName, Session session).
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be written into the database column.
-             * Note that for ddl generation and returning to be supported the 
-             * method should be defined to return a particular type, not just 
-             * Object, for instance:
-             * public Time getStartTime().
-             * The method may require a Transient annotation to avoid being 
-             * mapped as Basic by default.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            String method() default "";
-
-            /**
-             * Specify here the column into which the value should be written.
-             * The only case when this could be skipped is if a single 
-             * WriteTransformer annotates an attribute - the attribute's name 
-             * will be used as a column name.
-             */ 
-            Column column() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <xsd:complexType name="batch-fetch">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A BatchFetch annotation can be used on any relationship mapping,
-         * (OneToOne, ManyToOne, OneToMany, ManyToMany, ElementCollection, BasicCollection, BasicMap).
-         * It allows the related objects to be batch read in a single query.
-         * Batch fetching can also be set at the query level, and it is 
-         * normally recommended to do so as all queries may not require batching.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 2.1
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BatchFetch {
-            /**
-             * (Optional) The type of batch-fetch to use.
-             * Either JOIN, EXISTS or IN.
-             * JOIN is the default.
-             */ 
-            BatchFetchType value() default BatchFetchType.JOIN;
-            
-            /**
-             * Define the default batch fetch size.
-             * This is only used for IN type batch reading and defines
-             * the number of keys used in each IN clause.
-             * The default size is 256, or the query's pageSize for cursor queries.
-             */
-            int size() default -1;
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:batch-fetch-type"/>
-    <xsd:attribute name="size" type="xsd:integer"/>
-  </xsd:complexType>
-  
-</xsd:schema>
-
-
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_3.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_3.xsd
deleted file mode 100644
index fb0521a..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_orm_2_3.xsd
+++ /dev/null
@@ -1,5479 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ******************************************************************************************************************************* -->
-<!-- Copyright (c) 1998, 2010 Oracle. All rights reserved.                                                                           -->
-<!-- This program and the accompanying materials are made available under the                                                        -->
-<!-- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0                                                --> 
-<!-- which accompanies this distribution.                                                                                            -->
-<!-- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html                                            -->
-<!-- and the Eclipse Distribution License is available at                                                                            --> 
-<!-- http://www.eclipse.org/org/documents/edl-v10.php.                                                                               -->
-<!--                                                                                                                                 -->
-<!-- Contributors:                                                                                                                   -->
-<!--     Oracle - initial API and implementation from Oracle TopLink                                                                 -->
-<!--     tware - update version number to 2.0                                                                                        -->
-<!--     12/2/2009-2.1 Guy Pelletier                                                                                                 -->
-<!--        - 296289: Add current annotation metadata support on mapped superclasses to EclipseLink-ORM.XML Schema                   -->
-<!--        - 296612: Add current annotation only metadata support of return insert/update to the EclipseLink-ORM.XML Schema         -->
-<!--        - formatted to match orm_2_0.xsd so that users can easily compare the two schemas                                        -->
-<!--     5/4/2010-2.1 Guy Pelletier                                                                                                  -->
-<!--        - 227219: Expand EclipseLink-ORM.XML schema functionality for 2.1 release  (update version to 2.1)                       -->
-<!--     6/14/2010-2.2 Guy Pelletier                                                                                                 -->
-<!--        - 247078: eclipselink-orm.xml schema should allow lob and enumerated on version and id mappings (update version to 2.2)  -->
-<!--     10/15/2010-2.2 Guy Pelletier                                                                                                -->
-<!--       - 322008: Improve usability of additional criteria applied to queries at the session/EM                                   -->
-<!--     03/23/2011-2.3 Guy Pelletier                                                                                                -->
-<!--       - 337323: Multi-tenant with shared schema support (part 1)                                                                -->
-<!-- ******************************************************************************************************************************* -->
-
-<!-- Java Persistence API object-relational mapping file schema -->
-<xsd:schema targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:orm="http://www.eclipse.org/eclipselink/xsds/persistence/orm" 
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-  elementFormDefault="qualified" 
-  attributeFormDefault="unqualified" 
-  version="2.3">
-
-  <xsd:annotation>
-    <xsd:documentation>
-      @(#)eclipselink_orm_2_3.xsd 2.3  March 23 2011
-    </xsd:documentation>
-  </xsd:annotation>
-  
-  <xsd:annotation>
-     <xsd:documentation><![CDATA[
-
-       This is the XML Schema for the native Eclipselink XML mapping file
-       The file may be named "META-INF/eclipselink-orm.xml" in the persistence
-       archive or it may be named some other name which would be
-       used to locate the file as resource on the classpath.
-       Object/relational mapping files must indicate the object/relational
-       mapping file schema by using the persistence namespace:
-
-       http://www.eclipse.org/eclipselink/xsds/persistence/orm
-
-       and indicate the version of the schema by using the version element as shown below:
-
-       <entity-mappings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm 
-       eclipselink_orm_2_3.xsd
-       version="2.3">
-       ...
-       </entity-mappings>
-
-     ]]></xsd:documentation>
-  </xsd:annotation>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="emptyType"/>
-  
-  <xsd:simpleType name="versionType">
-    <xsd:restriction base="xsd:token">
-      <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <xsd:simpleType name="supported-versions-type">
-    <xsd:restriction base="orm:versionType">
-      <xsd:enumeration value="2.0"/>
-      <xsd:enumeration value="2.1"/>
-      <xsd:enumeration value="2.2"/>
-      <xsd:enumeration value="2.3"/>
-    </xsd:restriction>
-  </xsd:simpleType> 
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="access-methods">
-    <xsd:annotation>
-      <xsd:documentation>
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="get-method" type="xsd:string" use="required"/>
-    <xsd:attribute name="set-method" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="additional-criteria">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * An additional criteria can be specified at the Entity or MappedSuperclass 
-         * level. When specified at the mapped superclass level, it applies to all 
-         * inheriting entities unless those entities define their own additional 
-         * criteria, at which point the additional criteria from the mapped superclass 
-         * is ignored.  
-         *
-         * The additional criteria supports any valid JPQL string and must use 'this' 
-         * as an alias to form your additional criteria. E.G.,
-         * 
-         * @Entity
-         * @AdditionalCriteria("this.nut.size = :NUT_SIZE and this.nut.color = :NUT_COLOR")
-         * public class Bolt {...}
-         * 
-         * Additional criteria parameters are also accepted and are set through 
-         * properties on the entity manager factory, or on an entity manager. When set 
-         * on the entity manager, the properties must be set before any query execution
-         * and should not be changed for the life span of that entity manager.
-         * 
-         * Properties set on the entity manager will override those similarly named 
-         * properties set on the entity manager factory.
-         *
-         * Additional criteria is not supported with any native queries.
-         * 
-         * @author Guy Pelletier
-         * @since EclipseLink 2.2
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface AdditionalCriteria {
-            /**
-             * (Required) The JPQL fragment to use as the additional criteria.
-             */
-            String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="criteria" type="xsd:string"/>
-    </xsd:sequence>
-  </xsd:complexType>
-      
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="cache">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Cache annotation is used to set an 
-         * org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy 
-         * which sets objects in EclipseLink's identity maps to be invalid 
-         * following given rules. By default in EclipseLink, objects do not 
-         * expire in the cache. Several different policies are available to 
-         * allow objects to expire.
-         * 
-         * @see org.eclipse.persistence.annotations.CacheType
-         * 
-         * A Cache anotation may be defined on an Entity or MappedSuperclass. 
-         * In the case of inheritance, a Cache annotation should only be defined 
-         * on the root of the inheritance hierarchy.
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Cache {
-          /**
-           * (Optional) The type of cache to use.
-           */ 
-          CacheType type() default SOFT_WEAK;
-
-          /**
-           * (Optional) The size of cache to use.
-           */ 
-          int size() default 100;
-
-         /**
-          * (Optional) Cached instances in the shared cache,
-          * or only a per EntityManager isolated cache.
-          * The default is shared.
-          * @deprecated  As of Eclipselink 2.2.  See the attribute 'isolation'
-          */ 
-          @Deprecated
-          boolean shared() default true;
-    
-         /**
-          * (Optional) Controls the level of caching this Entity will use.
-          * The default is CacheIsolationType.SHARED which has EclipseLink
-          * Caching all Entities in the Shared Cache.
-          * @see org.eclipse.persistence.config.CacheIsolationType
-          */
-          CacheIsolationType isolation() default SHARED;
-
-          /**
-           * (Optional) Expire cached instance after a fix period of time (ms). 
-           * Queries executed against the cache after this will be forced back 
-           * to the database for a refreshed copy
-           */ 
-          int expiry() default -1; // minus one is no expiry.
-
-          /**
-           * (Optional) Expire cached instance a specific time of day. Queries 
-           * executed against the cache after this will be forced back to the 
-           * database for a refreshed copy
-           */ 
-          TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false);
-
-          /**
-           * (Optional) Force all queries that go to the database to always 
-           * refresh the cache.
-           */ 
-          boolean alwaysRefresh() default false;
-
-          /**
-           * (Optional) For all queries that go to the database, refresh the
-           * cache only if the data received from the database by a query is 
-           * newer than the data in the cache (as determined by the optimistic 
-           * locking field)
-           */ 
-          boolean refreshOnlyIfNewer() default false;
-
-          /**
-           * (Optional) Setting to true will force all queries to bypass the 
-           * cache for hits but still resolve against the cache for identity. 
-           * This forces all queries to hit the database.
-           */ 
-          boolean disableHits() default false;
-
-          /**
-           * (Optional) The cache coordination mode.
-           */ 
-          CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="expiry" type="xsd:integer" minOccurs="0"/>
-      <xsd:element name="expiry-time-of-day" type="orm:time-of-day" minOccurs="0"/>
-    </xsd:choice>
-    <xsd:attribute name="size" type="xsd:integer"/>
-    <xsd:attribute name="shared" type="xsd:boolean"/>
-    <xsd:attribute name="isolation" type="orm:cache-isolation-type"/>
-    <xsd:attribute name="type" type="orm:cache-type"/>
-    <xsd:attribute name="always-refresh" type="xsd:boolean"/>
-    <xsd:attribute name="refresh-only-if-newer" type="xsd:boolean"/>
-    <xsd:attribute name="disable-hits" type="xsd:boolean"/>
-    <xsd:attribute name="coordination-type" type="orm:cache-coordination-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** --> 
-
-  <xsd:complexType name="cache-interceptor">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface CacheInterceptor {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="cache-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The CacheType enum is used with the Cache annotation for a 
-         * persistent class. It defines the type of IdentityMap/Cache used for 
-         * the class. By default the SOFT_WEAK cache type is used.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */
-        public enum CacheType {
-          /**
-           * Provides full caching and guaranteed identity. Caches all objects
-           * and does not remove them. 
-           * WARNING: This method may be memory intensive when many objects are 
-           * read.
-           */
-          FULL,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using weak references. This method allows full garbage
-           * collection and provides full caching and guaranteed identity.
-           */
-          WEAK,
-
-          /**
-           * Similar to the FULL identity map except that the map holds the
-           * objects using soft references. This method allows full garbage
-           * collection when memory is low and provides full caching and
-           * guaranteed identity.
-           */
-          SOFT,
-
-          /**
-           * Similar to the WEAK identity map except that it maintains a
-           * most-frequently-used sub-cache. The size of the sub-cache is
-           * proportional to the size of the identity map as specified by
-           * descriptor's setIdentityMapSize() method. The sub-cache
-           * uses soft references to ensure that these objects are
-           * garbage-collected only if the system is low on memory.
-           */
-          SOFT_WEAK,
-
-          /**
-           * Identical to the soft cache weak (SOFT_WEAK) identity map except 
-           * that it uses hard references in the sub-cache. Use this identity 
-           * map if soft references do not behave properly on your platform.
-           */
-          HARD_WEAK,
-
-          /**
-           * A cache identity map maintains a fixed number of objects
-           * specified by the application. Objects are removed from the cache
-           * on a least-recently-used basis. This method allows object
-           * identity for the most commonly used objects.
-           * WARNING: Furnishes caching and identity, but does not guarantee 
-           * identity.
-           */
-          CACHE,
-
-          /**
-           * WARNING: Does not preserve object identity and does not cache 
-           * objects.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="FULL"/>
-      <xsd:enumeration value="WEAK"/>
-      <xsd:enumeration value="SOFT"/>
-      <xsd:enumeration value="SOFT_WEAK"/>
-      <xsd:enumeration value="HARD_WEAK"/>
-      <xsd:enumeration value="CACHE"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:simpleType name="cache-isolation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * Options for how Entity instances should be shared within an EclipseLink Persistence Unit / ServerSession
-         * @see ClassDescriptor#setCacheIsolationType(CacheIsolationType)
-         * @author Gordon Yorke
-         * @since EclipseLink 2.2
-         */
-        public enum CacheIsolationType {
-        
-         /**
-          * Entity instances will be cached within the EntityManagerFactory/ServerSession level.
-          * Any user queries for shared cache instances (ie Read-Only query hint) will return an Entity
-          * instance that may be shared by multiple clients. 
-          * 
-          * This setting is the default isolation level.
-          */
-         SHARED,
-    
-         /**
-          * Entity state information will be cached in the shared cache but Entity
-          * instances will not be shared. Any user queries for shared cache instances
-          * (ie Read-Only query hint) will return a new Entity instance with the cached state.
-          * This will ensure the instance is <i>protected</i> from any concurrent
-          * state change.
-          */
-         PROTECTED,
-    
-         /**
-          * The Entity and its data is not stored in the shared cache but is
-          * <i>isolated</i> to the Persistence Context/UnitOfWork or
-          * IsolatedClientSession. This setting effectively disables second level
-          * caching for this entity and should be used when users do not want caching for
-          * a particular Entity.
-          */
-         ISOLATED;
-        
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SHARED"/>
-      <xsd:enumeration value="PROTECTED"/>
-      <xsd:enumeration value="ISOLATED"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->  
-
-  <xsd:simpleType name="cache-coordination-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the Cache annotation.
-         * 
-         * @see org.eclipse.persistence.annotations.Cache 
-         */ 
-        public enum CacheCoordinationType {
-          /**
-           * Sends a list of changed objects including data about the changes.
-           * This data is merged into the receiving cache.
-           */
-          SEND_OBJECT_CHANGES,
-
-          /**
-           * Sends a list of the identities of the objects that have changed. 
-           * The receiving cache invalidates the objects (rather than changing 
-           * any of the data)
-           */
-          INVALIDATE_CHANGED_OBJECTS,
-
-          /**
-           * Same as SEND_OBJECT_CHANGES except it also includes any newly
-           * created objects from the transaction.
-           */
-          SEND_NEW_OBJECTS_WITH_CHANGES,
-
-          /**
-           * Does no cache coordination.
-           */
-          NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SEND_OBJECT_CHANGES"/>
-      <xsd:enumeration value="INVALIDATE_CHANGED_OBJECTS"/>
-      <xsd:enumeration value="SEND_NEW_OBJECTS_WITH_CHANGES"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="change-tracking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The ChangeTracking annotation is used to specify the 
-         * org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy 
-         * which computes changes sets for EclipseLink's UnitOfWork commit 
-         * process. An ObjectChangePolicy is stored on an Entity's descriptor.
-         *
-         * A ChangeTracking annotation may be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ChangeTracking {
-          /**
-           * (Optional) The type of change tracking to use.
-           */ 
-          ChangeTrackingType value() default AUTO;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:change-tracking-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="change-tracking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the ChangeTracking annotation. 
-         */ 
-        public enum ChangeTrackingType {
-          /**
-           * An ATTRIBUTE change tracking type allows change tracking at the
-           * attribute level of an object. Objects with changed attributes will
-           * be processed in the commit process to include any changes in the 
-           * results of the commit. Unchanged objects will be ignored.
-           */
-          ATTRIBUTE,
-
-          /**
-           * An OBJECT change tracking policy allows an object to calculate for 
-           * itself whether it has changed. Changed objects will be processed in 
-           * the commit process to include any changes in the results of the 
-           * commit. Unchanged objects will be ignored.
-           */
-          OBJECT,
-
-          /**
-           * A DEFERRED change tracking policy defers all change detection to
-           * the UnitOfWork's change detection process. Essentially, the 
-           * calculateChanges() method will run for all objects in a UnitOfWork. 
-           * This is the default ObjectChangePolicy
-           */
-          DEFERRED,
-
-          /**
-           * Will not set any change tracking policy.
-           */
-          AUTO
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ATTRIBUTE"/>
-      <xsd:enumeration value="OBJECT"/>
-      <xsd:enumeration value="DEFERRED"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="customizer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The Customizer annotation is used to specify a class that implements 
-         * the org.eclipse.persistence.config.DescriptorCustomizer 
-         * interface and is to run against an enetity's class descriptor after all 
-         * metadata processing has been completed.
-         *
-         * The Customizer annotation may be defined on an Entity, MappedSuperclass 
-         * or Embeddable class. In the case of inheritance, a Customizer is not 
-         * inherited from its parent classes. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface Customizer {
-          /**
-           * (Required) Defines the name of the descriptor customizer class that 
-           * should be applied for the related entity or embeddable class.
-           */
-          Class value(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="direction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An enum that is used within the StoredProcedureParameter annotation.
-         * It is used to specify the direction of the stored procedure 
-         * parameters of a named stored procedure query.
-         */
-        public enum Direction {
-          /**
-           * Input parameter
-           */
-          IN,
-
-          /**
-           * Output parameter
-           */
-          OUT,
-
-          /**
-           * Input and output parameter
-           */
-          IN_OUT,
-
-          /**
-           * Output cursor
-           */
-          OUT_CURSOR
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="IN"/>
-      <xsd:enumeration value="OUT"/>
-      <xsd:enumeration value="IN_OUT"/>
-      <xsd:enumeration value="OUT_CURSOR"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:element name="entity-mappings">
-    <xsd:complexType>
-      <xsd:annotation>
-        <xsd:documentation>
-
-        The entity-mappings element is the root element of a mapping
-        file. It contains the following four types of elements:
-
-        1. The persistence-unit-metadata element contains metadata
-        for the entire persistence unit. It is undefined if this element
-        occurs in multiple mapping files within the same persistence unit.
-        
-        2. The package, schema, catalog and access elements apply to all of
-        the entity, mapped-superclass and embeddable elements defined in
-        the same file in which they occur.
-
-        3. The sequence-generator, table-generator, named-query,
-        named-native-query and sql-result-set-mapping elements are global
-        to the persistence unit. It is undefined to have more than one
-        sequence-generator or table-generator of the same name in the same
-        or different mapping files in a persistence unit. It is also 
-        undefined to have more than one named-query, named-native-query, or
-        result-set-mapping of the same name in the same or different mapping 
-        files in a persistence unit.
-
-        4. The entity, mapped-superclass and embeddable elements each define
-        the mapping information for a managed persistent class. The mapping
-        information contained in these elements may be complete or it may
-        be partial.
-
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:sequence>
-        <xsd:element name="description" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="persistence-unit-metadata" 
-                     type="orm:persistence-unit-metadata"
-                     minOccurs="0"/>
-        <xsd:element name="package" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="access-methods" type="orm:access-methods" 
-                     minOccurs="0"/>
-        <xsd:element name="tenant-discriminator-column" type="orm:tenant-discriminator-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="sequence-generator" type="orm:sequence-generator"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="table-generator" type="orm:table-generator" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="partitioning" type="orm:partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="replication-partitioning" type="orm:replication-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="round-robin-partitioning" type="orm:round-robin-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="pinned-partitioning" type="orm:pinned-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="range-partitioning" type="orm:range-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="value-partitioning" type="orm:value-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="hash-partitioning" type="orm:hash-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="union-partitioning" type="orm:union-partitioning" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-query" type="orm:named-query" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-native-query" type="orm:named-native-query"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-stored-function-query" type="orm:named-stored-function-query" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-plsql-stored-procedure-query" type="orm:named-plsql-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="named-plsql-stored-function-query" type="orm:named-plsql-stored-function-query" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="plsql-record" type="orm:plsql-record" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="plsql-table" type="orm:plsql-table" minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="sql-result-set-mapping" 
-                     type="orm:sql-result-set-mapping" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="mapped-superclass" type="orm:mapped-superclass" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="entity" type="orm:entity" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embeddable" type="orm:embeddable" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" type="orm:supported-versions-type" 
-                     default="2.3" use="optional"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="existence-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * The ExistenceChecking annotation is used to specify the type of 
-         * checking EclipseLink should use when updating entities.
-         * 
-         * An existence-checking specification is supported on an Entity or 
-         * MappedSuperclass annotation.
-         */
-        public @interface ExistenceChecking {
-
-          /**
-           * (Optional) Set the existence check for determining
-           * if an insert or update should occur for an object.
-           */
-          ExistenceType value() default CHECK_CACHE;
-        }
-
-        /**
-         * Assume that if the objects primary key does not include null and 
-         * it is in the cache, then it must exist.
-         */
-        CHECK_CACHE,
-
-        /**
-         * Perform does exist check on the database.
-         */
-        CHECK_DATABASE,
-
-        /**
-         * Assume that if the objects primary key does not include null then 
-         * it must exist. This may be used if the application guarantees or 
-         * does not care about the existence check.
-         */
-        ASSUME_EXISTENCE,
-
-        /**
-         * Assume that the object does not exist. This may be used if the 
-         * application guarantees or does not care about the existence check.  
-         * This will always force an insert to be called.
-         */
-        ASSUME_NON_EXISTENCE
-
-      </xsd:documentation>
-    </xsd:annotation>    
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="CHECK_CACHE"/>
-      <xsd:enumeration value="CHECK_DATABASE"/>
-      <xsd:enumeration value="ASSUME_EXISTENCE"/>
-      <xsd:enumeration value="ASSUME_NON_EXISTENCE"/>
-    </xsd:restriction>
-  </xsd:simpleType> 
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-metadata">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Metadata that applies to the persistence unit and not just to 
-        the mapping file in which it is contained. 
-
-        If the xml-mapping-metadata-complete element is specified,
-        the complete set of mapping metadata for the persistence unit 
-        is contained in the XML mapping files for the persistence unit.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="exclude-default-mappings" type="orm:emptyType" minOccurs="0"/>             
-      <xsd:element name="persistence-unit-defaults" 
-                   type="orm:persistence-unit-defaults"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-unit-defaults">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        These defaults are applied to the persistence unit as a whole 
-        unless they are overridden by local annotation or XML 
-        element settings. 
-        
-        schema - Used as the schema for all tables, secondary tables, join
-            tables, collection tables, sequence generators, and table 
-            generators that apply to the persistence unit
-        catalog - Used as the catalog for all tables, secondary tables, join
-            tables, collection tables, sequence generators, and table 
-            generators that apply to the persistence unit
-        delimited-identifiers - Used to treat database identifiers as
-            delimited identifiers.
-        access - Used as the access type for all managed classes in
-            the persistence unit
-        cascade-persist - Adds cascade-persist to the set of cascade options
-            in all entity relationships of the persistence unit
-        entity-listeners - List of default entity listeners to be invoked 
-            on each entity in the persistence unit. 
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-        <xsd:element name="schema" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="catalog" type="xsd:string"
-                     minOccurs="0"/>
-        <xsd:element name="delimited-identifiers" type="orm:emptyType" 
-                     minOccurs="0"/>
-        <xsd:element name="access" type="orm:access-type"
-                     minOccurs="0"/>
-        <xsd:element name="access-methods" type="orm:access-methods" 
-                     minOccurs="0"/>
-        <xsd:element name="cascade-persist" type="orm:emptyType" 
-                     minOccurs="0"/>
-        <xsd:element name="tenant-discriminator-column" type="orm:tenant-discriminator-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="entity-listeners" type="orm:entity-listeners"
-                     minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for an entity. Is allowed to be
-        sparsely populated and used in conjunction with the annotations.
-        Alternatively, the metadata-complete attribute can be used to 
-        indicate that no annotations on the entity class (and its fields
-        or properties) are to be processed. If this is the case then 
-        the defaulting rules for the entity and its subelements will 
-        be recursively applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-          public @interface Entity {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="multitenant" type="orm:multitenant" minOccurs="0"/>
-      <xsd:element name="additional-criteria" type="orm:additional-criteria" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="table" type="orm:table" minOccurs="0"/>
-      <xsd:element name="secondary-table" type="orm:secondary-table" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct" type="orm:struct" minOccurs="0"/>
-      <xsd:element name="primary-key-join-column" 
-                   type="orm:primary-key-join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="index" type="orm:index" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:sequence>
-            <xsd:element name="discriminator-value" type="orm:discriminator-value" minOccurs="0"/>
-            <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-        </xsd:sequence>
-        <xsd:element name="class-extractor" type="orm:class-extractor" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="fetch-group" type="orm:fetch-group" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-      <xsd:element name="named-query" type="orm:named-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-function-query" type="orm:named-stored-function-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-plsql-stored-procedure-query" type="orm:named-plsql-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-plsql-stored-function-query" type="orm:named-plsql-stored-function-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="plsql-record" type="orm:plsql-record" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="plsql-table" type="orm:plsql-table" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="sql-result-set-mapping" 
-                   type="orm:sql-result-set-mapping" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="query-redirectors" type="orm:query-redirectors" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="parent-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:group name="partitioning-group">
-    <xsd:sequence>
-      <xsd:element name="partitioning" type="orm:partitioning" minOccurs="0"/>
-      <xsd:element name="replication-partitioning" type="orm:replication-partitioning" minOccurs="0"/>
-      <xsd:element name="round-robin-partitioning" type="orm:round-robin-partitioning" minOccurs="0"/>
-      <xsd:element name="pinned-partitioning" type="orm:pinned-partitioning" minOccurs="0"/>
-      <xsd:element name="range-partitioning" type="orm:range-partitioning" minOccurs="0"/>
-      <xsd:element name="value-partitioning" type="orm:value-partitioning" minOccurs="0"/>
-      <xsd:element name="hash-partitioning" type="orm:hash-partitioning" minOccurs="0"/>
-      <xsd:element name="union-partitioning" type="orm:union-partitioning" minOccurs="0"/>
-      <xsd:element name="partitioned" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:group>
-      
-  <!-- **************************************************** -->
-    
-  <xsd:simpleType name="access-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element determines how the persistence provider accesses the
-        state of an entity or embedded object.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="PROPERTY"/>
-      <xsd:enumeration value="FIELD"/>
-      <xsd:enumeration value="VIRTUAL"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="association-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AssociationOverride {
-          String name();
-          JoinColumn[] joinColumns() default{};
-          JoinTable joinTable() default @JoinTable;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="join-column" type="orm:join-column"
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table"
-                     minOccurs="0"/>
-      </xsd:choice>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attribute-override">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface AttributeOverride {
-          String name();
-          Column column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="attributes">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        This element contains the entity field or property mappings.
-        It may be sparsely populated to include only a subset of the
-        fields or properties. If metadata-complete for the entity is true
-        then the remainder of the attributes will be defaulted according
-        to the default rules.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="id" type="orm:id" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="embedded-id" type="orm:embedded-id" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="basic" type="orm:basic"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-collection" type="orm:basic-collection" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="basic-map" type="orm:basic-map" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="version" type="orm:version"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-one" type="orm:many-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-many" type="orm:one-to-many"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="one-to-one" type="orm:one-to-one"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="variable-one-to-one" type="orm:variable-one-to-one" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="many-to-many" type="orm:many-to-many" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="element-collection" type="orm:element-collection" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="embedded" type="orm:embedded"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transformation" type="orm:transformation" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="transient" type="orm:transient" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="structure" type="orm:structure" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="array" type="orm:array" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Basic {
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="index" type="orm:index" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="lob" type="orm:lob"/>
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="enumerated" type="orm:enumerated"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="return-insert" type="orm:return-insert" minOccurs="0"/>
-      <xsd:element name="return-update" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicCollection {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY; 
- 
-          /**
-           * (Optional) The name of the value column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="basic-map">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BasicMap {
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime that 
-           * the value must be eagerly fetched. The LAZY strategy is a hint to 
-           * the persistence provider runtime. If not specified, defaults to 
-           * LAZY.
-           */
-          FetchType fetch() default LAZY;
-
-          /**
-           * (Optional) The name of the data column that holds the direct map 
-           * key. If the name on te key column is "", the name will default to:
-           * the name of the property or field; "_KEY".
-           */
-          Column keyColumn() default @Column;
-
-          /**
-           * (Optional) Specify the key converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the direct map key.
-           */
-          Convert keyConverter() default @Convert;
-
-          /**
-           * (Optional) The name of the data column that holds the direct 
-           * collection data. Defaults to the property or field name.
-           */
-          Column valueColumn() default @Column;
-
-          /**
-           * (Optional) Specify the value converter. Default is equivalent to 
-           * specifying @Convert("none"), meaning no converter will be added to 
-           * the value column mapping.
-           */
-          Convert valueConverter() default @Convert;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="key-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="key-converter" type="xsd:string" minOccurs="0"/>    
-      <xsd:element name="value-column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="value-converter" type="xsd:string" minOccurs="0"/>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>    
-      <xsd:element name="collection-table" type="orm:eclipselink-collection-table" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="cascade-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade-all" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-persist" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-merge" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-remove" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-refresh" type="orm:emptyType"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-detach" type="orm:emptyType"
-                   minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="class-extractor">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * A ClassExtractor allows for a user defined class indicator in place of 
-         * providing a discriminator column. The class has the following restrictions:
-
-         *  - It must extend the org.eclipse.persistence.descriptors.ClassExtractor 
-         *    class and implement the extractClassFromRow(Record, Session) method. 
-         *  - That method must take a database row (a Record/Map) as an argument and 
-         *    must return the class to use for that row. 
-         * 
-         * This method will be used to decide which class to instantiate when reading 
-         * from the database. It is the application's responsibility to populate any 
-         * typing information in the database required to determine the class from the 
-         * row.
-         * 
-         * The ClassExtractor must only be set on the root of an entity class or
-         * sub-hierarchy in which a different inheritance strategy is applied. The 
-         * ClassExtractor can only be used with the SINGLE_TABLE and JOINED inheritance 
-         * strategies.
-         * 
-         * If a ClassExtractor is used then a DiscriminatorColumn cannot be used. A 
-         * ClassExtractor also cannot be used on either the root or its subclasses.
-         * 
-         * In addition, for more complex configurations using a ClassExtractor and a 
-         * SINGLE_TABLE strategy, the descriptor's withAllSubclasses and onlyInstances 
-         * expressions should be set through the ClassExtractor's initialize method.
-         *
-         * @see org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)
-         * @see org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)
-         * 
-         * @author Guy Pelletier
-         * @since EclipseLink 2.1 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface ClassExtractor {
-            /**
-             * (Required) Defines the name of the class extractor that should be 
-             * applied to this entity's descriptor.
-             */
-            Class value(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CloneCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.CloneCopyPolicy on an 
-         * Entity. A CloneCopyPolicy must specify at one or both of the "method" 
-         * or "workingCopyMethod". "workingCopyMethod" is used to clone objects 
-         * that will be returned to the user as they are registered in 
-         * EclipseLink's transactional mechanism, the UnitOfWork. "method" will 
-         * be used for the clone that is used for comparison in conjunction with 
-         * EclipseLink's DeferredChangeDetectionPolicy
-         *  
-         * A CloneCopyPolicy should be specified on an Entity, MappedSuperclass
-         * or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(method="myCloneMethod", workingCopyMethod="myWorkingCopyCloneMethod")
-         * 
-         * or:
-         * 
-         * @Entity
-         * @CloneCopyPolicy(workingCopyMethodName="myWorkingCopyClone")
-         */
-        public @interface CloneCopyPolicy {
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified this defines 
-             * a method that will be used to create a clone that will be used 
-             * for comparison by
-             * EclipseLink's DeferredChangeDetectionPolicy
-             */
-            String method();
-
-            /**
-             * (Optional)
-             * Either method or workingCopyMethod must be specified
-             * this defines a method that will be used to create a clone that 
-             * will be used to create the object returned when registering an 
-             * Object in an EclipseLink UnitOfWork
-             */
-            String workingCopyMethod();
-
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="method" type="xsd:string"/>
-    <xsd:attribute name="working-copy-method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface CollectionTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-    </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="eclipselink-collection-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface CollectionTable {
-          /**
-           * (Optional) The name of the collection table. If it is not 
-           * specified, it is defaulted to the concatenation of the following: 
-           * the name of the source entity; "_" ; the name of the relationship 
-           * property or field of the source entity.
-           */
-          String name() default ""; 
-
-          /**
-           * (Optional) The catalog of the table. It defaults to the persistence 
-           * unit default catalog.
-           */
-          String catalog() default ""; 
-
-          /**
-           * (Optional) The schema of the table. It defaults to the persistence 
-           * unit default schema.
-           */
-          String schema() default ""; 
-
-          /**
-           * (Optional) Used to specify a primary key column that is used as a 
-           * foreign key to join to another table. If the source entity uses a 
-           * composite primary key, a primary key join column must be specified 
-           * for each field of the composite primary key. In a single primary 
-           * key case, a primary key join column may optionally be specified. 
-           * Defaulting will apply otherwise as follows:
-           * name, the same name as the primary key column of the primary table 
-           * of the source entity. referencedColumnName, the same name of 
-           * primary key column of the primary table of the source entity.
-           */
-          PrimaryKeyJoinColumn[] primaryKeyJoinColumns() default {}; 
- 
-          /**
-           * (Optional) Unique constraints that are to be placed on the table. 
-           * These are only used if table generation is in effect.
-           */
-          UniqueConstraint[] uniqueConstraints() default {}; 
-       }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="primary-key-join-column" type="orm:primary-key-join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-  </xsd:complexType>
-
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Column {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="conversion-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface ConversionValue {
-          /**
-           * (Required) Specify the database value.
-           */
-          String dataValue();
-
-          /**
-           * (Required) Specify the object value.
-           */
-          String objectValue();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="data-value" type="xsd:string" use="required"/>
-    <xsd:attribute name="object-value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Converter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must implement
-           * the org.eclipse.persistence.mappings.converters.Converter interface.
-           */
-          Class converterClass(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * A Partitioning is used to partition the data for a class across multiple difference databases
-             * or across a database cluster such as Oracle RAC.
-             * Partitioning can provide improved scalability by allowing multiple database machines to service requests.
-             * This annotation configures a custom PartitioningPolicy.
-             * 
-             * If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * Partition policies are globally named to allow reuse,
-             * the partitioning policy must also be set using the @Partitioned annotation to be used.
-             * 
-             * @see Partitioned
-             * @see org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface Partitioning {
-                String name();
-                
-                /**
-                 * (Required) Full package.class name of a subclass of PartitioningPolicy.
-                 */
-                Class partitioningClass();
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="hash-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * HashPartitioning partitions access to a database cluster by the hash of a field value from the object,
-             * such as the object's location, or tenant.
-             * The hash indexes into the list of connection pools.
-             * All write or read request for object's with that hash value are sent to the server.
-             * If a query does not include the field as a parameter, then it can either be sent
-             * to all server's and unioned, or left to the sesion's default behavior.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * 
-             * @see org.eclipse.persistence.descriptors.partitioning.HashPartitioningPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */ 
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface HashPartitioning {
-                String name();
-                
-                /**
-                 * The database column or query parameter to partition queries by.
-                 * This is the table column name, not the class attribute name.
-                 * The column value must be included in the query and should normally be part of the object's Id.
-                 * This can also be the name of a query parameter.
-                 * If a query does not contain the field the query will not be partitioned.
-                 */
-                Column partitionColumn();
-            
-                /**
-                 * List of connection pool names to partition across.
-                 */
-                String[] connectionPools();
-                        
-                /**
-                 * Defines if queries that do not contain the partition field should be sent
-                 * to every database and have the result unioned.
-                 */
-                boolean unionUnpartitionableQueries() default false;
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="partition-column" type="orm:column"/>
-        <xsd:element name="connection-pool" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="union-unpartitionable-queries" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="range-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * RangePartitioningPolicy partitions access to a database cluster by a field value from the object,
-         * such as the object's id, location, or tenant.
-         * Each server is assigned a range of values.
-         * All write or read request for object's with that value are sent to the server.
-         * If a query does not include the field as a parameter, then it can either be sent
-         * to all server's and unioned, or left to the sesion's default behavior.
-         * 
-         * If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.
-         * 
-         * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-         * Partition policies are globally named to allow reuse,
-         * the partitioning policy must also be set using the @Partitioned annotation to be used.
-         * 
-         * @see Partitioned
-         * @see org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface RangePartitioning {
-            String name();
-            
-            /**
-             * The database column or query parameter to partition queries by.
-             * This is the table column name, not the class attribute name.
-             * The column value must be included in the query and should normally be part of the object's Id.
-             * This can also be the name of a query parameter.
-             * If a query does not contain the field the query will not be partitioned.
-             */
-            Column partitionColumn();
-            
-            /**
-             * (Required) List of connection pool names to load balance across.
-             */
-            RangePartition[] partitions();
-            
-            /**
-             * Defines if queries that do not contain the partition field should be sent
-             * to every database and have the result unioned.
-             */
-            boolean unionUnpartitionableQueries() default false;
-            
-            /** The type of the start and end values. */
-            Class partitionValueType() default String.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="partition-column" type="orm:column"/>
-        <xsd:element name="partition" type="orm:range-partition" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="union-unpartitionable-queries" type="xsd:boolean"/>
-    <xsd:attribute name="partition-value-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="range-partition">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * Represent a specific range partition.
-         * Values = startValue and = endValue will be routed to the connection pool.
-         * 
-         * @see RangePartitioningPolicy
-         * @see org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
-         * @see org.eclipse.persistence.descriptors.partitioning.RangePartition
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface RangePartition {
-            /** The String representation of the range start value. */
-            String startValue() default "";
-            /** The String representation of the range start value. */
-            String endValue() default "";
-            /** The connection pool to route queries to for this range. */
-            String connectionPool();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="start-value" type="xsd:string"/>
-    <xsd:attribute name="end-value" type="xsd:string"/>
-    <xsd:attribute name="connection-pool" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="value-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * ValuePartitioning partitions access to a database cluster by a field value from the object,
-         * such as the object's location, or tenant.
-         * Each value is assigned a specific server.
-         * All write or read request for object's with that value are sent to the server.
-         * If a query does not include the field as a parameter, then it can either be sent
-         * to all server's and unioned, or left to the sesion's default behavior.
-         * 
-         * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-         * 
-         * @see org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ValuePartitioning {
-            String name();
-            
-            /**
-             * The database column or query parameter to partition queries by.
-             * This is the table column name, not the class attribute name.
-             * The column value must be included in the query and should normally be part of the object's Id.
-             * This can also be the name of a query parameter.
-             * If a query does not contain the field the query will not be partitioned.
-             */
-            Column partitionColumn();
-            
-            /** Store the value partitions. Each partition maps a value to a connectionPool. */
-            ValuePartition[] partitions();
-    
-            /** The type of the start and end values. */
-            Class partitionValueType() default String.class;
-            
-            /** The default connection pool is used for any unmapped values. */
-            String defaultConnectionPool();
-                
-            /**
-             * Defines if queries that do not contain the partition field should be sent
-             * to every database and have the result unioned.
-             */
-            boolean unionUnpartitionableQueries() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="partition-column" type="orm:column"/>
-        <xsd:element name="partition" type="orm:value-partition" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="union-unpartitionable-queries" type="xsd:boolean"/>
-    <xsd:attribute name="default-connection-pool" type="xsd:string"/>
-    <xsd:attribute name="partition-value-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="value-partition">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * Represent a specific value partition.
-         * The value will be routed to the connection pool.
-         * 
-         * @see ValuePartitioningPolicy
-         * @see org.eclipse.persistence.descriptors.partitioning.ValuePartitioningPolicy
-         * @see org.eclipse.persistence.descriptors.partitioning.ValuePartition
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ValuePartition {
-            /** The String representation of the range start value. */
-            String value() default "";
-            
-            /** The connection pool to route queries to for this value. */
-            String connectionPool();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="connection-pool" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="round-robin-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * RoundRobinPartitioning sends requests in a round robin fashion to the set of connection pools.
-             * It is for load-balancing read queries across a cluster of database machines.
-             * It requires that the full database be replicated on each machine, so does not support partitioning.
-             * The data should either be read-only, or writes should be replicated on the database.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * 
-             * @see org.eclipse.persistence.descriptors.partitioning.RoundRobinPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */ 
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface RoundRobinPartitioning {
-                String name();
-                
-                /**
-                 * (Required) List of connection pool names to load balance across.
-                 */
-                String[] connectionPools();
-                
-                /**
-                 * This allows for a set of database to be written to and kept in synch,
-                 * and have reads load-balanced across the databases.
-                 */
-                boolean replicateWrites() default false;
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="connection-pool" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="replicate-writes" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="replication-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * ReplicationPartitioning sends requests to a set of connection pools.
-             * It is for replicating data across a cluster of database machines.
-             * Only modification queries are replicated.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * 
-             * @see org.eclipse.persistence.descriptors.partitioning.ReplicationPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */ 
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface ReplicationPartitioning {
-                String name();
-                
-                /**
-                 * (Required) List of connection pool names to load balance across.
-                 */
-                String[] connectionPools();
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="connection-pool" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="union-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-            /** 
-             * UnionPartitioning sends queries to all connection pools and unions the results.
-             * This is for queries or relationships that span partitions when partitioning is used,
-             * such as on a ManyToMany cross partition relationship.
-             * 
-             * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-             * 
-             * @see org.eclipse.persistence.descriptors.partitioning.UnionPartitioningPolicy
-             * @author James Sutherland
-             * @since EclipseLink 2.2
-             */ 
-            @Target({TYPE, METHOD, FIELD})
-            @Retention(RUNTIME)
-            public @interface UnionPartitioning {
-                String name();
-                
-                /**
-                 * (Required) List of connection pool names to load balance across.
-                 */
-                String[] connectionPools();
-                
-                /**
-                 * Defines if write queries should be replicated.
-                 * Writes are normally not replicated when unioning,
-                 * but can be for ManyToMany relationships, when the join table needs to be replicated.
-                 */
-                boolean replicateWrites() default false;
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-        <xsd:element name="connection-pool" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="replicate-writes" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pinned-partitioning">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        /** 
-         * PinnedPartitioning pins requests to a single connection pool.
-         * 
-         * Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit.
-         * 
-         * @see org.eclipse.persistence.descriptors.partitioning.PinnedPartitioningPolicy
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface PinnedPartitioning {
-            String name();
-            
-            /**
-             * The connection pool name to pin queries to.
-             */
-            String connectionPool();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="connection-pool" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="column-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface ColumnResult {
-          String name();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A CopyPolicy is used to set a 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy on an Entity.
-         * It is required that a class that implements 
-         * org.eclipse.persistence.descriptors.copying.CopyPolicy be specified 
-         * as the argument.
-         * 
-         * A CopyPolicy should be specified on an Entity, MappedSuperclass or 
-         * Embeddable.
-         * 
-         * For instance:
-         * @Entity
-         * @CopyPolicy("example.MyCopyPolicy")
-         */
-        public @interface CopyPolicy {
-
-        /*
-        * (Required)
-        * This defines the class of the copy policy. It must specify a class 
-        * that implements org.eclipse.persistence.descriptors.copying.CopyPolicy
-        */
-        Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorColumn {
-          String name() default "DTYPE";
-          DiscriminatorType discriminatorType() default STRING;
-          String columnDefinition() default "";
-          int length() default 31;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="discriminator-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A DiscriminatorClass is used within a VariableOneToOne annotation.
-         */ 
-        @Target({}) 
-        @Retention(RUNTIME)
-        public @interface DiscriminatorClass {
-          /**
-           * (Required) The discriminator to be stored on the database. 
-           */
-          String discriminator();
-
-          /**
-           * (Required) The class to the instantiated with the given 
-           * discriminator.
-           */
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="discriminator" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum DiscriminatorType { STRING, CHAR, INTEGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="STRING"/>
-      <xsd:enumeration value="CHAR"/>
-      <xsd:enumeration value="INTEGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="discriminator-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface DiscriminatorValue {
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="element-collection">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ElementCollection {
-          Class targetClass() default void.class;
-          FetchType fetch() default LAZY;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                     minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                     minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                       minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:sequence>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:sequence>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column"
-                         type="orm:map-key-column"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                         type="orm:map-key-join-column"
-                         minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:sequence>
-          <xsd:element name="column" type="orm:column" minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="lob"
-                         type="orm:lob"
-                         minOccurs="0"/>
-            <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-          </xsd:choice>
-        </xsd:sequence>
-        <xsd:sequence>
-          <xsd:element name="attribute-override"
-                       type="orm:attribute-override"
-                       minOccurs="0" maxOccurs="unbounded"/>
-          <xsd:element name="association-override"
-                       type="orm:association-override"
-                       minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="collection-table" type="orm:collection-table"
-                     minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-class" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-    <xsd:attribute name="composite-member" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="array">
-    <xsd:annotation>
-      <xsd:documentation>
-        
-        /** 
-         * Array types are extended object-relational data-types supported by some databases.
-         * Array types are user define types in the database such as VARRAY types on Oracle.
-         * Arrays can contains basic types (VARCHAR) or other Struct types, and can be stored in
-         * a column or in a Struct type.
-         * This annotation can be defined on a collection attribute that is
-         * persisted to an Array type.  The collection can be of basic types, or embeddable
-         * class mapped using a Struct.
-         * 
-         * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
-         * @see org.eclipse.persistence.mappings.structures.ArrayMapping
-         * @see org.eclipse.persistence.mappings.structures.ObjectArrayMapping
-         * @author James Sutherland
-         * @since EclipseLink 2.3
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Array {
-            /**
-             * (Optional) The basic or embeddable class that is the element
-             * type of the collection.  This element is optional only if the
-             * collection field or property is defined using Java generics,
-             * and must be specified otherwise.  It defaults to the
-             * paramterized type of the collection when defined using
-             * generics.
-             */
-            Class targetClass() default void.class;
-            
-            /**
-             * (Required) The database name of the database array structure type.
-             */
-            String databaseType();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:choice>
-        <xsd:element name="temporal"
-                     type="orm:temporal"
-                     minOccurs="0"/>
-        <xsd:element name="enumerated"
-                     type="orm:enumerated"
-                     minOccurs="0"/>
-        <xsd:element name="lob"
-                     type="orm:lob"
-                     minOccurs="0"/>
-        <xsd:element name="convert" type="xsd:string" minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="2">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="database-type" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embeddable">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for embeddable objects. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        in the class. If this is the case then the defaulting rules will 
-        be recursively applied.
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Embeddable {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="struct" type="orm:struct" minOccurs="0"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="plsql-record" type="orm:plsql-record" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="plsql-table" type="orm:plsql-table" minOccurs="0" maxOccurs="unbounded"/>      
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="parent-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Embedded {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="embedded-id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface EmbeddedId {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listener">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines an entity listener to be invoked at lifecycle events
-        for the entities that list this listener.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-listeners">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface EntityListeners {
-          Class[] value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="entity-listener" type="orm:entity-listener" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="entity-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface EntityResult {
-          Class entityClass();
-          FieldResult[] fields() default {};
-          String discriminatorColumn() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field-result" type="orm:field-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
-    <xsd:attribute name="discriminator-column" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enum-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum EnumType {
-          ORDINAL,
-          STRING
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ORDINAL"/>
-      <xsd:enumeration value="STRING"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="enumerated">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Enumerated {
-          EnumType value() default ORDINAL;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:enum-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="fetch-attribute">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface FetchAttribute {
-          /**
-           * (Required) The fetch attribute name.
-           */
-          String name(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="fetch-group">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface FetchGroup {
-          /**
-           * (Required) The fetch group name.
-           */
-          String name(); 
-
-          /**
-           * (Optional) Indicates whether all relationship attributes
-           * specified in the fetch group should be loaded.
-           */
-          boolean load() default true; 
-
-          /**
-           * (Required) The list of attributes to fetch.
-           */
-          FetchAttribute[] attributes();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="attribute" type="orm:fetch-attribute" minOccurs="1" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="load" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum FetchType { LAZY, EAGER };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="LAZY"/>
-      <xsd:enumeration value="EAGER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="field-result">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface FieldResult {
-          String name();
-          String column();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="column" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="generated-value">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface GeneratedValue {
-          GenerationType strategy() default AUTO;
-          String generator() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:generation-type"/>
-    <xsd:attribute name="generator" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="generation-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="TABLE"/>
-      <xsd:enumeration value="SEQUENCE"/>
-      <xsd:enumeration value="IDENTITY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Id {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" 
-                   minOccurs="0"/>
-      <xsd:element name="index" type="orm:index" minOccurs="0"/>
-      <xsd:element name="generated-value" type="orm:generated-value"
-                   minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="enumerated" type="orm:enumerated"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator"
-                   minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="id-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface IdClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="id-validation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * The IdValidation enum determines the type value that are valid for an Id.
-         * By default null is not allowed, and 0 is not allow for singleton ids of long or int type.
-         * The default value is ZERO for singleton ids, and NULL for composite ids.
-         * This can be set using the @PrimaryKey annotation, or ClassDescriptor API.
-         * 
-         * @see PrimaryKey
-         * @see org.eclipse.persistence.descriptors.ClassDescriptor#setIdValidation(IdValidation)
-         * @author James Sutherland
-         * @since EclipseLink 1.0 
-         */ 
-        public enum IdValidation {
-            /**
-             * Only null is not allowed as an id value, 0 is allowed.
-             */
-            NULL,
-
-            /**
-             * null and 0 are not allowed, (only int and long).
-             */
-            ZERO,
-
-            /**
-             * No id validation is done.
-             */
-            NONE
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="NULL"/>
-      <xsd:enumeration value="ZERO"/>
-      <xsd:enumeration value="NONE"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:simpleType name="cache-key-type">
-    <xsd:annotation>
-      <xsd:documentation>
-            
-            /**
-             * Configures what type of Id value is used to store the object in the cache.
-             * This can either be the basic Id value for simple singleton Ids,
-             * or an optimized CacheKey type.
-             * 
-             * @see PrimaryKey#cacheKeyType()
-             * @see ClassDescriptor#setCacheKeyType(CacheKeyType)
-             * @author James Sutherland
-             * @since EclipseLink 2.1
-             */
-            public enum CacheKeyType {
-                /**
-                 * This can only be used for simple singleton Ids, such as long/int/String.
-                 * This is the default for simple singleton Ids.
-                 */
-                ID_VALUE,
-            
-                /**
-                 * Optimized cache key type that allows composite and complex values.
-                 * This is the default for composite or complex Ids.
-                 */
-                CACHE_KEY,
-            
-                /**
-                 * The cache key type is automatically configured depending on what is optimal for the class.
-                 */
-                AUTO
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ID_VALUE"/>
-      <xsd:enumeration value="CACHE_KEY"/>
-      <xsd:enumeration value="AUTO"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="inheritance">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Inheritance {
-          InheritanceType strategy() default SINGLE_TABLE;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="strategy" type="orm:inheritance-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="inheritance-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum InheritanceType
-          { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SINGLE_TABLE"/>
-      <xsd:enumeration value="JOINED"/>
-      <xsd:enumeration value="TABLE_PER_CLASS"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * An InstantiationCopyPolicy is used to set an 
-         * org.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy 
-         * on an Entity. InstantiationCopyPolicy is the default CopyPolicy in 
-         * EclipseLink and therefore this configuration option is only used to 
-         * override other types of copy policies
-         * 
-         * An InstantiationCopyPolicy should be specified on an Entity, 
-         * MappedSuperclass or Embeddable.
-         * 
-         * Example:
-         * @Entity
-         * @InstantiationCopyPolicy 
-         */
-        public @interface InstantiationCopyPolicy {
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum JoinFetchType {
-        /**
-         * An inner join is used to fetch the related object.
-         * This does not allow for null/empty values.
-         */
-        INNER,
-
-        /**
-         * An inner join is used to fetch the related object.
-         * This allows for null/empty values.
-         */
-        OUTER,
-      }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="INNER"/>
-      <xsd:enumeration value="OUTER"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="batch-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>
-            public enum BatchFetchType {
-                /**
-                 * This is the default form of batch reading.
-                 * The original query's selection criteria is joined with the batch query.
-                 */
-                JOIN,
-            
-                /**
-                 * This uses an SQL EXISTS and a sub-select in the batch query instead of a join.
-                 * This has the advantage of not requiring an SQL DISTINCT which can have issues
-                 * with LOBs, or may be more efficient for some types of queries or on some databases.
-                 */
-                EXISTS,
-            
-                /**
-                 * This uses an SQL IN clause in the batch query passing in the source object Ids.
-                 * This has the advantage of only selecting the objects not already contained in the cache,
-                 * and can work better with cursors, or if joins cannot be used.
-                 * This may only work for singleton Ids on some databases.
-                 */
-                IN    
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="JOIN"/>
-      <xsd:enumeration value="EXISTS"/>
-      <xsd:enumeration value="IN"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="join-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface JoinTable {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          JoinColumn[] joinColumns() default {};
-          JoinColumn[] inverseJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="inverse-join-column" type="orm:join-column" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="lob">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Lob {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="lock-mode-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum LockModeType { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE};
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="WRITE"/>
-      <xsd:enumeration value="OPTIMISTIC"/>
-      <xsd:enumeration value="OPTIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="PESSIMISTIC_READ"/>
-      <xsd:enumeration value="PESSIMISTIC_WRITE"/>
-      <xsd:enumeration value="PESSIMISTIC_FORCE_INCREMENT"/>
-      <xsd:enumeration value="NONE"/>
-
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                   minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                   minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                   minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                   minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-            <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column"
-                   minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                   type="orm:map-key-join-column"
-                   minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:choice>
-      <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="join-table" type="orm:join-table"
-                   minOccurs="0"/>
-      <xsd:element name="cascade" type="orm:cascade-type"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="many-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface ManyToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>       
-        <xsd:element name="join-column" type="orm:join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" 
-                   minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="maps-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKey {
-          String name() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-class">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyClass {
-          Class value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyColumn {
-          String name() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-          int length() default 255;
-          int precision() default 0; // decimal precision
-          int scale() default 0; // decimal scale
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="precision" type="xsd:int"/>
-    <xsd:attribute name="scale" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="map-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface MapKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          boolean unique() default false;
-          boolean nullable() default false;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-          String table() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="mapped-superclass">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        Defines the settings and mappings for a mapped superclass. Is 
-        allowed to be sparsely populated and used in conjunction with 
-        the annotations. Alternatively, the metadata-complete attribute 
-        can be used to indicate that no annotations are to be processed 
-        If this is the case then the defaulting rules will be recursively 
-        applied.
-
-        @Target(TYPE) @Retention(RUNTIME)
-        public @interface MappedSuperclass{}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="multitenant" type="orm:multitenant" minOccurs="0"/>
-      <xsd:element name="additional-criteria" type="orm:additional-criteria" minOccurs="0"/>
-      <xsd:element name="customizer" type="orm:customizer" minOccurs="0"/>
-      <xsd:element name="change-tracking" type="orm:change-tracking" minOccurs="0"/>
-      <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
-      <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
-      <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
-      <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
-      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0"/>
-      <xsd:element name="fetch-group" type="orm:fetch-group" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="struct-converter" type="orm:struct-converter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="copy-policy" type="orm:copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="instantiation-copy-policy" type="orm:instantiation-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="clone-copy-policy" type="orm:clone-copy-policy" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="sequence-generator" type="orm:sequence-generator" 
-                   minOccurs="0"/>
-      <xsd:element name="table-generator" type="orm:table-generator" 
-                   minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-      <xsd:element name="named-query" type="orm:named-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-native-query" type="orm:named-native-query" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/> 
-      <xsd:element name="named-stored-function-query" type="orm:named-stored-function-query" minOccurs="0" maxOccurs="unbounded"/>            
-      <xsd:element name="named-plsql-stored-procedure-query" type="orm:named-plsql-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="named-plsql-stored-function-query" type="orm:named-plsql-stored-function-query" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="plsql-record" type="orm:plsql-record" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="plsql-table" type="orm:plsql-table" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="sql-result-set-mapping" 
-                   type="orm:sql-result-set-mapping" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="query-redirectors" type="orm:query-redirectors" minOccurs="0" maxOccurs="1"/>
-      <xsd:element name="exclude-default-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" 
-                   minOccurs="0"/>
-      <xsd:element name="entity-listeners" type="orm:entity-listeners" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
-      <xsd:element name="post-persist" type="orm:post-persist" 
-                   minOccurs="0"/>
-      <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
-      <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
-      <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
-      <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
-      <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attribute-override" type="orm:attribute-override" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="association-override" 
-                   type="orm:association-override"
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="class" type="xsd:string" use="required"/>
-    <xsd:attribute name="parent-class" type="xsd:string"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="cacheable" type="xsd:boolean"/>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
-    <xsd:attribute name="read-only" type="xsd:boolean"/>
-    <xsd:attribute name="existence-checking" type="orm:existence-type"/>
-    <xsd:attribute name="exclude-default-mappings" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="multitenant">
-    <xsd:annotation>
-      <xsd:documentation>
- 
-        @Target({TYPE}) 
-        @Retention(RUNTIME)
-        public @interface Multitenant {
-            /**
-             * (Optional) Specify the multi-tenant strategy to use.
-             */
-            MultitenantType value() default MultitenantType.SINGLE_TABLE;
-        }
- 
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="tenant-discriminator-column" type="orm:tenant-discriminator-column" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="type" type="orm:multitenant-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:simpleType name="multitenant-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum MultitenantType {
-            /**
-             * Specifies that table(s) the entity maps to includes rows for multiple 
-             * tenants. The tenant discriminator column(s) are used with application 
-             * context values to limit what a persistence context can access.
-             */
-            SINGLE_TABLE, 
-
-            /**
-             * Specifies that different tables are used for each tenant. The table scan 
-             * be uniquely identified by name, schema/tablespace.
-             */
-            TABLE_PER_TENANT,
-            
-            /**
-             * Specifies that the DB will handle the tenant filtering on all SELECT,
-             * UPDATE and DELETE queries. Using this type assumes that the platform
-             * used with your persistence unit does indeed support VPD.
-             */
-            VPD
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="SINGLE_TABLE"/>
-      <xsd:enumeration value="TABLE_PER_TENANT"/>
-      <xsd:enumeration value="VPD"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-native-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedNativeQuery {
-          String name();
-          String query();
-          QueryHint[] hints() default {};
-          Class resultClass() default void.class;
-          String resultSetMapping() default ""; //named SqlResultSetMapping
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface NamedQuery {
-          String name();
-          String query();
-          LockModeType lockMode() default NONE;
-          QueryHint[] hints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="query" type="xsd:string"/>
-      <xsd:element name="lock-mode" type="orm:lock-mode-type" minOccurs="0"/>
-      <xsd:element name="hint" type="orm:query-hint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-stored-procedure-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A NamedStoredProcedureQuery annotation allows the definition of 
-         * queries that call stored procedures as named queries.
-         * A NamedStoredProcedureQuery annotation may be defined on an Entity or
-         * MappedSuperclass. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface NamedStoredProcedureQuery {
-          /**
-           * (Required) Unique name that references this stored procedure query.
-           */
-          String name();
-
-          /**
-           * (Optional) Query hints.
-           */
-          QueryHint[] hints() default {};
-
-          /**
-           * (Optional) Refers to the class of the result.
-           */
-          Class resultClass() default void.class;
-
-          /**
-           * (Optional) The name of the SQLResultMapping.
-           */
-          String resultSetMapping() default "";
-
-          /**
-           * (Required) The name of the stored procedure.
-           */
-          String procedureName();
-
-          /**
-           * (Optional) Whether the query should return a result set.
-           */
-          boolean returnsResultSet() default true; 
-
-          /**
-           * (Optional) Defines if the stored procedure returns multiple result sets.
-           * This is only relevant on databases that support multiple result sets from stored procedures.
-           */
-          boolean multipleResultSets() default false;
-          
-          /**
-           * (Optional) Defines if the stored procedure should be called by index or by name.
-           * By index requires that the StoredProcedureParameter are defined in the same order as the procedure on the database.
-           * By name requires the database platform support naming procedure parameters.
-           */
-          boolean callByIndex() default false;
-    
-          /**
-           * (Optional) Defines arguments to the stored procedure.
-           */
-          StoredProcedureParameter[] parameters() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="parameter" type="orm:stored-procedure-parameter" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-    <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
-    <xsd:attribute name="returns-result-set" type="xsd:boolean"/>
-    <xsd:attribute name="multiple-result-sets" type="xsd:boolean"/>
-    <xsd:attribute name="call-by-index" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="named-stored-function-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A NamedStoredFunctionQuery annotation allows the definition of 
-         * queries that call stored function as named queries.
-         * A NamedStoredFunctionQuery annotation may be defined on an Entity or
-         * MappedSuperclass. 
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface NamedStoredFunctionQuery {
-          /**
-           * (Required) Unique name that references this stored procedure query.
-           */
-          String name();
-
-          /**
-           * (Optional) Query hints.
-           */
-          QueryHint[] hints() default {};
-
-          /**
-           * (Optional) The name of the SQLResultMapping.
-           */
-          String resultSetMapping() default "";
-
-          /**
-           * (Required) The name of the stored procedure.
-           */
-          String functionName();
-          
-          /**
-           * (Optional) Defines if the stored procedure should be called by index or by name.
-           * By index requires that the StoredProcedureParameter are defined in the same order as the procedure on the database.
-           * By name requires the database platform support naming procedure parameters.
-           */
-          boolean callByIndex() default false;
-    
-          /**
-           * (Optional) Defines arguments to the stored procedure.
-           */
-          StoredProcedureParameter[] parameters() default {};
-          
-          /**
-           * (Required) Defines return of the stored function.
-           */
-          StoredProcedureParameter[] returnParameter();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="parameter" type="orm:stored-procedure-parameter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="return-parameter" type="orm:stored-procedure-parameter" minOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-    <xsd:attribute name="function-name" type="xsd:string" use="required"/>
-    <xsd:attribute name="call-by-index" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="named-plsql-stored-function-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-            /** 
-             * A NamedPLSQLStoredFunctionQuery annotation allows the definition of queries that 
-             * call PLSQL stored functions as named queries.
-             * The PLSQL support adds support for complex PLSQL types such as RECORD and TABLE types,
-             * that are not accessible from JDBC.
-             * 
-             * A NamedPLSQLStoredFunctionQuery annotation may be defined on an Entity or
-             * MappedSuperclass.
-             * 
-             * @author James Sutherland
-             * @since EclipseLink 2.3
-             */ 
-            @Target({TYPE})
-            @Retention(RUNTIME)
-            public @interface NamedPLSQLStoredFunctionQuery {
-                /**
-                 * (Required) Unique name that references this stored procedure query.
-                 */
-                String name();
-            
-                /**
-                 * (Optional) Query hints.
-                 */
-                QueryHint[] hints() default {};
-            
-                /**
-                 * (Optional) The name of the SQLResultMapping.
-                 */
-                String resultSetMapping() default "";
-            
-                /**
-                 * (Required) The name of the stored procedure.
-                 */
-                String functionName();
-                
-                /**
-                 * (Optional) Defines the parameters to the stored procedure.
-                 */
-                PLSQLParameter[] parameters() default {};
-                
-                /**
-                 * (Required) Defines the return value of the stored function.
-                 */
-                PLSQLParameter returnParameter();
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="parameter" type="orm:plsql-parameter" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="return-parameter" type="orm:plsql-parameter" minOccurs="1"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-    <xsd:attribute name="function-name" type="xsd:string" use="required"/>    
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="named-plsql-stored-procedure-query">
-    <xsd:annotation>
-      <xsd:documentation>
-
-            /** 
-             * A PLSQLNamedStoredProcedureQuery annotation allows the definition of queries that 
-             * call PLSQL stored procedures as named queries.
-             * The PLSQL support adds support for complex PLSQL types such as RECORD and TABLE types,
-             * that are not accessible from JDBC.
-             * 
-             * A PLSQLNamedStoredProcedureQuery annotation may be defined on an Entity or
-             * MappedSuperclass.
-             * 
-             * @author James Sutherland
-             * @since EclipseLink 2.3
-             */ 
-            @Target({TYPE})
-            @Retention(RUNTIME)
-            public @interface NamedPLSQLStoredProcedureQuery {
-                /**
-                 * (Required) Unique name that references this stored procedure query.
-                 */
-                String name();
-            
-                /**
-                 * (Optional) Query hints.
-                 */
-                QueryHint[] hints() default {};
-            
-                /**
-                 * (Optional) Refers to the class of the result.
-                 */
-                Class resultClass() default void.class;
-            
-                /**
-                 * (Optional) The name of the SQLResultMapping.
-                 */
-                String resultSetMapping() default "";
-            
-                /**
-                 * (Required) The name of the stored procedure.
-                 */
-                String procedureName();
-                
-                /**
-                 * (Optional) Defines the parameters to the stored procedure.
-                 */
-                PLSQLParameter[] parameters() default {};
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="hint" type="orm:query-hint" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="parameter" type="orm:plsql-parameter" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="result-class" type="xsd:string"/>
-    <xsd:attribute name="result-set-mapping" type="xsd:string"/>
-    <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="plsql-record">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A PLSQLRecord annotation is used to define a database PLSQL RECORD type.
-         * This type can be used within PLSQL procedure calls.
-         * 
-         * @see NamedPLSQLStoredProcedureQuery
-         * @author James Sutherland
-         * @since EclipseLink 2.3
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface PLSQLRecord {
-        
-            /**
-             * (Required) The name of the record type in the database.
-             */
-            String name();
-        
-            /**
-             * (Required) The name of the database OBJECT TYPE that mirrors the record's structure.
-             * The record will be converted to/from this type so it can be passed through JDBC.
-             */
-            String compatibleType();
-            
-            /**
-             * (Optional) The Java class to map the object-type to.
-             * This class must be mapped using a @Struct annotation.
-             */
-            Class javaType() default void.class;
-            
-            /**
-             * (Required) Defines the fields in the record type.
-             */
-            PLSQLParameter[] fields();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field" type="orm:plsql-parameter" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="compatible-type" type="xsd:string"/>
-    <xsd:attribute name="java-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-  
-  <xsd:complexType name="plsql-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A PLSQLRecord annotation is used to define a database PLSQL RECORD type.
-         * This type can be used within PLSQL procedure calls.
-         * 
-         * @see NamedPLSQLStoredProcedureQuery
-         * @author James Sutherland
-         * @since EclipseLink 2.3
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface PLSQLRecord {
-        
-            /**
-             * (Required) The name of the record type in the database.
-             */
-            String name();
-        
-            /**
-             * (Required) The name of the database OBJECT TYPE that mirrors the record's structure.
-             * The record will be converted to/from this type so it can be passed through JDBC.
-             */
-            String compatibleType();
-            
-            /**
-             * (Optional) The Java class to map the object-type to.
-             * This class must be mapped using a @Struct annotation.
-             */
-            Class javaType() default void.class;
-            
-            /**
-             * (Required) Defines the fields in the record type.
-             */
-            PLSQLParameter[] fields();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="compatible-type" type="xsd:string"/>
-    <xsd:attribute name="java-type" type="xsd:string"/>
-    <xsd:attribute name="nested-type" type="xsd:string"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ObjectTypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence
-           * field or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent 
-           * field or property.
-           */
-          Class objectType() default void.class;
-
-          /**
-           * (Required) Specify the conversion values to be used 
-           * with the object converter.
-           */
-          ConversionValue[] conversionValues();
-
-           /**
-            * (Optional) Specify a default object value. Used for 
-            * legacy data if the data value is missing.
-            */
-           String defaultObjectValue() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="conversion-value" type="orm:conversion-value" minOccurs="1" maxOccurs="unbounded"/>
-      <xsd:element name="default-object-value" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-many">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToMany {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default LAZY;
-          String mappedBy() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="order-by" type="orm:order-by"
-                   minOccurs="0"/>
-        <xsd:element name="order-column" type="orm:order-column"
-                   minOccurs="0"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="map-key" type="orm:map-key"
-                   minOccurs="0"/>
-        <xsd:sequence>
-          <xsd:element name="map-key-class" type="orm:map-key-class"
-                   minOccurs="0"/>
-          <xsd:choice>
-            <xsd:element name="map-key-temporal"
-                         type="orm:temporal"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-enumerated"
-                         type="orm:enumerated"
-                         minOccurs="0"/>
-            <xsd:element name="map-key-convert" type="xsd:string" minOccurs="0"/>
-            <xsd:choice>
-            <xsd:element name="map-key-attribute-override"
-                         type="orm:attribute-override"
-                         minOccurs="0" maxOccurs="unbounded"/>
-              <xsd:element name="map-key-association-override" type="orm:association-override" minOccurs="0" maxOccurs="unbounded"/>
-            </xsd:choice>
-          </xsd:choice>
-          <xsd:choice>
-            <xsd:element name="map-key-column" type="orm:map-key-column"
-                   minOccurs="0"/>
-            <xsd:element name="map-key-join-column"
-                   type="orm:map-key-join-column"
-                   minOccurs="0" maxOccurs="unbounded"/>
-          </xsd:choice>
-       </xsd:sequence>
-     </xsd:choice>
-     <xsd:choice minOccurs="0" maxOccurs="1">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:choice>
-        <xsd:element name="join-table" type="orm:join-table"
-                     minOccurs="0"/>
-        <xsd:element name="join-column" type="orm:join-column"
-                     minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type"
-                   minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-     <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-     <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-     <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-     <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-     <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OneToOne {
-          Class targetEntity() default void.class;
-          CascadeType[] cascade() default {};
-          FetchType fetch() default EAGER;
-          boolean optional() default true;
-          String mappedBy() default "";
-          boolean orphanRemoval() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:choice>
-        <xsd:element name="primary-key-join-column" 
-                     type="orm:primary-key-join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-column" type="orm:join-column" 
-                     minOccurs="0" maxOccurs="unbounded"/>
-        <xsd:element name="join-table" type="orm:join-table" 
-                     minOccurs="0"/>
-      </xsd:choice>
-      <xsd:element name="cascade" type="orm:cascade-type" 
-                   minOccurs="0"/>
-      <xsd:element name="cascade-on-delete" type="xsd:boolean" minOccurs="0"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="join-fetch" type="orm:join-fetch-type" minOccurs="0"/>
-      <xsd:element name="batch-fetch" type="orm:batch-fetch" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-entity" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mapped-by" type="xsd:string"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-    <xsd:attribute name="maps-id" type="xsd:string"/>
-    <xsd:attribute name="id" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="optimistic-locking">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * An optimistic-locking element is used to specify the type of 
-         * optimistic locking EclipseLink should use when updating or deleting 
-         * entities. An optimistic-locking specification is supported on
-         * an entity or mapped-superclass.
-         * 
-         * It is used in conjunction with the optimistic-locking-type.
-         */ 
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface OptimisticLocking {
-          /**
-           * (Optional) The type of optimistic locking policy to use.
-           */
-          OptimisticLockingType type() default VERSION_COLUMN;
-
-          /**
-           * (Optional) For an optimistic locking policy of type 
-           * SELECTED_COLUMNS, this annotation member becomes a (Required) 
-           * field.
-           */
-          Column[] selectedColumns() default {};
-
-          /**
-           * (Optional) Specify where the optimistic locking policy should 
-           * cascade lock. Currently only supported with VERSION_COLUMN locking.
-           */
-          boolean cascade() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="selected-column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>    
-    </xsd:sequence>
-    <xsd:attribute name="type" type="orm:optimistic-locking-type"/>
-    <xsd:attribute name="cascade" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="optimistic-locking-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A simple type that is used within an optimistic-locking 
-         * specification to specify the type of optimistic-locking that
-         * EclipseLink should use when updating or deleting entities.
-         */
-        public enum OptimisticLockingType {
-          /**
-           * Using this type of locking policy compares every field in the table
-           * in the WHERE clause when doing an update or a delete. If any field
-           * has been changed, an optimistic locking exception will be thrown.
-           */
-          ALL_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares only the changed fields
-           * in the WHERE clause when doing an update. If any field has been
-           * changed, an optimistic locking exception will be thrown. A delete
-           * will only compare the primary key.
-           */
-          CHANGED_COLUMNS,
-
-          /**
-           * Using this type of locking compares selected fields in the WHERE
-           * clause when doing an update or a delete. If any field has been
-           * changed, an optimistic locking exception will be thrown. Note that
-           * the fields specified must be mapped and not be primary keys.
-           */
-          SELECTED_COLUMNS,
-
-          /**
-           * Using this type of locking policy compares a single version number
-           * in the where clause when doing an update. The version field must be
-           * mapped and not be the primary key.
-           */
-          VERSION_COLUMN
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="ALL_COLUMNS"/>
-      <xsd:enumeration value="CHANGED_COLUMNS"/>
-      <xsd:enumeration value="SELECTED_COLUMNS"/>
-      <xsd:enumeration value="VERSION_COLUMN"/>
-    </xsd:restriction>
-  </xsd:simpleType>  
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-by">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderBy {
-          String value() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="order-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface OrderColumn {
-          String name() default "";
-          boolean nullable() default true;
-          boolean insertable() default true;
-          boolean updatable() default true;
-          String columnDefinition() default "";
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="nullable" type="xsd:boolean"/>
-    <xsd:attribute name="insertable" type="xsd:boolean"/>
-    <xsd:attribute name="updatable" type="xsd:boolean"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="correction-type" type="orm:order-column-correction-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="order-column-correction-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum OrderCorrectionType {
-          READ,
-          READ_WRITE,
-          EXCEPTION
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:enumeration value="READ"/>
-      <xsd:enumeration value="READ_WRITE"/>
-      <xsd:enumeration value="EXCEPTION"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-load">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostLoad {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostPersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="post-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PostUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-persist">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PrePersist {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-remove">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreRemove {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="pre-update">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD}) @Retention(RUNTIME)
-        public @interface PreUpdate {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="method-name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         *  The PrimaryKey annotation allows advanced configuration of the Id.
-         *  A validation policy can be given that allows specifying if zero is a valid id value.
-         *  The set of primary key columns can also be specified precisely.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 1.1
-         */
-        @Target({TYPE})
-        @Retention(RUNTIME)
-        public @interface PrimaryKey {
-          /**
-           * (Optional) Configures what id validation is done.
-           * By default 0 is not a valid id value, this can be used to allow 0 id values.
-           */
-          IdValidation validation() default IdValidation.ZERO; 
-
-          /**
-           * (Optional) Configures what cache key type is used to store the object in the cache.
-           * By default the type is determined by what type is optimal for the class.
-           */
-          CacheKeyType cacheKeyType() default CacheKeyType.AUTO;
-    
-          /**
-           * (Optional) Used to specify the primary key columns directly.
-           * This can be used instead of @Id if the primary key includes a non basic field,
-           * such as a foreign key, or a inheritance discriminator, embedded, or transformation mapped field.
-           */
-          Column[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="validation" type="orm:id-validation"/>
-    <xsd:attribute name="cache-key-type" type="orm:cache-key-type"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="primary-key-join-column">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface PrimaryKeyJoinColumn {
-          String name() default "";
-          String referencedColumnName() default "";
-          String columnDefinition() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="referenced-column-name" type="xsd:string"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        A user defined mapping's property.
-        @Target({METHOD, FIELD, TYPE})
-        @Retention(RUNTIME)
-        public @interface Property {
-          /**
-           * Property name.
-           */ 
-          String name();
-
-          /**
-           * String representation of Property value,
-           * converted to an instance of valueType.
-           */ 
-          String value();
-
-          /**
-           * Property value type.
-           * The value converted to valueType by ConversionManager.
-           * If specified must be a simple type that could be handled by 
-           * ConversionManager: 
-           * numerical, boolean, temporal.  
-           */ 
-          Class valueType() default String.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-    <xsd:attribute name="value-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="query-hint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME) 
-        public @interface QueryHint {
-          String name();
-          String value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="value" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="query-redirectors">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface QueryRedirectors {
-    
-            /**
-             * This AllQueries Query Redirector will be applied to any executing object query
-             * that does not have a more precise redirector (like the 
-             * ReadObjectQuery Redirector) or a redirector set directly on the query.
-             * Query redirectors allow the user to intercept query execution preventing
-             * it or alternately performing some side effect like auditing.
-             * 
-             */
-            Class allQueries() default void.class;
-    
-            /**
-             * A Default ReadAll Query Redirector will be applied to any executing
-             * ReadAllQuery that does not have a redirector set directly on the query.
-             * Query redirectors allow the user to intercept query execution preventing
-             * it or alternately performing some side effect like auditing.
-             * For users executing a JPA Query through the getResultList() API this is the redirector that will be invoked
-             */
-            Class readAll() default void.class;
-    
-            /**
-             * A Default ReadObject Query Redirector will be applied to any executing
-             * ReadObjectQuery that does not have a redirector set directly on the query.
-             * Query redirectors allow the user to intercept query execution preventing
-             * it or alternately performing some side effect like auditing.
-             * For users executing a JPA Query through the getSingleResult() API or EntityManager.find() this is the redirector that will be invoked
-             */
-            Class readObject() default void.class;
-    
-            /**
-             * A Default ReportQuery Redirector will be applied to any executing
-             * ReportQuery that does not have a redirector set directly on the query.
-             * Query redirectors allow the user to intercept query execution preventing
-             * it or alternately performing some side effect like auditing.
-             * For users executing a JPA Query that contains agregate functions or selects multiple entities this is the redirector that will be invoked
-             */
-            Class report() default void.class;
-    
-            /**
-             * A Default Update Query Redirector will be applied to any executing
-             * UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.
-             * In EclipseLink an UpdateObjectQuery is executed whenever flushing changes to the datasource.
-             * Query redirectors allow the user to intercept query execution preventing
-             * it or alternately performing some side effect like auditing.
-             */ 
-            Class update() default void.class;
-    
-            /**
-             * A Default Insert Query Redirector will be applied to any executing
-             * InsertObjectQuery that does not have a redirector set directly on the query.
-             * In EclipseLink an InsertObjectQuery is executed when persisting an object to the datasource.
-             * Query redirectors allow the user to intercept query execution preventing
-             * it or alternately performing some side effect like auditing.
-             */
-            Class insert() default void.class;
-    
-            /**
-             * A Default Delete Object Query Redirector will be applied to any executing
-             * DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.
-             * Query redirectors allow the user to intercept query execution preventing
-             * it or alternately performing some side effect like auditing.
-             */
-            Class delete() default void.class;
-        }
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="all-queries" type="xsd:string"/>
-    <xsd:attribute name="read-all" type="xsd:string"/>
-    <xsd:attribute name="read-object" type="xsd:string"/>
-    <xsd:attribute name="report" type="xsd:string"/>
-    <xsd:attribute name="update" type="xsd:string"/>
-    <xsd:attribute name="insert" type="xsd:string"/>
-    <xsd:attribute name="delete" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="read-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * Unless the TransformationMapping is write-only, it should have a 
-         * ReadTransformer, it defines transformation of database column(s) 
-         * value(s)into attribute value.
-         *
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ReadTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.AttributeTransformer 
-             * interface. The class will be instantiated, its 
-             * buildAttributeValue will be used to create the value to be 
-             * assigned to the attribute.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be assigned to the attribute (not assigns the value to 
-             * the attribute). Either transformerClass or method must be 
-             * specified, but not both.
-             */ 
-            String method() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="return-insert">
-    <xsd:annotation>
-      <xsd:documentation>
-      
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface ReturnInsert {
-            /**
-             * A ReturnInsert annotation allows for INSERT operations to return 
-             * values back into the object being written. This allows for table 
-             * default values, trigger or stored procedures computed values to 
-             * be set back into the object.
-             */
-            boolean returnOnly() default false;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="return-only" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="secondary-table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SecondaryTable {
-          String name();
-          String catalog() default "";
-          String schema() default "";
-          PrimaryKeyJoinColumn[] pkJoinColumns() default {};
-          UniqueConstraint[] uniqueConstraints() default {};
-         }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-       <xsd:element name="primary-key-join-column" 
-                    type="orm:primary-key-join-column" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-       <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                    minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sequence-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface SequenceGenerator {
-          String name();
-          String sequenceName() default "";
-          String catalog() default "";
-          String schema() default "";
-          int initialValue() default 1;
-          int allocationSize() default 50;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="sequence-name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="sql-result-set-mapping">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface SqlResultSetMapping {
-          String name();
-          EntityResult[] entities() default {};
-          ColumnResult[] columns() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="entity-result" type="orm:entity-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="column-result" type="orm:column-result" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="stored-procedure-parameter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * A StoredProcedureParameter annotation is used within a 
-         * NamedStoredProcedureQuery annotation. 
-         */ 
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface StoredProcedureParameter {
-          /**
-           * (Optional) The direction of the stored procedure parameter.
-           */
-          Direction direction() default IN;
-
-          /**
-           * (Optional) Stored procedure parameter name.
-           */
-          String name() default "";
-
-          /**
-           * (Required) The query parameter name.
-           */
-          String queryParameter();
-    
-          /**
-           * (Optional) Define if the parameter is required, or optional and defaulted by the procedure.
-           */
-          boolean optional() default false;
-
-          /**
-           * (Optional) The type of Java class desired back from the procedure, 
-           * this is dependent on the type returned from the procedure.
-           */
-          Class type() default void.class;
-
-          /**
-           * (Optional) The JDBC type code, this dependent on the type returned 
-           * from the procedure.
-           */
-          int jdbcType() default -1;
-
-          /**
-           * (Optional) The JDBC type name, this may be required for ARRAY or 
-           * STRUCT types.
-           */
-          String jdbcTypeName() default "";
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="direction" type="orm:direction-type"/>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="query-parameter" type="xsd:string" use="required"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="type" type="xsd:string"/>
-    <xsd:attribute name="jdbc-type" type="xsd:integer"/>
-    <xsd:attribute name="jdbc-type-name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="plsql-parameter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-            /** 
-             * A PLSQLParameter annotation is used within a 
-             * NamedPLSQLStoredProcedureQuery or PLSQLRecord annotation.
-             * 
-             * @see NamedPLSQLStoredProcedureQuery
-             * @see PLSQLRecord
-             * @author James Sutherland
-             * @since EclipseLink 2.3
-             */ 
-            @Target({})
-            @Retention(RUNTIME)
-            public @interface PLSQLParameter {
-                /**
-                 * (Optional) The direction of the stored procedure parameter.
-                 */
-                Direction direction() default IN;
-            
-                /**
-                 * (Required) Stored procedure parameter name.
-                 */
-                String name() default "";
-            
-                /**
-                 * (Optional) The query parameter name.
-                 */
-                String queryParameter();
-                
-                /**
-                 * (Optional) Define if the parameter is required, or optional and defaulted by the procedure.
-                 */
-                boolean optional() default false;
-                
-                /**
-                 * (Optional) The database data-type for the paramter.
-                 * This either one of the type constants defined in OraclePLSQLTypes, or JDBCTypes,
-                 * or a custom record or table type name.
-                 * @see PLSQLRecord
-                 * @see OraclePLSQLTypes
-                 * @see JDBCTypes
-                 */
-                String databaseType() default "VARCHAR";
-                
-                /**
-                 * (Optional) The max length of the field value.
-                 */
-                int length() default 255;
-                
-                /**
-                 * (Optional) If a numeric, the max scale value.
-                 */
-                int scale() default 0;
-            
-                /**
-                 * (Optional) If a numeric, the max precision value.
-                 */
-                int precision() default 0;
-            }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="direction" type="orm:direction-type"/>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="query-parameter" type="xsd:string"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="database-type" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:integer"/>
-    <xsd:attribute name="scale" type="xsd:integer"/>
-    <xsd:attribute name="precision" type="xsd:integer"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="struct-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface StructConverter {
-          /**
-           * (Required) Name this converter. The name should be unique across 
-           * the whole persistence unit.
-           */
-          String name();
-
-          /**
-           * (Required) The converter class to be used. This class must 
-           * implement the EclipseLink interface 
-           * org.eclipse.persistence.mappings.converters.Converter
-           */
-          String converter(); 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="converter" type="xsd:string" use="required"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="struct">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * Struct types are extended object-relational data-types supported by some databases.
-         * Struct types are user define types in the database such as OBJECT types on Oracle.
-         * Structs can normally contains Arrays (VARRAY) or other Struct types, and can be stored in
-         * a column or a table.
-         * This annotation define a class to map to a database Struct type.
-         * The class should normally be an Embeddable, but could also be an Entity if stored in a object table.
-         * 
-         * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
-         * @see org.eclipse.persistence.mappings.structures.StructureMapping
-         * @author James Sutherland
-         * @since EclipseLink 2.3
-         */
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Struct {
-            /**
-             * (Required) The database name of the database structure type.
-             */
-            String name();
-        
-            /**
-             * (Optional) Defines the order of the fields contained in the database structure type.
-             */
-            String[] fields() default {}; 
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="structure">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * Struct types are extended object-relational data-types supported by some databases.
-         * Struct types are user define types in the database such as OBJECT types on Oracle.
-         * Structs can normally contains Arrays (VARRAY) or other Struct types, and can be stored in
-         * a column or a table.
-         * This annotation can be defined on a field/method to define an StructureMapping to an embedded Struct type.
-         * The target Embeddable must be mapped using the Struct annotation.
-         * 
-         * @see Struct
-         * @see org.eclipse.persistence.mappings.structures.ObjectRelationalDataTypeDescriptor
-         * @see org.eclipse.persistence.mappings.structures.StructureMapping
-         * @author James Sutherland
-         * @since EclipseLink 2.3
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Structure {
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE}) @Retention(RUNTIME)
-        public @interface Table {
-          String name() default "";
-          String catalog() default "";
-          String schema() default "";
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string" />
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="index">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /** 
-         * Allow a database INDEX to be define when generating DDL.
-         * The @Index can be defined on a Entity class, or on an attribute.
-         * The column is defaulted when defined on a attribute.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 2.2
-         */ 
-        @Target({METHOD, FIELD, TYPE})
-        @Retention(RUNTIME)
-        public @interface Index {
-            /** The name of the INDEX, defaults to INDEX_(table-name) */
-            String name() default "";
-    
-            /** The schema of the INDEX */
-            String schema() default "";
-            
-            /** The catalog of the INDEX */
-            String catalog() default "";
-            
-            /** The table to define the index on, defaults to entities primary table. */
-            String table() default "";
-            
-            boolean unique() default false;
-            
-            /**
-             * Specify the set of columns to define the index on.
-             * Not required when annotated on a field/method.
-             */
-            String[] columnNames() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column-name" type="xsd:string" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="unique" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="table-generator">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface TableGenerator {
-          String name();
-          String table() default "";
-          String catalog() default "";
-          String schema() default "";
-          String pkColumnName() default "";
-          String valueColumnName() default "";
-          String pkColumnValue() default "";
-          int initialValue() default 0;
-          int allocationSize() default 50;
-          UniqueConstraint[] uniqueConstraints() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="unique-constraint" type="orm:unique-constraint" 
-                   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="catalog" type="xsd:string"/>
-    <xsd:attribute name="schema" type="xsd:string"/>
-    <xsd:attribute name="creation-suffix" type="xsd:string"/>
-    <xsd:attribute name="pk-column-name" type="xsd:string"/>
-    <xsd:attribute name="value-column-name" type="xsd:string"/>
-    <xsd:attribute name="pk-column-value" type="xsd:string"/>
-    <xsd:attribute name="initial-value" type="xsd:int"/>
-    <xsd:attribute name="allocation-size" type="xsd:int"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Temporal {
-          TemporalType value();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="orm:temporal-type"/>
-  </xsd:simpleType>
-
-  <!-- **************************************************** -->
-
-  <xsd:simpleType name="temporal-type">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        public enum TemporalType {
-          DATE, // java.sql.Date
-          TIME, // java.sql.Time
-          TIMESTAMP // java.sql.Timestamp
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-      <xsd:restriction base="xsd:token">
-        <xsd:enumeration value="DATE"/>
-        <xsd:enumeration value="TIME"/>
-        <xsd:enumeration value="TIMESTAMP"/>
-     </xsd:restriction>
-  </xsd:simpleType>
-  
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="tenant-discriminator-column">
-    <xsd:annotation>
-      <xsd:documentation>
-        @Target({}) 
-        @Retention(RUNTIME)
-        public @interface TenantDiscriminatorColumn {
-            /**
-             * (Optional) The name of column to be used for the tenant discriminator.
-             */
-            String name() default "TENANT_ID";
-
-            /**
-             * (Optional) The name of the context property to apply to the 
-             * tenant discriminator column.
-             */
-            String contextProperty() default "eclipselink.tenant-id";
-
-            /**
-             * (Optional) The type of object/column to use as a class discriminator.
-             * Defaults to {@link DiscriminatorType#STRING DiscriminatorType.STRING}.
-             */
-            DiscriminatorType discriminatorType() default DiscriminatorType.STRING;
-
-            /**
-             * (Optional) The SQL fragment that is used when generating the DDL
-             * for the discriminator column.
-             * Defaults to the provider-generated SQL to create a column
-             * of the specified discriminator type.
-             */
-            String columnDefinition() default "";
-
-            /**
-             * (Optional) The column length for String-based discriminator types.
-             * Ignored for other discriminator types.
-             */
-            int length() default 31;
-
-            /**
-             * (Optional) The name of the table that contains the column.
-             * If absent the column is assumed to be in the primary table.
-             */
-            String table() default "";
-
-            /**
-             * Specifies that the tenant discriminator column is part of the primary 
-             * key of the tables.
-             */
-            boolean primaryKey() default false; 
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string"/>
-    <xsd:attribute name="context-property" type="xsd:string"/>
-    <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
-    <xsd:attribute name="column-definition" type="xsd:string"/>
-    <xsd:attribute name="length" type="xsd:int"/>
-    <xsd:attribute name="table" type="xsd:string"/>
-    <xsd:attribute name="primary-key" type="xsd:boolean"/>
-  </xsd:complexType>
-  
-  <!-- **************************************************** -->  
-
-  <xsd:complexType name="time-of-day">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({})
-        @Retention(RUNTIME)
-        public @interface TimeOfDay {
-          /**
-           * (Optional) Hour of the day.
-           */ 
-          int hour() default 0;
-
-          /**
-           * (Optional) Minute of the day.
-           */ 
-          int minute() default 0;
-
-          /**
-           * (Optional) Second of the day.
-           */ 
-          int second() default 0;
-
-          /**
-           * (Optional) Millisecond of the day.
-           */ 
-          int millisecond() default 0;
-
-          /**
-           * Internal use. Do not modify.
-           */ 
-          boolean specified() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="hour" type="xsd:integer"/>
-    <xsd:attribute name="minute" type="xsd:integer"/>
-    <xsd:attribute name="second" type="xsd:integer"/>
-    <xsd:attribute name="millisecond" type="xsd:integer"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transformation">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Transformation is an optional annotation for 
-         * org.eclipse.persistence.mappings.TransformationMapping.
-         * TransformationMapping allows to map an attribute to one or more 
-         * database columns.
-         * 
-         * Transformation annotation is an optional part of 
-         * TransformationMapping definition. Unless the TransformationMapping is 
-         * write-only, it should have a ReadTransformer, it defines 
-         * transformation of database column(s) value(s)into attribute value.
-         * Also unless it's a read-only mapping, either WriteTransformer 
-         * annotation or WriteTransformers annotation should be specified. Each 
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer). 
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface Transformation {
-            /**
-             * (Optional) Defines whether the value of the field or property 
-             * should be lazily loaded or must be eagerly fetched. The EAGER 
-             * strategy is a requirement on the persistence provider runtime 
-             * that the value must be eagerly fetched. The LAZY strategy is a 
-             * hint to the persistence provider runtime. If not specified, 
-             * defaults to EAGER.
-             */
-            FetchType fetch() default EAGER;
-
-            /**
-             * (Optional) The optional element is a hint as to whether the value
-             *  of the field or property may be null. It is disregarded
-             *  for primitive types, which are considered non-optional.
-             */
-            boolean optional() default true;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="read-transformer" type="orm:read-transformer"/>
-      <xsd:element name="write-transformer" type="orm:write-transformer" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="transient">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Transient {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="type-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({TYPE, METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface TypeConverter {
-          /**
-           * (Required) Name this converter. The name should be unique
-           * across the whole persistence unit.
-           */
-           String name();
-
-          /**
-           * (Optional) Specify the type stored on the database. The
-           * default is inferred from the type of the persistence field 
-           * or property.
-           */
-          Class dataType() default void.class;
-
-          /**
-           * (Optional) Specify the type stored on the entity. The
-           * default is inferred from the type of the persistent field 
-           * or property.
-           */
-          Class objectType() default void.class;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="data-type" type="xsd:string"/>
-    <xsd:attribute name="object-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="unique-constraint">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({}) @Retention(RUNTIME)
-        public @interface UniqueConstraint {
-          String name() default "";
-          String[] columnNames();
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column-name" type="xsd:string" 
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="variable-one-to-one">
-    <xsd:annotation>
-      <xsd:documentation>
-        /** 
-         * Variable one to one mappings are used to represent a pointer 
-         * references between a java object and an implementer of an interface. 
-         * This mapping is usually represented by a single pointer (stored in an 
-         * instance variable) between the source and target objects. In the 
-         * relational database tables, these mappings are normally implemented 
-         * using a foreign key and a type code.
-         * 
-         * A VariableOneToOne can be specified within an Entity, 
-         * MappedSuperclass and Embeddable class. 
-         */ 
-        @Target({METHOD, FIELD}) 
-        @Retention(RUNTIME)
-        public @interface VariableOneToOne {
-          /**
-           * (Optional) The interface class that is the target of the 
-           * association. If not specified it will be inferred from the type 
-           * of the object being referenced.
-           */
-          Class targetInterface() default void.class;
-
-          /**
-           * (Optional) The operations that must be cascaded to the target of 
-           * the association.
-           */
-          CascadeType[] cascade() default {};
-
-          /**
-           * (Optional) Defines whether the value of the field or property 
-           * should be lazily loaded or must be eagerly fetched. The EAGER 
-           * strategy is a requirement on the persistence provider runtime 
-           * that the value must be eagerly fetched. The LAZY strategy is a 
-           * hint to the persistence provider runtime. If not specified, 
-           * defaults to EAGER.
-           */
-          FetchType fetch() default EAGER;
-
-          /**
-           * (Optional) Whether the association is optional. If set to false 
-           * then a non-null relationship must always exist.
-           */
-          boolean optional() default true;
-
-          /**
-           * (Optional) The discriminator column will hold the type 
-           * indicators. If the DiscriminatorColumn is not specified, the name 
-           * of the discriminator column defaults to "DTYPE" and the 
-           * discriminator type to STRING.
-           */
-          DiscriminatorColumn discriminatorColumn() default @DiscriminatorColumn;
-
-          /**
-           * (Optional) The list of discriminator types that can be used with 
-           * this VariableOneToOne. If none are specified then those entities 
-           * within the persistence unit that implement the target interface 
-           * will be added to the list of types. The discriminator type will 
-           * default as follows:
-           *  - If DiscriminatorColumn type is STRING: Entity.name()
-           *  - If DiscriminatorColumn type is CHAR: First letter of the 
-           *    Entity class
-           *  - If DiscriminatorColumn type is INTEGER: The next integer after 
-           *    the highest integer explicitly added.
-           */
-          DiscriminatorClass[] discriminatorClasses() default {};
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="cascade" type="orm:cascade-type" minOccurs="0"/>
-      <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
-      <xsd:element name="discriminator-class" type="orm:discriminator-class" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="join-column" type="orm:join-column" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="private-owned" type="orm:emptyType" minOccurs="0"/>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-      <xsd:element name="noncacheable" type="orm:emptyType" minOccurs="0"/>
-      <xsd:group ref="orm:partitioning-group"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="target-interface" type="xsd:string"/>
-    <xsd:attribute name="fetch" type="orm:fetch-type"/>
-    <xsd:attribute name="optional" type="xsd:boolean"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="version">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        @Target({METHOD, FIELD}) @Retention(RUNTIME)
-        public @interface Version {}
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column" minOccurs="0"/>
-      <xsd:element name="index" type="orm:index" minOccurs="0"/>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="temporal" type="orm:temporal"/>
-        <xsd:element name="convert" type="xsd:string"/>
-      </xsd:choice>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="converter" type="orm:converter"/>
-        <xsd:element name="type-converter" type="orm:type-converter"/>
-        <xsd:element name="object-type-converter" type="orm:object-type-converter"/>
-        <xsd:element name="struct-converter" type="orm:struct-converter"/>
-      </xsd:choice>
-      <xsd:element name="property" type="orm:property" minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="access-methods" type="orm:access-methods" minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required"/>
-    <xsd:attribute name="access" type="orm:access-type"/>
-    <xsd:attribute name="mutable" type="xsd:boolean"/>
-    <xsd:attribute name="attribute-type" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-
-  <xsd:complexType name="write-transformer">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        /**
-         * Annotation for org.eclipse.persistence.mappings.TransformationMapping.
-         * WriteTransformer defines transformation of the attribute value to a 
-         * single database column value (column is specified in the 
-         * WriteTransformer).
-         *  
-         * A single WriteTransformer may be specified directly on the method or 
-         * attribute. Multiple WriteTransformers should be wrapped into 
-         * WriteTransformers annotation. No WriteTransformers specified for 
-         * read-only mapping. Unless the TransformationMapping is write-only, it 
-         * should have a ReadTransformer, it defines transformation of database 
-         * column(s) value(s)into attribute value.
-         */ 
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface WriteTransformer {
-            /**
-             * User-defined class that must implement the 
-             * org.eclipse.persistence.mappings.transformers.FieldTransformer 
-             * interface. The class will be instantiated, its buildFieldValue 
-             * will be used to create the value to be written into the database 
-             * column. Note that for ddl generation and returning to be 
-             * supported the method buildFieldValue in the class should be 
-             * defined to return the relevant Java type, not just Object as 
-             * defined in the interface, for instance:
-             * public Time buildFieldValue(Object instance, String fieldName, Session session).
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            Class transformerClass() default void.class;
-
-            /**
-             * The mapped class must have a method with this name which returns 
-             * a value to be written into the database column.
-             * Note that for ddl generation and returning to be supported the 
-             * method should be defined to return a particular type, not just 
-             * Object, for instance:
-             * public Time getStartTime().
-             * The method may require a Transient annotation to avoid being 
-             * mapped as Basic by default.
-             * Either transformerClass or method must be specified, but not both.
-             */ 
-            String method() default "";
-
-            /**
-             * Specify here the column into which the value should be written.
-             * The only case when this could be skipped is if a single 
-             * WriteTransformer annotates an attribute - the attribute's name 
-             * will be used as a column name.
-             */ 
-            Column column() default @Column;
-        }
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="column" type="orm:column"/>
-    </xsd:sequence>
-    <xsd:attribute name="transformer-class" type="xsd:string"/>
-    <xsd:attribute name="method" type="xsd:string"/>
-  </xsd:complexType>
-
-  <!-- **************************************************** -->
-   
-  <xsd:complexType name="batch-fetch">
-    <xsd:annotation>
-      <xsd:documentation>
-        /**
-         * A BatchFetch annotation can be used on any relationship mapping,
-         * (OneToOne, ManyToOne, OneToMany, ManyToMany, ElementCollection, BasicCollection, BasicMap).
-         * It allows the related objects to be batch read in a single query.
-         * Batch fetching can also be set at the query level, and it is 
-         * normally recommended to do so as all queries may not require batching.
-         * 
-         * @author James Sutherland
-         * @since EclipseLink 2.1
-         */
-        @Target({METHOD, FIELD})
-        @Retention(RUNTIME)
-        public @interface BatchFetch {
-            /**
-             * (Optional) The type of batch-fetch to use.
-             * Either JOIN, EXISTS or IN.
-             * JOIN is the default.
-             */ 
-            BatchFetchType value() default BatchFetchType.JOIN;
-            
-            /**
-             * Define the default batch fetch size.
-             * This is only used for IN type batch reading and defines
-             * the number of keys used in each IN clause.
-             * The default size is 256, or the query's pageSize for cursor queries.
-             */
-            int size() default -1;
-        }
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="type" type="orm:batch-fetch-type"/>
-    <xsd:attribute name="size" type="xsd:integer"/>
-  </xsd:complexType>
-  
-</xsd:schema>
-
-
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_0.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_0.xsd
deleted file mode 100644
index bb10ce4..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_0.xsd
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the 
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- which accompanies this distribution. 
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at 
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     dmccann - November 24/2009 - 2.0 - Initial implementation
-*****************************************************************************/
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-    xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
-    targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" 
-    elementFormDefault="qualified"
-    attributeFormDefault="unqualified"
-    version="2.0">
-
-    <xs:element name="xml-bindings">
-        <xs:complexType>
-            <xs:all>
-                <xs:element ref="xml-schema" minOccurs="0"/>
-                <xs:element ref="xml-java-type-adapters" minOccurs="0"/>
-                <xs:element name="java-types" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="java-type" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-            <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
-            <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="java-type">
-        <xs:complexType>
-            <xs:all>
-                <xs:element ref="xml-type" minOccurs="0"/>
-                <xs:element ref="xml-root-element" minOccurs="0"/>
-                <xs:element ref="xml-see-also" minOccurs="0"/>
-                <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                <xs:element name="java-attributes" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="java-attribute" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-            <xs:attribute name="name" type="xs:string" />
-            <xs:attribute name="xml-transient" type="xs:boolean" default="false" />
-            <xs:attribute name="xml-customizer" type="xs:string" />
-            <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
-            <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="java-attribute" type="java-attribute" />
-    <xs:complexType name="java-attribute" abstract="true">
-        <xs:attribute name="java-attribute" type="xs:string" />
-    </xs:complexType>
-
-    <!-- Enums -->
-    <xs:simpleType name="xml-access-order">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="ALPHABETICAL" />
-            <xs:enumeration value="UNDEFINED" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-access-type">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="FIELD" />
-            <xs:enumeration value="NONE" />
-            <xs:enumeration value="PROPERTY" />
-            <xs:enumeration value="PUBLIC_MEMBER" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-ns-form">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="UNQUALIFIED" />
-            <xs:enumeration value="QUALIFIED" />
-            <xs:enumeration value="UNSET" />
-        </xs:restriction>
-    </xs:simpleType>
-
-    <!-- @Target(value=PACKAGE) -->
-    <xs:element name="xml-schema">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="xml-ns" minOccurs="0" maxOccurs="unbounded">
-                    <xs:complexType>
-                        <xs:attribute name="namespace-uri" type="xs:string" />
-                        <xs:attribute name="prefix" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:sequence>
-            <xs:attribute name="attribute-form-default" type="xml-ns-form" default="UNSET" />
-            <xs:attribute name="element-form-default" type="xml-ns-form" default="UNSET" />
-            <xs:attribute name="location" type="xs:string" />
-            <xs:attribute name="namespace" type="xs:string" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-java-type-adapters">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-java-type-adapter" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD,METHOD,PACKAGE}) -->
-
-    <!-- @Target(value={PACKAGE,FIELD,METHOD,TYPE,PARAMETER}) -->
-    <xs:element name="xml-java-type-adapter" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:attribute name="value" type="xs:string" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD,METHOD,TYPE}) -->
-    <xs:element name="xml-transient" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute" />
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value=TYPE) -->
-    <xs:element name="xml-type">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-            <xs:attribute name="prop-order">
-                <xs:simpleType>
-                    <xs:list itemType="xs:string" />
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-root-element">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-see-also">
-        <xs:simpleType>
-            <xs:list itemType="xs:string" />
-        </xs:simpleType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD})  -->
-
-    <!-- @Target(value={FIELD,METHOD}) -->
-    <xs:element name="xml-any-attribute" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute" />
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-attribute" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" default="##default" />
-                    <xs:attribute name="required" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-id" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-mime-type" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-any-element" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
-                    <xs:attribute name="lax" type="xs:boolean" default="false" />
-                    <xs:attribute name="dom-handler" type="xs:string" default="javax.xml.bind.annotation.W3CDomHandler" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-map" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" default="##default" />
-                    <xs:attribute name="default-value" type="xs:string" />
-                    <xs:attribute name="nillable" type="xs:boolean" default="false" />
-                    <xs:attribute name="required" type="xs:boolean" default="false" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElement.DEFAULT" />
-                    <xs:attribute name="xml-id" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-mime-type" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-wrapper">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-            <xs:attribute name="nillable" type="xs:boolean" default="false" />
-            <xs:attribute name="required" type="xs:boolean" default="false" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-value" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute" />
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-map">
-        <xs:complexType>
-            <xs:all>
-                <xs:element name="key" minOccurs="0">
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="value" minOccurs="0">
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-        </xs:complexType> 
-    </xs:element>
-</xs:schema>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_1.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_1.xsd
deleted file mode 100644
index d4ea842..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_1.xsd
+++ /dev/null
@@ -1,462 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the 
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- which accompanies this distribution. 
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at 
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     dmccann - December 08/2009 - 2.1 - Initial implementation
-*****************************************************************************/
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-    xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
-    targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" 
-    elementFormDefault="qualified"
-    attributeFormDefault="unqualified"
-    version="2.1">
-
-    <xs:element name="xml-bindings">
-        <xs:complexType>
-            <xs:all>
-                <xs:element ref="xml-schema" minOccurs="0"/>
-                <xs:element ref="xml-schema-type" minOccurs="0"/>
-                <xs:element ref="xml-schema-types" minOccurs="0"/>
-                <xs:element ref="xml-java-type-adapters" minOccurs="0"/>
-                <xs:element name="xml-registries" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="xml-registry" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="xml-enums" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="xml-enum" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="java-types" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="java-type" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-            <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
-            <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-registry">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="xml-element-decl" maxOccurs="unbounded" >
-                    <xs:complexType>
-                        <xs:attribute name="java-method" type="xs:string" />
-                        <xs:attribute name="name" type="xs:string" />
-                        <xs:attribute name="defaultValue" type="xs:string" default="\u0000" />
-                        <xs:attribute name="namespace" type="xs:string" default="##default" />
-                        <xs:attribute name="scope" type="xs:string" default="javax.xml.bind.annotation.XmlElementDecl.GLOBAL" />
-                        <xs:attribute name="substitutionHeadName" type="xs:string" default="" />
-                        <xs:attribute name="substitutionHeadNamespace" type="xs:string" default="##default" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:sequence>
-            <xs:attribute name="name" type="xs:string" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="java-type">
-        <xs:complexType>
-            <xs:all>
-                <xs:element ref="xml-type" minOccurs="0"/>
-                <xs:element ref="xml-root-element" minOccurs="0"/>
-                <xs:element ref="xml-see-also" minOccurs="0"/>
-                <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                <xs:element name="java-attributes" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="java-attribute" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-            <xs:attribute name="name" type="xs:string" />
-            <xs:attribute name="xml-transient" type="xs:boolean" default="false" />
-            <xs:attribute name="xml-customizer" type="xs:string" />
-            <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
-            <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
-            <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="java-attribute" type="java-attribute" />
-    <xs:complexType name="java-attribute" abstract="true">
-        <xs:attribute name="java-attribute" type="xs:string" />
-    </xs:complexType>
-    <xs:element name="xml-access-methods" type="xml-access-methods" />
-    <xs:complexType name="xml-access-methods">
-        <xs:attribute name="get-method" type="xs:string" use="required"/>
-        <xs:attribute name="set-method" type="xs:string" use="required"/>
-    </xs:complexType>
-
-    <!-- Enums -->
-    <xs:simpleType name="xml-access-order">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="ALPHABETICAL" />
-            <xs:enumeration value="UNDEFINED" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-access-type">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="FIELD" />
-            <xs:enumeration value="NONE" />
-            <xs:enumeration value="PROPERTY" />
-            <xs:enumeration value="PUBLIC_MEMBER" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-ns-form">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="UNQUALIFIED" />
-            <xs:enumeration value="QUALIFIED" />
-            <xs:enumeration value="UNSET" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-marshal-null-representation">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="XSI_NIL" />
-            <xs:enumeration value="ABSENT_NODE" />
-            <xs:enumeration value="EMPTY_NODE" />
-        </xs:restriction>
-    </xs:simpleType>
-
-    <!-- @Target(value=PACKAGE) -->
-    <xs:element name="xml-schema">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="xml-ns" minOccurs="0" maxOccurs="unbounded">
-                    <xs:complexType>
-                        <xs:attribute name="namespace-uri" type="xs:string" />
-                        <xs:attribute name="prefix" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:sequence>
-            <xs:attribute name="attribute-form-default" type="xml-ns-form" default="UNSET" />
-            <xs:attribute name="element-form-default" type="xml-ns-form" default="UNSET" />
-            <xs:attribute name="location" type="xs:string" />
-            <xs:attribute name="namespace" type="xs:string" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-schema-types">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-schema-type" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-java-type-adapters">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-java-type-adapter" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD,METHOD,PACKAGE}) -->
-    <xs:element name="xml-schema-type">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" use="required" />
-            <xs:attribute name="namespace" type="xs:string" default="http://www.w3.org/2001/XMLSchema" />
-            <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlSchemaType.DEFAULT" />
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={PACKAGE,FIELD,METHOD,TYPE,PARAMETER}) -->
-    <xs:element name="xml-java-type-adapter" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:attribute name="value" type="xs:string" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD,METHOD,TYPE}) -->
-    <xs:element name="xml-transient" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute" />
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value=TYPE) -->
-    <xs:element name="xml-enum">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-enum-value" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-            <xs:attribute name="java-enum" type="xs:string" use="required" />
-            <xs:attribute name="value" type="xs:string" default="java.lang.String" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-type">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-            <xs:attribute name="factory-class" type="xs:string" default="javax.xml.bind.annotation.XmlType.DEFAULT" />
-            <xs:attribute name="factory-method" type="xs:string" />
-            <xs:attribute name="prop-order">
-                <xs:simpleType>
-                    <xs:list itemType="xs:string" />
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-root-element">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-see-also">
-        <xs:simpleType>
-            <xs:list itemType="xs:string" />
-        </xs:simpleType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD})  -->
-    <xs:element name="xml-enum-value">
-        <xs:complexType>
-            <xs:simpleContent>
-                <xs:extension base="xs:string">
-                    <xs:attribute name="java-enum-value" type="xs:string" use="required" />
-                </xs:extension>
-            </xs:simpleContent>
-        </xs:complexType>
-    </xs:element>
-    
-    <!-- @Target(value={FIELD,METHOD}) -->
-    <xs:element name="xml-any-attribute" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-attribute" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />                        
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-schema-type" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" default="##default" />
-                    <xs:attribute name="required" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-id" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-mime-type" type="xs:string" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-any-element" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
-                    <xs:attribute name="lax" type="xs:boolean" default="false" />
-                    <xs:attribute name="dom-handler" type="xs:string" default="javax.xml.bind.annotation.W3CDomHandler" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                   <xs:all>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />                        
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-map" minOccurs="0"/>
-                        <xs:element ref="xml-schema-type" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" default="##default" />
-                    <xs:attribute name="default-value" type="xs:string" />
-                    <xs:attribute name="nillable" type="xs:boolean" default="false" />
-                    <xs:attribute name="required" type="xs:boolean" default="false" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElement.DEFAULT" />
-                    <xs:attribute name="xml-id" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-mime-type" type="xs:string" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="cdata" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-elements" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-element" maxOccurs="unbounded" minOccurs="0"/>
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                    </xs:sequence>
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-ref" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElementRef.DEFAULT" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-refs" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element ref="xml-element-ref" minOccurs="0" maxOccurs="unbounded" />
-                        <xs:element ref="xml-element-wrapper" minOccurs="0" />
-                    </xs:sequence>
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-inverse-reference" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="mapped-by" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-wrapper">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-            <xs:attribute name="nillable" type="xs:boolean" default="false" />
-            <xs:attribute name="required" type="xs:boolean" default="false" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-value" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                    </xs:sequence>
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="cdata" type="xs:boolean" default="false" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-map">
-        <xs:complexType>
-            <xs:all>
-                <xs:element name="key" minOccurs="0">
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="value" minOccurs="0">
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-        </xs:complexType> 
-    </xs:element>
-    <xs:element name="xml-abstract-null-policy" type="xml-abstract-null-policy" />
-    <xs:complexType name="xml-abstract-null-policy" abstract="true">
-        <xs:attribute name="xsi-nil-represents-null" type="xs:boolean" default="false" />
-        <xs:attribute name="empty-node-represents-null" type="xs:boolean" default="false" />
-        <xs:attribute name="null-representation-for-xml" type="xml-marshal-null-representation" />
-    </xs:complexType>
-    <xs:element name="xml-null-policy" substitutionGroup="xml-abstract-null-policy">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="xml-abstract-null-policy">
-                    <xs:attribute name="is-set-performed-for-absent-node" type="xs:boolean" default="true" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-is-set-null-policy" substitutionGroup="xml-abstract-null-policy">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="xml-abstract-null-policy">
-                    <xs:sequence>
-                        <xs:element name="is-set-parameter" minOccurs="0" maxOccurs="unbounded">
-                            <xs:complexType>
-                                <xs:attribute name="value" type="xs:string"/>
-                                <xs:attribute name="type" type="xs:string"/>
-                            </xs:complexType>
-                        </xs:element>
-                    </xs:sequence>
-                    <xs:attribute name="is-set-method-name" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-</xs:schema>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_2.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_2.xsd
deleted file mode 100644
index 61e37c7..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_2.xsd
+++ /dev/null
@@ -1,562 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the 
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- which accompanies this distribution. 
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at 
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     dmccann - October 12/2010 - 2.2 - Initial implementation
-*****************************************************************************/
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-    xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
-    targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" 
-    elementFormDefault="qualified"
-    attributeFormDefault="unqualified"
-    version="2.2">
-
-    <xs:element name="xml-bindings">
-        <xs:complexType>
-            <xs:all>
-                <xs:element ref="xml-schema" minOccurs="0"/>
-                <xs:element ref="xml-schema-type" minOccurs="0"/>
-                <xs:element ref="xml-schema-types" minOccurs="0"/>
-                <xs:element ref="xml-java-type-adapters" minOccurs="0"/>
-                <xs:element name="xml-registries" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="xml-registry" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="xml-enums" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="xml-enum" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="java-types" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="java-type" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-            <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
-            <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
-            <xs:attribute name="xml-mapping-metadata-complete" type="xs:boolean" default="false" />
-            <xs:attribute name="package-name" type="xs:string" default="##default" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-registry">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="xml-element-decl" maxOccurs="unbounded" >
-                    <xs:complexType>
-                        <xs:attribute name="java-method" type="xs:string" />
-                        <xs:attribute name="name" type="xs:string" use="required" />
-                        <xs:attribute name="defaultValue" type="xs:string" default="\u0000" />
-                        <xs:attribute name="namespace" type="xs:string" default="##default" />
-                        <xs:attribute name="scope" type="xs:string" default="javax.xml.bind.annotation.XmlElementDecl.GLOBAL" />
-                        <xs:attribute name="substitutionHeadName" type="xs:string" default="" />
-                        <xs:attribute name="substitutionHeadNamespace" type="xs:string" default="##default" />
-                        <xs:attribute name="type" type="xs:string" default="##default" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:sequence>
-            <xs:attribute name="name" type="xs:string" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="java-type">
-        <xs:complexType>
-            <xs:all>
-                <xs:element ref="xml-type" minOccurs="0"/>
-                <xs:element ref="xml-root-element" minOccurs="0"/>
-                <xs:element ref="xml-see-also" minOccurs="0"/>
-                <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                <xs:element ref="xml-class-extractor" minOccurs="0"/>
-                <xs:element ref="xml-properties" minOccurs="0" />
-                <xs:element name="java-attributes" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="java-attribute" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-            <xs:attribute name="name" type="xs:string" />
-            <xs:attribute name="super-type" type="xs:string" default="##default" />
-            <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
-            <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
-            <xs:attribute name="xml-customizer" type="xs:string" />
-            <xs:attribute name="xml-discriminator-node" type="xs:string" />
-            <xs:attribute name="xml-discriminator-value" type="xs:string" />
-            <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-            <xs:attribute name="xml-transient" type="xs:boolean" default="false" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="java-attribute" type="java-attribute" />
-    <xs:complexType name="java-attribute" abstract="true">
-        <xs:attribute name="java-attribute" type="xs:string" />
-    </xs:complexType>
-    <xs:element name="xml-access-methods" type="xml-access-methods" />
-    <xs:complexType name="xml-access-methods">
-        <xs:attribute name="get-method" type="xs:string" use="required"/>
-        <xs:attribute name="set-method" type="xs:string" use="required"/>
-    </xs:complexType>
-    <xs:element name="xml-class-extractor" type="xml-class-extractor" />
-    <xs:complexType name="xml-class-extractor">
-        <xs:attribute name="class" type="xs:string" use="required"/>
-    </xs:complexType>
-    <xs:element name="xml-properties" type="xml-properties" />
-    <xs:complexType name="xml-properties">
-        <xs:sequence>
-            <xs:element name="xml-property" minOccurs="0" maxOccurs="unbounded" >
-                <xs:complexType>
-                    <xs:attribute name="name" type="xs:string" use="required" />
-                    <xs:attribute name="value" type="xs:string" use="required" />
-                    <xs:attribute name="value-type" type="xs:string" default="java.lang.String" />
-                </xs:complexType>
-            </xs:element>
-        </xs:sequence>
-    </xs:complexType>
-    <!-- Enums -->
-    <xs:simpleType name="xml-access-order">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="ALPHABETICAL" />
-            <xs:enumeration value="UNDEFINED" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-access-type">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="FIELD" />
-            <xs:enumeration value="NONE" />
-            <xs:enumeration value="PROPERTY" />
-            <xs:enumeration value="PUBLIC_MEMBER" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-ns-form">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="UNQUALIFIED" />
-            <xs:enumeration value="QUALIFIED" />
-            <xs:enumeration value="UNSET" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-marshal-null-representation">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="XSI_NIL" />
-            <xs:enumeration value="ABSENT_NODE" />
-            <xs:enumeration value="EMPTY_NODE" />
-        </xs:restriction>
-    </xs:simpleType>
-
-    <!-- @Target(value=PACKAGE) -->
-    <xs:element name="xml-schema">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="xml-ns" minOccurs="0" maxOccurs="unbounded">
-                    <xs:complexType>
-                        <xs:attribute name="namespace-uri" type="xs:string" />
-                        <xs:attribute name="prefix" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:sequence>
-            <xs:attribute name="attribute-form-default" type="xml-ns-form" default="UNSET" />
-            <xs:attribute name="element-form-default" type="xml-ns-form" default="UNSET" />
-            <xs:attribute name="location" type="xs:string" />
-            <xs:attribute name="namespace" type="xs:string" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-schema-types">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-schema-type" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-java-type-adapters">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-java-type-adapter" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD,METHOD,PACKAGE}) -->
-    <xs:element name="xml-schema-type">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" use="required" />
-            <xs:attribute name="namespace" type="xs:string" default="http://www.w3.org/2001/XMLSchema" />
-            <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlSchemaType.DEFAULT" />
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={PACKAGE,FIELD,METHOD,TYPE,PARAMETER}) -->
-    <xs:element name="xml-java-type-adapter" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:attribute name="value" type="xs:string" use="required" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD,METHOD,TYPE}) -->
-    <xs:element name="xml-transient" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute" />
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value=TYPE) -->
-    <xs:element name="xml-enum">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-enum-value" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-            <xs:attribute name="java-enum" type="xs:string" use="required" />
-            <xs:attribute name="value" type="xs:string" default="java.lang.String" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-type">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-            <xs:attribute name="factory-class" type="xs:string" default="javax.xml.bind.annotation.XmlType.DEFAULT" />
-            <xs:attribute name="factory-method" type="xs:string" />
-            <xs:attribute name="prop-order">
-                <xs:simpleType>
-                    <xs:list itemType="xs:string" />
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-root-element">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-see-also">
-        <xs:simpleType>
-            <xs:list itemType="xs:string" />
-        </xs:simpleType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD})  -->
-    <xs:element name="xml-enum-value">
-        <xs:complexType>
-            <xs:simpleContent>
-                <xs:extension base="xs:string">
-                    <xs:attribute name="java-enum-value" type="xs:string" use="required" />
-                </xs:extension>
-            </xs:simpleContent>
-        </xs:complexType>
-    </xs:element>
-    
-    <!-- @Target(value={FIELD,METHOD}) -->
-    <xs:element name="xml-any-attribute" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-attribute" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />                        
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-schema-type" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" default="##default" />
-                    <xs:attribute name="required" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-id" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-key" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-mime-type" type="xs:string" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="##default" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-any-element" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-element-refs" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
-                    <xs:attribute name="lax" type="xs:boolean" default="false" />
-                    <xs:attribute name="dom-handler" type="xs:string" default="javax.xml.bind.annotation.W3CDomHandler" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                   <xs:all>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />                        
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-map" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-schema-type" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" default="##default" />
-                    <xs:attribute name="default-value" type="xs:string" />
-                    <xs:attribute name="nillable" type="xs:boolean" default="false" />
-                    <xs:attribute name="required" type="xs:boolean" default="false" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElement.DEFAULT" />
-                    <xs:attribute name="xml-id" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-key" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-mime-type" type="xs:string" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="cdata" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-elements" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded" />
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-join-nodes" minOccurs="0" maxOccurs="unbounded" />
-                    </xs:sequence>
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-ref" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElementRef.DEFAULT" />
-                    <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-refs" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
-                        <xs:element ref="xml-element-ref" minOccurs="0" maxOccurs="unbounded" />
-                        <xs:element ref="xml-element-wrapper" minOccurs="0" />
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                    </xs:sequence>
-                    <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-inverse-reference" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="mapped-by" type="xs:string" use="required" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-wrapper">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-            <xs:attribute name="nillable" type="xs:boolean" default="false" />
-            <xs:attribute name="required" type="xs:boolean" default="false" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-value" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="cdata" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="type" type="xs:string" default="##default" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-map">
-        <xs:complexType>
-            <xs:all>
-                <xs:element name="key" minOccurs="0">
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="value" minOccurs="0">
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-        </xs:complexType> 
-    </xs:element>
-    <xs:element name="xml-abstract-null-policy" type="xml-abstract-null-policy" />
-    <xs:complexType name="xml-abstract-null-policy" abstract="true">
-        <xs:attribute name="xsi-nil-represents-null" type="xs:boolean" default="false" />
-        <xs:attribute name="empty-node-represents-null" type="xs:boolean" default="false" />
-        <xs:attribute name="null-representation-for-xml" type="xml-marshal-null-representation" default="ABSENT_NODE" />
-    </xs:complexType>
-    <xs:element name="xml-null-policy" substitutionGroup="xml-abstract-null-policy">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="xml-abstract-null-policy">
-                    <xs:attribute name="is-set-performed-for-absent-node" type="xs:boolean" default="true" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-is-set-null-policy" substitutionGroup="xml-abstract-null-policy">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="xml-abstract-null-policy">
-                    <xs:sequence>
-                        <xs:element name="is-set-parameter" minOccurs="0" maxOccurs="unbounded">
-                            <xs:complexType>
-                                <xs:attribute name="value" type="xs:string" use="required" />
-                                <xs:attribute name="type" type="xs:string" use="required" />
-                            </xs:complexType>
-                        </xs:element>
-                    </xs:sequence>
-                    <xs:attribute name="is-set-method-name" type="xs:string" use="required" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-transformation" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0"/>
-                        <xs:element name="xml-read-transformer">
-                            <xs:complexType>
-                                <xs:attribute name="method" type="xs:string" />
-                                <xs:attribute name="transformer-class" type="xs:string" />
-                            </xs:complexType>
-                        </xs:element>
-                        <xs:element name="xml-write-transformer" minOccurs="0" maxOccurs="unbounded">
-                            <xs:complexType>
-                                <xs:attribute name="method" type="xs:string" />
-                                <xs:attribute name="xml-path" type="xs:string" use="required" />
-                                <xs:attribute name="transformer-class" type="xs:string" />
-                            </xs:complexType>
-                        </xs:element>
-                    </xs:sequence>
-                    <xs:attribute name="optional" type="xs:boolean" default="true"/>
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-join-nodes" substitutionGroup="java-attribute" >
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element name="xml-join-node" minOccurs="1" maxOccurs="unbounded" >
-                            <xs:complexType>
-                                <xs:attribute name="xml-path" type="xs:string" use="required" />
-                                <xs:attribute name="referenced-xml-path" type="xs:string" use="required" />
-                            </xs:complexType>
-                        </xs:element>
-                    </xs:sequence>
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-</xs:schema>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_3.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_3.xsd
deleted file mode 100644
index 74a4d55..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_oxm_2_3.xsd
+++ /dev/null
@@ -1,589 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the 
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- which accompanies this distribution. 
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at 
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     dmccann - December 22/2010 - 2.3 - Initial implementation
-*****************************************************************************/
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-    xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
-    targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" 
-    elementFormDefault="qualified"
-    attributeFormDefault="unqualified"
-    version="2.3">
-
-    <xs:element name="xml-bindings">
-        <xs:complexType>
-            <xs:all>
-                <xs:element ref="xml-schema" minOccurs="0"/>
-                <xs:element ref="xml-schema-type" minOccurs="0"/>
-                <xs:element ref="xml-schema-types" minOccurs="0"/>
-                <xs:element ref="xml-java-type-adapters" minOccurs="0"/>
-                <xs:element name="xml-registries" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="xml-registry" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="xml-enums" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="xml-enum" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="java-types" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="java-type" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-            <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
-            <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
-            <xs:attribute name="xml-mapping-metadata-complete" type="xs:boolean" default="false" />
-            <xs:attribute name="package-name" type="xs:string" default="##default" />
-            <xs:attribute name="xml-name-transformer" type="xs:string" />
-            <xs:attribute name="version" type="supported-versions" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-registry">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="xml-element-decl" maxOccurs="unbounded" >
-                    <xs:complexType>
-                        <xs:attribute name="java-method" type="xs:string" />
-                        <xs:attribute name="name" type="xs:string" use="required" />
-                        <xs:attribute name="defaultValue" type="xs:string" default="\u0000" />
-                        <xs:attribute name="namespace" type="xs:string" default="##default" />
-                        <xs:attribute name="scope" type="xs:string" default="javax.xml.bind.annotation.XmlElementDecl.GLOBAL" />
-                        <xs:attribute name="substitutionHeadName" type="xs:string" default="" />
-                        <xs:attribute name="substitutionHeadNamespace" type="xs:string" default="##default" />
-                        <xs:attribute name="type" type="xs:string" default="##default" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:sequence>
-            <xs:attribute name="name" type="xs:string" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="java-type">
-        <xs:complexType>
-            <xs:all>
-                <xs:element ref="xml-type" minOccurs="0"/>
-                <xs:element ref="xml-root-element" minOccurs="0"/>
-                <xs:element ref="xml-virtual-access-methods" minOccurs="0"/>
-                <xs:element ref="xml-see-also" minOccurs="0"/>
-                <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                <xs:element ref="xml-class-extractor" minOccurs="0"/>
-                <xs:element ref="xml-properties" minOccurs="0" />
-                <xs:element name="java-attributes" minOccurs="0">
-                    <xs:complexType>
-                        <xs:sequence>
-                            <xs:element ref="java-attribute" minOccurs="0" maxOccurs="unbounded" />
-                        </xs:sequence>
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-            <xs:attribute name="name" type="xs:string" />
-            <xs:attribute name="super-type" type="xs:string" default="##default" />
-            <xs:attribute name="xml-accessor-order" type="xml-access-order" default="UNDEFINED" />
-            <xs:attribute name="xml-accessor-type" type="xml-access-type" default="PUBLIC_MEMBER" />
-            <xs:attribute name="xml-customizer" type="xs:string" />
-            <xs:attribute name="xml-discriminator-node" type="xs:string" />
-            <xs:attribute name="xml-discriminator-value" type="xs:string" />
-            <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-            <xs:attribute name="xml-transient" type="xs:boolean" default="false" />
-            <xs:attribute name="xml-name-transformer" type="xs:string" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="java-attribute" type="java-attribute" />
-    <xs:complexType name="java-attribute" abstract="true">
-        <xs:attribute name="java-attribute" type="xs:string" />
-    </xs:complexType>
-    <xs:element name="xml-access-methods" type="xml-access-methods" />
-    <xs:complexType name="xml-access-methods">
-        <xs:attribute name="get-method" type="xs:string" />
-        <xs:attribute name="set-method" type="xs:string" />
-    </xs:complexType>
-    <xs:element name="xml-class-extractor" type="xml-class-extractor" />
-    <xs:complexType name="xml-class-extractor">
-        <xs:attribute name="class" type="xs:string" use="required"/>
-    </xs:complexType>
-    <xs:element name="xml-properties" type="xml-properties" />
-    <xs:complexType name="xml-properties">
-        <xs:sequence>
-            <xs:element name="xml-property" minOccurs="0" maxOccurs="unbounded" >
-                <xs:complexType>
-                    <xs:attribute name="name" type="xs:string" use="required" />
-                    <xs:attribute name="value" type="xs:string" use="required" />
-                    <xs:attribute name="value-type" type="xs:string" default="java.lang.String" />
-                </xs:complexType>
-            </xs:element>
-        </xs:sequence>
-    </xs:complexType>
-    <!-- Enums -->
-    <xs:simpleType name="xml-access-order">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="ALPHABETICAL" />
-            <xs:enumeration value="UNDEFINED" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-access-type">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="FIELD" />
-            <xs:enumeration value="NONE" />
-            <xs:enumeration value="PROPERTY" />
-            <xs:enumeration value="PUBLIC_MEMBER" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-ns-form">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="UNQUALIFIED" />
-            <xs:enumeration value="QUALIFIED" />
-            <xs:enumeration value="UNSET" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="xml-marshal-null-representation">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="XSI_NIL" />
-            <xs:enumeration value="ABSENT_NODE" />
-            <xs:enumeration value="EMPTY_NODE" />
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType name="supported-versions">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="2.0"/>
-            <xs:enumeration value="2.1"/>
-            <xs:enumeration value="2.2"/>
-            <xs:enumeration value="2.3"/>
-        </xs:restriction>
-    </xs:simpleType> 
-
-    <!-- @Target(value=PACKAGE) -->
-    <xs:element name="xml-schema">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="xml-ns" minOccurs="0" maxOccurs="unbounded">
-                    <xs:complexType>
-                        <xs:attribute name="namespace-uri" type="xs:string" />
-                        <xs:attribute name="prefix" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:sequence>
-            <xs:attribute name="attribute-form-default" type="xml-ns-form" default="UNSET" />
-            <xs:attribute name="element-form-default" type="xml-ns-form" default="UNSET" />
-            <xs:attribute name="location" type="xs:string" />
-            <xs:attribute name="namespace" type="xs:string" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-schema-types">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-schema-type" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-java-type-adapters">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-java-type-adapter" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD,METHOD,PACKAGE}) -->
-    <xs:element name="xml-schema-type">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" use="required" />
-            <xs:attribute name="namespace" type="xs:string" default="http://www.w3.org/2001/XMLSchema" />
-            <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlSchemaType.DEFAULT" />
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={PACKAGE,FIELD,METHOD,TYPE,PARAMETER}) -->
-    <xs:element name="xml-java-type-adapter" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:attribute name="value" type="xs:string" use="required" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value={FIELD,METHOD,TYPE}) -->
-    <xs:element name="xml-transient" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute" />
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-
-    <!-- @Target(value=TYPE) -->
-    <xs:element name="xml-enum">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element ref="xml-enum-value" minOccurs="0" maxOccurs="unbounded" />
-            </xs:sequence>
-            <xs:attribute name="java-enum" type="xs:string" use="required" />
-            <xs:attribute name="value" type="xs:string" default="java.lang.String" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-type">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-            <xs:attribute name="factory-class" type="xs:string" default="javax.xml.bind.annotation.XmlType.DEFAULT" />
-            <xs:attribute name="factory-method" type="xs:string" />
-            <xs:attribute name="prop-order">
-                <xs:simpleType>
-                    <xs:list itemType="xs:string" />
-                </xs:simpleType>
-            </xs:attribute>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-root-element">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-see-also">
-        <xs:simpleType>
-            <xs:list itemType="xs:string" />
-        </xs:simpleType>
-    </xs:element>
-    <xs:element name="xml-virtual-access-methods">
-        <xs:complexType>
-            <xs:attribute name="get-method" type="xs:string" default="get" />
-            <xs:attribute name="set-method" type="xs:string" default="set" />
-            <xs:attribute name="schema" type="xml-virtual-access-methods-schema" default="NODES" />
-        </xs:complexType>
-    </xs:element>
-    <xs:simpleType name="xml-virtual-access-methods-schema">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="NODES" />
-            <xs:enumeration value="ANY" />
-        </xs:restriction>
-    </xs:simpleType>
-
-    <!-- @Target(value={FIELD})  -->
-    <xs:element name="xml-enum-value">
-        <xs:complexType>
-            <xs:simpleContent>
-                <xs:extension base="xs:string">
-                    <xs:attribute name="java-enum-value" type="xs:string" use="required" />
-                </xs:extension>
-            </xs:simpleContent>
-        </xs:complexType>
-    </xs:element>
-    
-    <!-- @Target(value={FIELD,METHOD}) -->
-    <xs:element name="xml-any-attribute" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-attribute" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />                        
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-schema-type" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" default="##default" />
-                    <xs:attribute name="required" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-id" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-key" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-mime-type" type="xs:string" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="##default" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-any-element" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-element-refs" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
-                    <xs:attribute name="lax" type="xs:boolean" default="false" />
-                    <xs:attribute name="dom-handler" type="xs:string" default="javax.xml.bind.annotation.W3CDomHandler" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                   <xs:all>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />                        
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                        <xs:element ref="xml-map" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-schema-type" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" default="##default" />
-                    <xs:attribute name="default-value" type="xs:string" />
-                    <xs:attribute name="nillable" type="xs:boolean" default="false" />
-                    <xs:attribute name="required" type="xs:boolean" default="false" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElement.DEFAULT" />
-                    <xs:attribute name="xml-id" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-key" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-inline-binary-data" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-attachment-ref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-mime-type" type="xs:string" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="cdata" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-path" type="xs:string" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-elements" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded" />
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-join-nodes" minOccurs="0" maxOccurs="unbounded" />
-                    </xs:sequence>
-                    <xs:attribute name="xml-idref" type="xs:boolean" default="false" />
-                    <xs:attribute name="xml-list" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-ref" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
-                        <xs:element ref="xml-element-wrapper" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="name" type="xs:string" default="##default" />
-                    <xs:attribute name="namespace" type="xs:string" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="javax.xml.bind.annotation.XmlElementRef.DEFAULT" />
-                    <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-refs" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
-                        <xs:element ref="xml-element-ref" minOccurs="0" maxOccurs="unbounded" />
-                        <xs:element ref="xml-element-wrapper" minOccurs="0" />
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0" />
-                    </xs:sequence>
-                    <xs:attribute name="xml-mixed" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-inverse-reference" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                    </xs:all>
-                    <xs:attribute name="mapped-by" type="xs:string" use="required" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-element-wrapper">
-        <xs:complexType>
-            <xs:attribute name="name" type="xs:string" default="##default" />
-            <xs:attribute name="namespace" type="xs:string" default="##default" />
-            <xs:attribute name="nillable" type="xs:boolean" default="false" />
-            <xs:attribute name="required" type="xs:boolean" default="false" />
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-value" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:all>
-                        <xs:element ref="xml-abstract-null-policy" minOccurs="0" />
-                        <xs:element ref="xml-access-methods" minOccurs="0" />
-                        <xs:element ref="xml-properties" minOccurs="0" />
-                        <xs:element ref="xml-java-type-adapter" minOccurs="0"/>
-                    </xs:all>
-                    <xs:attribute name="cdata" type="xs:boolean" default="false" />
-                    <xs:attribute name="read-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="type" type="xs:string" default="##default" />
-                    <xs:attribute name="write-only" type="xs:boolean" default="false" />
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-map">
-        <xs:complexType>
-            <xs:all>
-                <xs:element name="key" minOccurs="0">
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-                <xs:element name="value" minOccurs="0">
-                    <xs:complexType>
-                        <xs:attribute name="type" type="xs:string" />
-                    </xs:complexType>
-                </xs:element>
-            </xs:all>
-        </xs:complexType> 
-    </xs:element>
-    <xs:element name="xml-abstract-null-policy" type="xml-abstract-null-policy" />
-    <xs:complexType name="xml-abstract-null-policy" abstract="true">
-        <xs:attribute name="xsi-nil-represents-null" type="xs:boolean" default="false" />
-        <xs:attribute name="empty-node-represents-null" type="xs:boolean" default="false" />
-        <xs:attribute name="null-representation-for-xml" type="xml-marshal-null-representation" default="ABSENT_NODE" />
-    </xs:complexType>
-    <xs:element name="xml-null-policy" substitutionGroup="xml-abstract-null-policy">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="xml-abstract-null-policy">
-                    <xs:attribute name="is-set-performed-for-absent-node" type="xs:boolean" default="true" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-is-set-null-policy" substitutionGroup="xml-abstract-null-policy">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="xml-abstract-null-policy">
-                    <xs:sequence>
-                        <xs:element name="is-set-parameter" minOccurs="0" maxOccurs="unbounded">
-                            <xs:complexType>
-                                <xs:attribute name="value" type="xs:string" use="required" />
-                                <xs:attribute name="type" type="xs:string" use="required" />
-                            </xs:complexType>
-                        </xs:element>
-                    </xs:sequence>
-                    <xs:attribute name="is-set-method-name" type="xs:string" use="required" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-transformation" substitutionGroup="java-attribute">
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element name="xml-access-methods" type="xml-access-methods" minOccurs="0"/>
-                        <xs:element ref="xml-properties" minOccurs="0"/>
-                        <xs:element name="xml-read-transformer">
-                            <xs:complexType>
-                                <xs:attribute name="method" type="xs:string" />
-                                <xs:attribute name="transformer-class" type="xs:string" />
-                            </xs:complexType>
-                        </xs:element>
-                        <xs:element name="xml-write-transformer" minOccurs="0" maxOccurs="unbounded">
-                            <xs:complexType>
-                                <xs:attribute name="method" type="xs:string" />
-                                <xs:attribute name="xml-path" type="xs:string" use="required" />
-                                <xs:attribute name="transformer-class" type="xs:string" />
-                            </xs:complexType>
-                        </xs:element>
-                    </xs:sequence>
-                    <xs:attribute name="optional" type="xs:boolean" default="true"/>
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-    <xs:element name="xml-join-nodes" substitutionGroup="java-attribute" >
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="java-attribute">
-                    <xs:sequence>
-                        <xs:element name="xml-join-node" minOccurs="1" maxOccurs="unbounded" >
-                            <xs:complexType>
-                                <xs:attribute name="xml-path" type="xs:string" use="required" />
-                                <xs:attribute name="referenced-xml-path" type="xs:string" use="required" />
-                            </xs:complexType>
-                        </xs:element>
-                    </xs:sequence>
-                    <xs:attribute name="container-type" type="xs:string" default="##default" />
-                    <xs:attribute name="type" type="xs:string" default="##default" />
-                </xs:extension>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
-</xs:schema>
\ No newline at end of file
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_1.1.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_1.1.xsd
deleted file mode 100644
index 3746ead..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_1.1.xsd
+++ /dev/null
@@ -1,4183 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
- which accompanies this distribution.
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     Oracle - initial API and implementation from Oracle TopLink
-*****************************************************************************/
--->
-<!-- Eclipse Persistence Service Project :: Map Schema file for ORM/OXM/EIS -->
-<xsd:schema
-  targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns="http://www.eclipse.org/eclipselink/xsds/persistence"
-  elementFormDefault="qualified"
-  attributeFormDefault="unqualified"
-  version="1.1"
-  >
-  <xsd:element name="object-persistence" type="object-persistence" />
-  <xsd:complexType name="object-persistence">
-    <xsd:annotation>
-      <xsd:documentation>An object-persistence mapping module, a set of class-mapping-descriptors.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>A name for the model being mapped.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-mapping-descriptors">
-        <xsd:annotation>
-          <xsd:documentation>The list of class mapping descriptors.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="class-mapping-descriptor" type="class-mapping-descriptor">
-              <xsd:annotation>
-                <xsd:documentation>Information of how a class is persisted to its data-store.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="login" type="datasource-login">
-        <xsd:annotation>
-          <xsd:documentation>The datasource connection and configuration information.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="default-temporal-mutable" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines the default for how Date and Calendar types are used with change tracking.</xsd:documentation>
-          <xsd:documentation>By default they are assumed not to be changed directly (only replaced).</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute default="Eclipse Persistence Services - 1.1 (Build YYMMDD)" name="version" type="xsd:string" />
-  </xsd:complexType>
-  <xsd:complexType name="datasource-login">
-    <xsd:annotation>
-      <xsd:documentation>The datasource connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="platform-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the platform class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="user-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The datasource user-name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="password" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The datasource password, this is stored in encrypted form.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="external-connection-pooling" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the connections are managed by the datasource driver, and a new connection should be acquire per call.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="external-transaction-controller" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the transaction are managed by a transaction manager, and should not be managed by TopLink.</xsd:documentation>
-          <xsd:documentation>This can also be used if the datasource does not support transactions.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="sequencing">
-        <xsd:annotation>
-          <xsd:documentation>Sequencing information.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" name="default-sequence" type="sequence">
-              <xsd:annotation>
-                <xsd:documentation>Default sequence. The name is optional. If no name provided an empty string will be used as a name.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="sequences">
-              <xsd:annotation>
-                <xsd:documentation>Non default sequences. Make sure each sequence has unique name.</xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:sequence>
-                  <xsd:element minOccurs="0" maxOccurs="unbounded" name="sequence" type="sequence" />
-                </xsd:sequence>
-              </xsd:complexType>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="database-login">
-    <xsd:annotation>
-      <xsd:documentation>The JDBC driver and database connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="driver-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the JDBC driver class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="connection-url" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full JDBC driver connection URL.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="bind-all-parameters" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if parameter binding should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cache-all-statements" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if statement caching should be used.  This should be used with parameter binding, this cannot be used with external connection pooling.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="byte-array-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if byte array data-types should use binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="string-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if string data-types should use binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="256" name="string-binding-size" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Configure the threshold string size for usage of string binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="streams-for-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if large byte array and string data-types should be bound as streams.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="force-field-names-to-upper-case" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure to force all field names to upper-case.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="optimize-data-conversion" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure data optimization.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="trim-strings" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if string trailing blanks should be trimmed.  This is normally required for CHAR data-types.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-writing" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if batch writing should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="jdbc-batch-writing" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If using batch writing, configure if the JDBC drivers batch writing should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-login">
-    <xsd:annotation>
-      <xsd:documentation>The JCA driver and EIS connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="connection-spec-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the TopLink platform specific connection spec class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="connection-factory-url" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The JNDI url for the managed JCA adapter's connection factory.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-login">
-    <xsd:annotation>
-      <xsd:documentation>The connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-        	<xsd:element minOccurs="0" default="true"
-        		name="equal-namespace-resolvers" type="xsd:boolean" />
-        	<xsd:element name="document-preservation-policy"
-        		type="document-preservation-policy" maxOccurs="1"
-        		minOccurs="0">
-        	</xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Information of how a class is persisted to its data-store.</xsd:documentation>
-      <xsd:documentation>This is an abstract definition to allow flexibility in the types of classes and datastores persisted, i.e. interfaces, abstract classes, aggregates, non-relational persistence.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the implementation class being persisted.  The class name must be full qualified with its package.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.implementation.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="alias" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Optionally an alias name can be given for the class.  The alias is a string that can be used to refer to the class in place of its implementation name, such as in querying.</xsd:documentation>
-          <xsd:documentation>Example: <alias xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">Employee</alias></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="primary-key">
-        <xsd:annotation>
-          <xsd:documentation>The list of fields/columns that make up the primary key or unique identifier of the class.</xsd:documentation>
-          <xsd:documentation>This is used for caching, relationships, and for database operations.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The primary key field.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the class is read-only.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="properties">
-        <xsd:annotation>
-          <xsd:documentation>Allow for user defined properties to be defined.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="property" type="property">
-              <xsd:annotation>
-                <xsd:documentation>A user defined property.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="inheritance" type="inheritance-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class is related in inheritance and how this inheritance is persisted.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="events" type="event-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the persistent events for this class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="querying" type="query-policy">
-        <xsd:annotation>
-          <xsd:documentation>The list of defined queries for the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="attribute-mappings">
-        <xsd:annotation>
-          <xsd:documentation>The list of mappings that define how the class' attributes are persisted.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="attribute-mapping" type="attribute-mapping">
-              <xsd:annotation>
-                <xsd:documentation>Defines how a attribute is persisted. The attribute mapping definition is extendable to allow for different types of mappings.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="descriptor-type" type="class-descriptor-type">
-        <xsd:annotation>
-          <xsd:documentation>Defines the descriptor type, such as aggregate or independent.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="interfaces" type="interface-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the interfaces that this class implements..</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="locking" type="locking-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the locking behavior for the class.  Such as an optimistic locking policy based on version, timestamp or change set of columns.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="sequencing" type="sequencing-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how a generated unique id should be assigned to the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="caching" type="caching-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class' instances should be cached.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="remote-caching" type="caching-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class' instances should be cached on remote clients.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how past versions of objects are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="returning-policy" type="returning-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines retuning policy.  By default there will be no returning policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="amendment" type="amendment">
-        <xsd:annotation>
-          <xsd:documentation>Allow for the descriptor to be amended or customized through a class API after loading.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="instantiation" type="instantiation-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the object instantiation behavoir to be customized</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="copying" type="copy-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the object cloning/copying behavoir to be customized.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="query-keys">
-        <xsd:annotation>
-          <xsd:documentation>A list of query keys or aliases for database information.  These can be used in queries instead of the database column names.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="query-key" type="query-key">
-              <xsd:annotation>
-                <xsd:documentation>Defines an alias for querying database information.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="cmp-policy" type="cmp-policy">
-        <xsd:annotation>
-          <xsd:documentation>Place holder of CMP information specific.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="fetch-groups" type="fetch-groups">
-        <xsd:annotation>
-          <xsd:documentation>Contains all pre-defined fetch groups at the descriptor level</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="1" name="change-policy" type="change-policy">
-        <xsd:annotation>
-          <xsd:documentation>Contains the Change Policy for this descriptor</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute fixed="10" name="schema-major-version" type="xsd:integer" />
-    <xsd:attribute fixed="0" name="schema-minor-version" type="xsd:integer" />
-  </xsd:complexType>
-  <xsd:simpleType name="class-descriptor-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the class descriptor type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="independent" />
-      <xsd:enumeration value="aggregate" />
-      <xsd:enumeration value="aggregate-collection" />
-      <xsd:enumeration value="composite" />
-      <xsd:enumeration value="composite" />
-      <xsd:enumeration value="interface" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="interface-policy">
-    <xsd:annotation>
-      <xsd:documentation>Specify the interfaces that a class descriptor implements, or the implemention class for an interface descriptor.</xsd:documentation>
-      <xsd:documentation>Optionally a set of public interfaces for the class can be specified.  This allows the interface to be used to refer to the implementation class.</xsd:documentation>
-      <xsd:documentation>If two classes implement the same interface, an interface descriptor should be defined for the interface.</xsd:documentation>
-      <xsd:documentation>This can also be used to define inheritance between interface descriptors.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="interface" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified interface class name.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.api.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="implementor-descriptor" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified class name of the implementation class for which this interface is the public interface.</xsd:documentation>
-          <xsd:documentation>This can be used if the interface has only a single implementor.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.impl.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object cloning/copying behavoir to be customized.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Creates a copying through creating a new instance to copy into.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="copy-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object cloning/copying behavoir to be customized through a clone method.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="copy-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the clone method on the object, i.e. 'clone'</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="instantiation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object instantiation behavoir to be customized.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the method on the factory to instantiate the object instance.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="factory-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified factory class name.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="factory-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the method to instantiate the factory class.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="amendment">
-    <xsd:annotation>
-      <xsd:documentation>Specifies a class and static method to be called to allow for the descriptor to be amended or customized through a class API after loading.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="amendment-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation> The fully qualified name of the amendment class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="amendment-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the static amendment method on the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="relational-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to a relational database table(s).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="tables">
-            <xsd:annotation>
-              <xsd:documentation>The list of the tables the class is persisted to.  Typically a class is persisted to a single table, but multiple tables can be defined.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="table" type="table">
-                  <xsd:annotation>
-                    <xsd:documentation>The list of tables that the class is persisted to.  This is typically a single table but can be multiple, or empty for inheritance or aggregated classes.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-keys-for-multiple-table" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>Allow the foreign key field references to be define for multiple table descriptors.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="multiple-table-join-criteria" type="criteria">
-            <xsd:annotation>
-              <xsd:documentation>For complex multiple table join conditions an expression may be provided instead of the table foreign key information.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="version-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on a numeric version field/column that tracks changes and the version to an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy">
-        <xsd:sequence>
-          <xsd:element name="version-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The name and optionally the table of the column that the attribute is stored into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="store-version-in-cache" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the version value should be stored in the cache, or if it will be stored in the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="timestamp-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on timestamp version column that tracks changes and the version to an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="version-locking-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="server-time" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the timestamp should be obtained locally or from the database server.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="all-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of all fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="changed-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of only the changed fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="selected-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of a specified set of fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy">
-        <xsd:sequence>
-          <xsd:element name="fields">
-            <xsd:annotation>
-              <xsd:documentation>Specify the set of fields to compare on update and delete.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="sequencing-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a database generated unique id should be assigned to the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="sequence-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Specify the name of the sequence generator.  This could be the name of a sequence object, or a row value in a sequence table.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="sequence-field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>Specify the field/column that the generated sequence id is assigned to.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="cache-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid caching types.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="full" />
-      <xsd:enumeration value="cache" />
-      <xsd:enumeration value="weak-reference" />
-      <xsd:enumeration value="soft-reference" />
-      <xsd:enumeration value="soft-cache-weak-reference" />
-      <xsd:enumeration value="hard-cache-weak-reference" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="caching-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how the class' instances should be cached and how object identity should be maintained.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="soft-cache-weak-reference" name="cache-type" type="cache-type">
-        <xsd:annotation>
-          <xsd:documentation>Specify the type of caching, such as LRU, weak reference or none.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="100" name="cache-size" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Specify the initial or maximum size of the cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="always-refresh" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to always refresh cached objects on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="only-refresh-cache-if-newer-version" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to refresh if the cached object is an older version.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="disable-cache-hits" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Disable obtaining cache hits on primary key queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="always-conform" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to always conform queries within a transaction.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="isolated" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify if objects of this type should be isolated from the shared cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="isolate-new-data-after-transaction" name="unitofwork-isolation-level" type="unitofwork-isolation-level">
-        <xsd:annotation>
-          <xsd:documentation>Specify how the unit of work should be isolated to the session cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="cache-invalidation-policy" type="cache-invalidation">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cache invalidation policy.  By default there will be no cache invalidation policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="change-set" name="cache-sync-type" type="cache-sync-type">
-        <xsd:annotation>
-          <xsd:documentation>The type of cache synchronization to be used with this descripor.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="cache-invalidation" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Abstract superclass for cache invalidation policies.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="false" name="update-read-time-on-update" type="xsd:boolean" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="no-expiry-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation policy where objects in the cache do not expire.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="time-to-live-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation policy where objects live a specific number of milliseconds after they are read.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation">
-        <xsd:sequence>
-          <xsd:element name="time-to-live" type="xsd:long" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="daily-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation Policy where objects expire at a specific time every day</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation">
-        <xsd:sequence>
-          <xsd:element name="expiry-time" type="xsd:dateTime" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="history-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how past versions of objects are to be persisted to the data-store.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="true" name="handle-writes" type="xsd:boolean" />
-      <xsd:element minOccurs="0" default="false" name="use-database-time" type="xsd:boolean" />
-      <xsd:element minOccurs="0" name="history-tables">
-        <xsd:annotation>
-          <xsd:documentation>Defines the names of the mirroring historical tables.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="history-table" type="history-table" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="start-fields">
-        <xsd:annotation>
-          <xsd:documentation>Defines the start fields for each historical table.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="start-field" type="field" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="end-fields">
-        <xsd:annotation>
-          <xsd:documentation>Defines the end fields for each historical table.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="end-field" type="field" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="history-table">
-    <xsd:annotation>
-      <xsd:documentation>Each entry is a source (descriptor) to history table name association.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="" name="source" type="xsd:string" />
-      <xsd:element minOccurs="1" name="history" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="returning-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines retuning policy.  By default there will be no returning policy.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="1" name="returning-field-infos">
-        <xsd:annotation>
-          <xsd:documentation>Lists the fields to be returned together with the flags defining returning options</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="returning-field-info" type="returning-field-info" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="returning-field-info">
-    <xsd:annotation>
-      <xsd:documentation>Field to be returned together with type and the flags defining returning options. At least one of insert, update should be true.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="reference-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the target referenced class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>The field to be returned.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="insert" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Indicates whether the field should be retuned after Insert.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="insert-mode-return-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>If insert==true, indicates whether the field should not be inserted (true). If insert==false - ignored.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="update" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Indicates whether the field should be retuned after Insert.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="inheritance-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how the class is related in inheritance and how this inheritance is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="parent-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the parent/superclass of the class being persisted.  The class name must be full qualified   with its package.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="true" name="read-subclasses-on-queries" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Define if subclasses of the class should be returned on queries, or only the exact class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="all-subclasses-view" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Optionally specify the name of a view that joins all of the subclass' tables.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="use-class-name-as-indicator" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specifies if the fully qualified class name should be used as the class type indicator.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-extraction-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of a method on the class that takes the class' row as argument a computed that class type to be used to instantiate from the row.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-indicator-field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>The name of the type field/column that the class type is stored into.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-indicator-mappings" type="class-indicator-mappings">
-        <xsd:annotation>
-          <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-extractor" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of a class that implements a class extractor interface.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="only-instances-criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The criteria that filters out all sibling and subclass instances on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="all-subclasses-criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The criteria that filters out sibling instances on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="outer-join-subclasses" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>For inheritance queries specify if all subclasses should be outer joined, instead of a query per subclass.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="qname-inheritance-policy">
-    <xsd:annotation>
-      <xsd:documentation>Extends inheritance policy. Allows for prefixed names to be resolved at runtime to find the approriate class</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="inheritance-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="class-indicator-mappings">
-    <xsd:annotation>
-      <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="class-indicator-mapping">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class" type="xsd:string">
-              <xsd:annotation>
-                <xsd:documentation>The fully qualified name of the class the type maps to.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="class-indicator" type="xsd:anySimpleType">
-              <xsd:annotation>
-                <xsd:documentation>The field value used to define the class type.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="event-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the persistent events for this class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="event-listeners">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="event-listener" type="xsd:string">
-              <xsd:annotation>
-                <xsd:documentation>The fully qualified name of an event listener class that implements the descriptor event listener interface.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-build-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after building the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-write-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before writing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-write-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after writing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-delete-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before deleting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-delete-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after deleting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="about-to-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="about-to-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-clone-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after cloning the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-merge-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after merging the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-refresh-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after refreshing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="query-policy">
-    <xsd:annotation>
-      <xsd:documentation>The list of defined queries and query properties for the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="queries">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="query" type="query">
-              <xsd:annotation>
-                <xsd:documentation>A query definition for the class' instances.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="timeout" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Specifies a timeout to apply to all queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="check-cache" name="existence" type="existence-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the behavoir used to determine if an insert or update should occur for an object to be customized.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="insert-query" type="insert-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom insert query.  This overide the default insert behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="update-query" type="update-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom update query.  This overide the default update behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="delete-query" type="delete-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom delete query.  This overide the default delete behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="does-exist-query" type="does-exist-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom does exist query.  This overide the default delete behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="read-object-query" type="read-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom read object query.  This overide the default read behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="read-all-query" type="read-all-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom read all query.  This overide the default read all behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="existence-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid existence policies for determining if an insert or update should occur for an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="check-cache" />
-      <xsd:enumeration value="check-database" />
-      <xsd:enumeration value="assume-existence" />
-      <xsd:enumeration value="assume-non-existence" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for querying database information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The query-key alias name.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:simpleType name="cache-sync-type">
-    <xsd:annotation>
-      <xsd:documentation>The type of cache synchronization to use with a descriptor.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="invalidation" />
-      <xsd:enumeration value="no-changes" />
-      <xsd:enumeration value="change-set-with-new-objects" />
-      <xsd:enumeration value="change-set" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="unitofwork-isolation-level">
-    <xsd:annotation>
-      <xsd:documentation>Specify how the unit of work isolated from the session cache.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="use-session-cache-after-transaction" />
-      <xsd:enumeration value="isolate-new-data-after-transaction" />
-      <xsd:enumeration value="isolate-cache-after-transaction" />
-      <xsd:enumeration value="isolate-cache-always" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="direct-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a database column.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query-key">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column being aliased.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relationship-query-key" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a join to another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query-key">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the target referenced class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:choice>
-            <xsd:element name="foreign-key" type="foreign-key">
-              <xsd:annotation>
-                <xsd:documentation>The foreign key join condition between the source and target class' tables.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="criteria" type="criteria">
-              <xsd:annotation>
-                <xsd:documentation>The join criteria between the source and target class' tables.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-one-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a 1-1 join to another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-query-key" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-many-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a 1-m join from another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="relationship-query-key" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The name and optionally the table of the field/column that the attribute is stored into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="null-value" type="xsd:anySimpleType" minOccurs="0">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify a value that null data values should be converted to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="converter" type="value-converter" minOccurs="0">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="attribute-classification" type="xsd:string" minOccurs="0"/>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="attribute-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a attribute is persisted. The attribute mapping definition is extendable to allow for different types of mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="attribute-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the attribute.  This is the implementation class attribute name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify if the attribute is read-only.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="get-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the get method for the attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="set-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the set method for the attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="properties">
-        <xsd:annotation>
-          <xsd:documentation>Allow for user defined properties to be defined.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="property" type="property">
-              <xsd:annotation>
-                <xsd:documentation>A user defined property.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a simple attribute is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="abstract-direct-mapping">
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="abstract-direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-cdata" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="null-policy" type="abstract-null-policy" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-direct-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="field-transformation" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a field transformation for a transformation mapping</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field" type="field" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="method-based-field-transformation">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field-transformation">
-        <xsd:sequence>
-          <xsd:element name="method" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transformer-based-field-transformation">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field-transformation">
-        <xsd:sequence>
-          <xsd:element name="transformer-class" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a transformation mapping that uses Java code to transform between the data and object values.</xsd:documentation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="attribute-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the attribute transformation defined in the domain class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="attribute-transformer" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The class name of the attribute transformer. Used in place of attribute-transformation.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="mutable" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy" />
-          <xsd:element minOccurs="0" name="field-transformations">
-            <xsd:annotation>
-              <xsd:documentation>The field transformations.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field-transformation" type="field-transformation" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="aggregate-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a relationship where the target object is strictly privately owned by the source object and stores within the source objects row</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified class name of the target class of the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="allow-null" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if a row of all nulls should be interpreted as null.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="field-translations">
-            <xsd:annotation>
-              <xsd:documentation>Allow for the mapping to use different field names than the descriptor.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field-translation">
-                  <xsd:complexType>
-                    <xsd:sequence>
-                      <xsd:element name="source-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The field in the source descriptor's table.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                      <xsd:element name="target-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The field in the aggregate descriptor.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                    </xsd:sequence>
-                  </xsd:complexType>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relationship-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a relationship between two classes is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified class name of the target class of the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="private-owned" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the target objects are privately owned dependent objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-persist" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the create operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-merge" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the create operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the refresh operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-remove" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the remove operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the source class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-object-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="one-to-one-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="target-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the target class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-one-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="source-foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="target-foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-grouping-element" type="field" />
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of simple types relationship from the source instance to a set of simple data values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="data-read-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="reference-table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the reference table that stores the source primary key and the data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="direct-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the reference table that stores the data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="reference-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the reference table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="value-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="insert-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to insert a row into the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete a row from the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the rows from the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="session-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name session that defines the reference table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines how past versions of this attribute are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-map-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a map relationship from the source instance to a set of key values pairs of simple data values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element name="direct-key-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the reference table that sores the map key data value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="key-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the key data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="aggregate-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances where the target instances are strictly privately owned by the source object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="target-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the target class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="many-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a m-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="relation-table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the relation table that stores the source/target primary keys.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="source-relation-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key from the relational table to the source class' table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="target-relation-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key from the relational table to the target class' table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="insert-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to insert a row into the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete a row from the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the rows from the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines how past versions of this attribute are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="variable-one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance that may be of several types related through an interface.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-object-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="type-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>Specify the column to store the class type of the related object into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="foreign-key-to-query-key">
-            <xsd:annotation>
-              <xsd:documentation>The list of source/target column/query key references relating a foreign key in one table to the query keys defining a primary or unique key value in the other interface descriptor.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="query-key-reference">
-                  <xsd:annotation>
-                    <xsd:documentation>The reference of a source table foreign key and a target interface descriptor query key.</xsd:documentation>
-                  </xsd:annotation>
-                  <xsd:complexType>
-                    <xsd:sequence>
-                      <xsd:element name="source-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The foreign key field/column name in the source table.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                      <xsd:element name="target-query-key" type="xsd:string">
-                        <xsd:annotation>
-                          <xsd:documentation>The query key name of the target interface descriptor.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                    </xsd:sequence>
-                  </xsd:complexType>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="class-indicator-mappings" type="class-indicator-mappings">
-            <xsd:annotation>
-              <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a container/collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="collection-type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the fully qualified class name of the collection implementation class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="sorted-collection-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a sorted collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="comparator-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the comparitor, used to compare objects in sorting the collection.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="list-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a list collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="map-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a map container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="map-key-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the method to call on the target objects to get the key value for the map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-map-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct map container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="scrollable-cursor-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a scrollable cursor container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="cursored-stream-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a cursored stream container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="indirection-policy" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a deferred read indirection mechanism.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="value-holder-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of value holders to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="proxy-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of proxies to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transparent-collection-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of transparent collections to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="collection-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the collection interface to use, i.e. List, Set, Map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="map-key-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the method to call on the target objects to get the key value for the map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="container-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of a user defined container to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy">
-        <xsd:sequence>
-          <xsd:element name="container-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the container implementer to use.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="typesafe-enumeration-converter">
-    <xsd:annotation>
-      <xsd:documentation>Typesafe Enumeration conversion</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="type-conversion-converter">
-    <xsd:annotation>
-      <xsd:documentation>Specifies the data type and an object type of the attribute to convert between.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="object-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attribute type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="data-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attributes storage data type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="serialized-object-converter">
-    <xsd:annotation>
-      <xsd:documentation>Uses object serialization to convert between the object and data type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="data-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attributes storage data type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>Specifies a mapping of values from database values used in the field and object values used in the attribute.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="default-value" type="xsd:anySimpleType">
-            <xsd:annotation>
-              <xsd:documentation>An optional default value can be specified.  This value is used if a database type is not found in the type mapping.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="type-mappings">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the mapping of values.  Both the object and database values must be unique.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="type-mapping" type="type-mapping">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines the object and data value mapping.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="attribute-only-type-mappings">
-            <xsd:annotation>
-              <xsd:documentation>Specifies a mapping of additional values that map non-unique data values to a unique attribute value.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="type-mapping" type="type-mapping">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines the object and data value mapping.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="type-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Define an object and data value mapping.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="object-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the value to use in the object's attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="data-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the value to use in the database field.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="database-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query/interaction against a database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="true" name="maintain-cache" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should bypass the cache completely.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bind-all-parameters" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should use paramater binding for arguments, or print the arguments in-line.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="cache-statement" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the queries statement should be cached, this must be used with parameter binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="timeout" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies a timeout to cancel the query in if the request takes too long to complete.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="prepare" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should prepare and cache its generated SQL, or regenerate the SQL on each execution.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="call" type="criteria">
-            <xsd:annotation>
-              <xsd:documentation>For static calls the SQL or Stored Procedure call definition can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid join fetch options.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="inner-join" />
-      <xsd:enumeration value="outer-join" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="cascade-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid cascade policies.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="all" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="value-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading a single value.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading a collection of values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="data-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="data-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading raw data.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="cache-query-results" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should cache the query results to avoid future executions.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="max-rows" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the maximum number of rows to fetch, results will be trunctate on the database to this size.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="first-result" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies where to start the cursor in a result set returned from the database. Results prior to this number will not be built into objects</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-size" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifiess the number of rows to fetch from the database on each result set next operation.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="query-result-cache-policy" type="query-result-cache-policy">
-            <xsd:annotation>
-              <xsd:documentation>Specify how the query results should be cached.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="query-result-cache-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a query's results should be cached.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="invalidation-policy" type="cache-invalidation">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cache invalidation policy. By default there will be no cache invalidation policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="100" name="maximum-cached-results" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>This defines the number of query result sets that will be cached. The LRU query results will be discarded when the max size is reached.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="data-modify-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for manipulating data.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-modify-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for modifying an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="update-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for updating an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="insert-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for inserting an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="delete-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for deleting an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="does-exist-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for determining if an object exists.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="existence-check" type="existence-check">
-            <xsd:annotation>
-              <xsd:documentation>The existence check option.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="existence-check">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid existence check options.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="check-cache" />
-      <xsd:enumeration value="check-database" />
-      <xsd:enumeration value="assume-existence" />
-      <xsd:enumeration value="assume-non-existence" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="delete-all-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for deleting a criteria of objects.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-level-read-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for objects (as apposed to data).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full qualified name of the class of objects being queried.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should refresh any cached objects from the database.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="remote-refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should refresh any remotely cached objects from the server.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="cascade-policy" type="cascade-policy">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the queries settings (such as refresh, maintain-cache) should apply to the object's relationship queries.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="primary-key" name="cache-usage" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify how the query should interact with the cache.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="lock-mode" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should lock the resulting rows on the database.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="distinct-state" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should filter distinct results.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="in-memory-querying">
-            <xsd:annotation>
-              <xsd:documentation>The in memory querying policy.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element default="ignore-exceptions-return-conformed" name="policy" type="xsd:string">
-                  <xsd:annotation>
-                    <xsd:documentation>Specify how indirection or unconformable expressions should be treating with in-memory querying and conforming.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="use-default-fetch-group" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the default fetch group should be used for the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-group" type="fetch-group">
-            <xsd:annotation>
-              <xsd:documentation>Allow the query to partially fetch the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-group-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify a pre-defined named fetch group to allow the query to partially fetch the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="use-exclusive-connection" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the exclusive connection (VPD) should be used for the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="joined-attribute-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the attributes being joined.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for joining</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if objects resulting from the query are read-only, and will not be registered in the unit of work.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="outer-join-subclasses" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>For inheritance queries specify if all subclasses should be outer joined, instead of a query per subclass.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-all-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for a set of objects.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-level-read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="batch-read-attribute-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Specifies all attributes for batch reading.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for batch reading</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="order-by-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Sets the order expressions for the query.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for ordering</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for a single object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-level-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="report-query">
-    <xsd:annotation>
-      <xsd:documentation>Query for information about a set of objects instead of the objects themselves.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-all-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="return-choice" type="return-choice">
-            <xsd:annotation>
-              <xsd:documentation>Simplifies the result by only returning the first result, first value, or all attribute values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="retrieve-primary-keys" type="retrieve-primary-keys">
-            <xsd:annotation>
-              <xsd:documentation>Indicates wether the primary key values should also be retrieved for the reference class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="report-items">
-            <xsd:annotation>
-              <xsd:documentation>Items to be selected, these could be attributes or aggregate functions.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="item" type="report-item">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an item requested</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="group-by-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Sets GROUP BY expressions for the query.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for grouping</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="return-choice">
-    <xsd:annotation>
-      <xsd:documentation>Simplifies the result by only returning the first result, first value, or all attribute values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="return-single-result" />
-      <xsd:enumeration value="return-single-value" />
-      <xsd:enumeration value="return-single-attribute" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="retrieve-primary-keys">
-    <xsd:annotation>
-      <xsd:documentation>Indicates wether the primary key values should also be retrieved for the reference class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="full-primary-key" />
-      <xsd:enumeration value="first-primary-key" />
-      <xsd:enumeration value="no-primary-key" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="report-item">
-    <xsd:annotation>
-      <xsd:documentation>Represents an item requested in ReportQuery.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Name given for item, can be used to retieve value from result.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="attribute-expression" type="expression">
-        <xsd:annotation>
-          <xsd:documentation>Expression (partial) that describes the attribute wanted.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="expression" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query filter expression tree.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relation-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a relation expression that compares to expressions through operators such as equal, lessThan, etc..</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="left" type="expression" />
-          <xsd:element name="right" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="operator" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="logic-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a expression composed of two sub-expressions joined through an operator such as AND, OR.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="left" type="expression" />
-          <xsd:element name="right" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="operator" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="function-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a expression composed of a function applied to a list of sub-expressions.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of function arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument expression.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-        <xsd:attribute name="function" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="constant-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression value.  If the value is null the value tag can is absent.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="value" type="xsd:anySimpleType" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="query-key-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression query-key.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="base" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="name" type="xsd:string" />
-        <xsd:attribute name="any-of" type="xsd:boolean" />
-        <xsd:attribute name="outer-join" type="xsd:boolean" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="field-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression field.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="field" type="field" />
-          <xsd:element name="base" type="expression" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="parameter-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression parameter.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="parameter" type="field" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="base-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression builder/base.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="operator">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid operators.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-  <xsd:complexType name="sql-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines an SQL query language string.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="sql" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full SQL query string.  Arguments can be specified through #arg-name tokens in the string.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="ejbql-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EJB-QL query language string.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="ejbql" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The EJB-QL query string.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="stored-procedure-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure invocation definition.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="procedure-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the stored procedure.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="cursor-output-procedure" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Define the call to use a cursor output parameter to define the result set.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input and output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="procedure-argument">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure. The order of the arguments must match the procedure arguments if not named.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="stored-function-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored function invocation definition.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="stored-procedure-call">
-        <xsd:sequence>
-          <xsd:element minOccurs="1" name="stored-function-result" type="procedure-output-argument">
-            <xsd:annotation>
-              <xsd:documentation>The return value of the stored-function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="procedure-argument-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The stored procedure name of the argument. For indexed argument the name is not required.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="argument-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The query name of the argument. This is the name of the argument as define in the query.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the argument class type.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-sqltype" type="xsd:int">
-        <xsd:annotation>
-          <xsd:documentation>The JDBC int type of the argument, as defined in java.jdbc.Types</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-sqltype-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the type if procedure-argument-sqltype is STRUCT or ARRAY</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="argument-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>The procedure argument value maybe be specified if not using a query argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-output-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call output argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="procedure-argument" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-inoutput-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call output argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="procedure-argument">
-        <xsd:sequence>
-          <xsd:element name="output-argument-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The query name of the argument. This is the name of the argument as define in the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-stored-procedure-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure invocation definition whose arguments contain at least one Oracle PL/SQL type that has no JDBC representation (e.g. BOOLEAN, PLS_INTEGER, PL/SQL record).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="procedure-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the stored procedure.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input and output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="plsql-procedure-argument-type">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-procedure-argument-type" abstract="true">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string" />
-      <xsd:element minOccurs="0" name="index" type="xsd:string" />
-      <xsd:element minOccurs="0" name="direction" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="jdbc-type">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:choice>
-            <xsd:element minOccurs="0" name="length" type="xsd:string" />
-            <xsd:sequence>
-              <xsd:element name="precision" type="xsd:string" />
-              <xsd:element name="scale" type="xsd:string" />
-            </xsd:sequence>
-          </xsd:choice>
-        </xsd:sequence>
-        <xsd:attribute name="type-name" type="xsd:string" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-type">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:attribute name="type-name" type="xsd:string" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-record">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:element name="type-name" type="xsd:string" />
-          <xsd:element minOccurs="0" name="compatible-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="java-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="fields">
-            <xsd:annotation>
-              <xsd:documentation>The list of fields.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="plsql-procedure-argument-type">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-collection">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:element name="type-name" type="xsd:string" />
-          <xsd:element minOccurs="0" name="compatible-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="java-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="nested-type" type="plsql-procedure-argument-type" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to an EIS record data structure.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element name="datatype" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the record structure name the descriptor maps to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="namespace-resolver" type="namespace-resolver">
-            <xsd:annotation>
-              <xsd:documentation>The namespace resolver for the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="mapped-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing MappedRecord.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the input result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing XML records.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-record-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name to use for the input record, if required by the adapter.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-root-element-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the input result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="indexed-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing Indexed records.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="interaction-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines an interaction argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="argument-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>The procedure argument value maybe be specified if not using a query argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The interaction name of the argument. For indexed arguments the name is not required.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="argument-name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The query name of the argumen. This is the name of the argument as define in the query, or the descriptor field name.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="object-relational-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to a Structure type in an object-relational database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relational-class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the object structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="field-order">
-            <xsd:annotation>
-              <xsd:documentation>The ordered list of the field defined in the structure.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="nested-table-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m/m-m relationship that makes use of the object-relational nested-table type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the source table that stores the nested-table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the nested-table type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="array-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of primitive/simple type values using the object-relational array type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-array-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of object-types using the object-relational array type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping">
-        <xsd:sequence>
-          <xsd:element name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="structure-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a structure of object-types using the object-relational structure type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a reference to another object-type using the object-relational reference type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field in the source type that stores the reference.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-relational-field">
-    <xsd:annotation>
-      <xsd:documentation>Defines an ObjectRelationalDatabaseField</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="nested-type-field" type="field" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-xml-type-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct mapping to an Oracle XDB XML Type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="read-whole-document" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field" />
-          <xsd:element minOccurs="0" name="value-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="value-converter-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify a user defined converter class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-collection-reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-M relationship from the source XML element to the target XML element based on a key.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-object-reference-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="containerpolicy" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="uses-single-node" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-object-reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source XML element to the target XML element based on one or more keys.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="aggregate-object-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="source-to-target-key-field-association" type="foreign-key" />
-          <xsd:element minOccurs="0" name="source-to-target-key-fields">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-cdata" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string" />
-          <xsd:element name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping">
-        <xsd:sequence>
-	  <xsd:element name="container-attribute" minOccurs="0"/>
-	  <xsd:element name="container-get-method" minOccurs="0"/>
-	  <xsd:element name="container-set-method" minOccurs="0"/>
-	</xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string" />
-          <xsd:element name="field" type="field" />
-	  <xsd:element name="container-attribute" minOccurs="0"/>
-	  <xsd:element name="container-get-method" minOccurs="0"/>
-	  <xsd:element name="container-set-method" minOccurs="0"/>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="null-policy" type="abstract-null-policy" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to an XML element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="default-root-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the element the descriptor maps to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="default-root-element-field" type="node">
-            <xsd:annotation>
-              <xsd:documentation>The XMLField representing the default root element of the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="should-preserve-document" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if nodes should be cached to preserve unmapped data</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="namespace-resolver" type="namespace-resolver">
-            <xsd:annotation>
-              <xsd:documentation>The namespace resolver for the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="schema" type="schema-reference">
-            <xsd:annotation>
-              <xsd:documentation>The location of the XML Schema.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to an xs:any declaration or xs:anyType element</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy" />
-          <xsd:element minOccurs="0" default="false" name="use-xml-root" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="keep-as-element-policy" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-attribute-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to an xs:any declaration or xs:anyType element</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a single object to an xs:any declaration</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" default="false" name="use-xml-root" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-fragment-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a single Node to a fragment of an XML document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-direct-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-fragment-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection of Nodes to a fragment of an XML document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-binary-data-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a binary object to base64 binary</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-swa-ref" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="mime-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="should-inline-data" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to a choice structure in an xml document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="container-policy" type="container-policy" />
-          <xsd:element maxOccurs="unbounded" name="field-to-class-association" type="xml-choice-field-to-class-association" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to a choice structure in an xml document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element maxOccurs="unbounded" name="field-to-class-association" type="xml-choice-field-to-class-association" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-field-to-class-association">
-    <xsd:sequence>
-      <xsd:element name="xml-field" type="node" />
-      <xsd:element name="class-name" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="xml-conversion-pair">
-    <xsd:sequence>
-      <xsd:element name="qname" type="xsd:string" />
-      <xsd:element name="class-name" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="node">
-    <xsd:annotation>
-      <xsd:documentation>Defines an XPath expression to an element or attribute in an XML document.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="position" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>The position of the node in the parent type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="typed-text-field" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If this is a typed text field.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="single-node" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if each item in the collection is in the same node instead of having one node per item in the collection</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="schema-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The schema type of the element.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="xml-to-java-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="java-to-xml-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" name="leaf-element-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Indicates the elements type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="union-node">
-    <xsd:annotation>
-      <xsd:documentation>Use to represent nodes which are mapped to unions</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="typed-text-field" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If this is a typed text field.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="single-node" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if each item in the collection is in the same node instead of having one node per item in the collection</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="schema-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The schema type of the element.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="xml-to-java-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="java-to-xml-conversion-pair" type="xml-conversion-pair" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="namespace-resolver">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="1" name="namespaces">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="namespace" type="namespace" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="1" name="default-namespace-uri" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="namespace">
-    <xsd:sequence>
-      <xsd:element name="prefix" type="xsd:string" />
-      <xsd:element name="namespace-uri" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="schema-reference">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="resource" type="xsd:string" />
-      <xsd:element name="schema-context" type="xsd:string" />
-      <xsd:element name="node-type" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="schema-class-path-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="schema-file-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="schema-url-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="java-character">
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-  <xsd:simpleType name="java-timestamp">
-    <xsd:restriction base="xsd:dateTime" />
-  </xsd:simpleType>
-  <xsd:simpleType name="java-util-date">
-    <xsd:restriction base="xsd:dateTime" />
-  </xsd:simpleType>
-  <xsd:complexType name="cmp-policy">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="pessimistic-locking" type="pessimistic-locking">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cmp bean-level pessimistic locking policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="defer-until-commit" type="defer-until-commit">
-        <xsd:annotation>
-          <xsd:documentation>Defines modification deferral level for non-deferred writes.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="non-deferred-create-time" type="non-deferred-create-time">
-        <xsd:annotation>
-          <xsd:documentation>Defines point at which insert will be issued to Database.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="pessimistic-locking">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="wait" name="locking-mode" type="locking-mode" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="defer-until-commit">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="all-modifications" />
-      <xsd:enumeration value="update-modifications" />
-      <xsd:enumeration value="none" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="non-deferred-create-time">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="after-ejbcreate" />
-      <xsd:enumeration value="after-ejbpostcreate" />
-      <xsd:enumeration value="undefined" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="locking-mode">
-    <xsd:annotation>
-      <xsd:documentation>Holds the pessimistic locking mode.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="wait" />
-      <xsd:enumeration value="no-wait" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="sequence">
-    <xsd:annotation>
-      <xsd:documentation>Sequence object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="" name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Sequence name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="50" name="preallocation-size" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Sequence preallocation size.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="default-sequence">
-    <xsd:annotation>
-      <xsd:documentation>References default sequence object, overriding its name and (optionally) preallocation size.</xsd:documentation>
-      <xsd:documentation>To use preallocation size of default sequence object, set preallocation size to 0</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="native-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Database sequence mechanism used.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="table-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Table sequence</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_NAME" name="name-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence name field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_COUNT" name="counter-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="unary-table-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Unary table sequence - sequence name is a table name, table has a single field and a single row</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="counter-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xmlfile-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Xmlfile sequence.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Xml sequence</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="root-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_NAME" name="name-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence name field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_COUNT" name="counter-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="fetch-groups">
-    <xsd:annotation>
-      <xsd:documentation>Contains all pre-defined fetch groups.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="default-fetch-group" type="fetch-group" />
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="fetch-group" type="fetch-group" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="fetch-group">
-    <xsd:annotation>
-      <xsd:documentation>Contains the fetch group attributes info.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="name" type="xsd:string" />
-      <xsd:element name="fetch-group-attributes">
-        <xsd:complexType>
-          <xsd:annotation>
-            <xsd:documentation>Contains a fetch group's attribute list.</xsd:documentation>
-          </xsd:annotation>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="fetch-group-attribute" type="xsd:string" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Describes the change tracking policy for this descriptor.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="deferred-detection-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses backup clone to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-level-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses "mark dirty" to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="attribute-level-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses a ChangeTracker firing PropertyChangeEvent's to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-null-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the Null Policy in use for this relationship currently a choice of [NullPolicy and IsSetNullPolicy].</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="false" name="xsi-nil-represents-null" type="xsd:boolean" />
-      <xsd:element minOccurs="0" default="false" name="empty-node-represents-null" type="xsd:boolean" />
-      <xsd:element minOccurs="0" name="null-representation-for-xml" type="marshal-null-representation" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="null-policy">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-null-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="true" name="is-set-performed-for-absent-node" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="is-set-null-policy">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-null-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-set-method-name" type="xsd:string" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="is-set-parameter-type" type="xsd:string" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="is-set-parameter" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="marshal-null-representation">
-    <xsd:annotation>
-      <xsd:documentation>Write null, no tag(default) or an empty tag.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="XSI_NIL" />
-      <xsd:enumeration value="ABSENT_NODE" />
-      <xsd:enumeration value="EMPTY_NODE" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="field">
-    <xsd:annotation>
-      <xsd:documentation>Defines a generic field concept, such as a database column.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the field.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>Defines a column in a relational database table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:attribute name="table" type="xsd:string">
-          <xsd:annotation>
-            <xsd:documentation>The name of the column's table. This table must be listed in the class' tables. If not specified the first table of the class will be used.</xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="foreign-key">
-    <xsd:annotation>
-      <xsd:documentation>The list of source/target field/column references relating a foreign key in one table to the primary or unique key in another table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" name="field-reference">
-        <xsd:annotation>
-          <xsd:documentation>The reference of a source table foreign key and a target table primary key.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="source-field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The foreign key field/column name in the source table.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="target-field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The primary or unique key field/column name in the target table.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query specification for querying instances of the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The selection criteria of the query.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="arguments">
-        <xsd:annotation>
-          <xsd:documentation>The list of query arguments. The order of the argument must match the order of the argument value passed to the query.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="query-argument">
-              <xsd:annotation>
-                <xsd:documentation>The query argument.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the query.  This name can be used to reference and execute the query.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="criteria">
-    <xsd:annotation>
-      <xsd:documentation>Defines the filtering clause of a query.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="query-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified class type name of the argument may be provided.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Optional constant value for the argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the query argument.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>A user defined property.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value" type="xsd:anyType" />
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" />
-  </xsd:complexType>
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>The list of tables that the class is persisted to.  This is typically a single table but can be multiple, or empty for inheritance or aggregated classes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the table.  The name can be fully qualified with the schema, tablespace or link.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="value-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-        Specifies how the data value should be converted to the
-        object value.
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <xsd:complexType name="document-preservation-policy">
-  	<xsd:sequence>
-  		<xsd:element name="node-ordering-policy"
-  			type="node-ordering-policy" maxOccurs="1" minOccurs="0">
-  		</xsd:element>
-  	</xsd:sequence>
-  </xsd:complexType>
-
-    <xsd:complexType name="node-ordering-policy"></xsd:complexType>
-
-
-    <xsd:complexType
-    	name="descriptor-level-document-preservation-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="no-document-preservation-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="xml-binder-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="append-new-elements-ordering-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="ignore-new-elements-ordering-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="relative-position-ordering-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-</xsd:schema>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_1.2.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_1.2.xsd
deleted file mode 100644
index 22a5696..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_1.2.xsd
+++ /dev/null
@@ -1,4253 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
- which accompanies this distribution.
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     Oracle - initial API and implementation from Oracle TopLink
-*****************************************************************************/
--->
-<!-- Eclipse Persistence Service Project :: Map Schema file for ORM/OXM/EIS -->
-<xsd:schema
-  targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns="http://www.eclipse.org/eclipselink/xsds/persistence"
-  elementFormDefault="qualified"
-  attributeFormDefault="unqualified"
-  version="1.2"
-  >
-  <xsd:element name="object-persistence" type="object-persistence" />
-  <xsd:complexType name="object-persistence">
-    <xsd:annotation>
-      <xsd:documentation>An object-persistence mapping module, a set of class-mapping-descriptors.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>A name for the model being mapped.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-mapping-descriptors">
-        <xsd:annotation>
-          <xsd:documentation>The list of class mapping descriptors.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="class-mapping-descriptor" type="class-mapping-descriptor">
-              <xsd:annotation>
-                <xsd:documentation>Information of how a class is persisted to its data-store.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="login" type="datasource-login">
-        <xsd:annotation>
-          <xsd:documentation>The datasource connection and configuration information.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="default-temporal-mutable" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines the default for how Date and Calendar types are used with change tracking.</xsd:documentation>
-          <xsd:documentation>By default they are assumed not to be changed directly (only replaced).</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="queries">
-        <xsd:annotation>
-          <xsd:documentation>A list of queries to be stored on the session.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="query" type="database-query">
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute default="Eclipse Persistence Services - 1.1 (Build YYMMDD)" name="version" type="xsd:string" />
-  </xsd:complexType>
-  <xsd:complexType name="datasource-login">
-    <xsd:annotation>
-      <xsd:documentation>The datasource connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="platform-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the platform class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="user-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The datasource user-name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="password" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The datasource password, this is stored in encrypted form.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="external-connection-pooling" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the connections are managed by the datasource driver, and a new connection should be acquire per call.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="external-transaction-controller" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the transaction are managed by a transaction manager, and should not be managed by TopLink.</xsd:documentation>
-          <xsd:documentation>This can also be used if the datasource does not support transactions.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="sequencing">
-        <xsd:annotation>
-          <xsd:documentation>Sequencing information.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" name="default-sequence" type="sequence">
-              <xsd:annotation>
-                <xsd:documentation>Default sequence. The name is optional. If no name provided an empty string will be used as a name.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="sequences">
-              <xsd:annotation>
-                <xsd:documentation>Non default sequences. Make sure each sequence has unique name.</xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:sequence>
-                  <xsd:element minOccurs="0" maxOccurs="unbounded" name="sequence" type="sequence" />
-                </xsd:sequence>
-              </xsd:complexType>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="database-login">
-    <xsd:annotation>
-      <xsd:documentation>The JDBC driver and database connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="driver-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the JDBC driver class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="connection-url" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full JDBC driver connection URL.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="bind-all-parameters" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if parameter binding should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cache-all-statements" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if statement caching should be used.  This should be used with parameter binding, this cannot be used with external connection pooling.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="byte-array-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if byte array data-types should use binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="string-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if string data-types should use binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="256" name="string-binding-size" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Configure the threshold string size for usage of string binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="streams-for-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if large byte array and string data-types should be bound as streams.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="force-field-names-to-upper-case" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure to force all field names to upper-case.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="optimize-data-conversion" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure data optimization.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="trim-strings" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if string trailing blanks should be trimmed.  This is normally required for CHAR data-types.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-writing" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if batch writing should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="jdbc-batch-writing" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If using batch writing, configure if the JDBC drivers batch writing should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-login">
-    <xsd:annotation>
-      <xsd:documentation>The JCA driver and EIS connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="connection-spec-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the TopLink platform specific connection spec class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="connection-factory-url" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The JNDI url for the managed JCA adapter's connection factory.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-login">
-    <xsd:annotation>
-      <xsd:documentation>The connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-        	<xsd:element minOccurs="0" default="true"
-        		name="equal-namespace-resolvers" type="xsd:boolean" />
-        	<xsd:element name="document-preservation-policy"
-        		type="document-preservation-policy" maxOccurs="1"
-        		minOccurs="0">
-        	</xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Information of how a class is persisted to its data-store.</xsd:documentation>
-      <xsd:documentation>This is an abstract definition to allow flexibility in the types of classes and datastores persisted, i.e. interfaces, abstract classes, aggregates, non-relational persistence.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the implementation class being persisted.  The class name must be full qualified with its package.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.implementation.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="alias" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Optionally an alias name can be given for the class.  The alias is a string that can be used to refer to the class in place of its implementation name, such as in querying.</xsd:documentation>
-          <xsd:documentation>Example: <alias xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">Employee</alias></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="primary-key">
-        <xsd:annotation>
-          <xsd:documentation>The list of fields/columns that make up the primary key or unique identifier of the class.</xsd:documentation>
-          <xsd:documentation>This is used for caching, relationships, and for database operations.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The primary key field.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the class is read-only.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="properties">
-        <xsd:annotation>
-          <xsd:documentation>Allow for user defined properties to be defined.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="property" type="property">
-              <xsd:annotation>
-                <xsd:documentation>A user defined property.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="inheritance" type="inheritance-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class is related in inheritance and how this inheritance is persisted.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="events" type="event-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the persistent events for this class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="querying" type="query-policy">
-        <xsd:annotation>
-          <xsd:documentation>The list of defined queries for the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="attribute-mappings">
-        <xsd:annotation>
-          <xsd:documentation>The list of mappings that define how the class' attributes are persisted.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="attribute-mapping" type="attribute-mapping">
-              <xsd:annotation>
-                <xsd:documentation>Defines how a attribute is persisted. The attribute mapping definition is extendable to allow for different types of mappings.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="descriptor-type" type="class-descriptor-type">
-        <xsd:annotation>
-          <xsd:documentation>Defines the descriptor type, such as aggregate or independent.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="interfaces" type="interface-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the interfaces that this class implements..</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="locking" type="locking-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the locking behavior for the class.  Such as an optimistic locking policy based on version, timestamp or change set of columns.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="sequencing" type="sequencing-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how a generated unique id should be assigned to the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="caching" type="caching-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class' instances should be cached.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="remote-caching" type="caching-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class' instances should be cached on remote clients.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how past versions of objects are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="returning-policy" type="returning-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines retuning policy.  By default there will be no returning policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="amendment" type="amendment">
-        <xsd:annotation>
-          <xsd:documentation>Allow for the descriptor to be amended or customized through a class API after loading.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="instantiation" type="instantiation-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the object instantiation behavoir to be customized</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="copying" type="copy-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the object cloning/copying behavoir to be customized.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="query-keys">
-        <xsd:annotation>
-          <xsd:documentation>A list of query keys or aliases for database information.  These can be used in queries instead of the database column names.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="query-key" type="query-key">
-              <xsd:annotation>
-                <xsd:documentation>Defines an alias for querying database information.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="cmp-policy" type="cmp-policy">
-        <xsd:annotation>
-          <xsd:documentation>Place holder of CMP information specific.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="fetch-groups" type="fetch-groups">
-        <xsd:annotation>
-          <xsd:documentation>Contains all pre-defined fetch groups at the descriptor level</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="1" name="change-policy" type="change-policy">
-        <xsd:annotation>
-          <xsd:documentation>Contains the Change Policy for this descriptor</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute fixed="10" name="schema-major-version" type="xsd:integer" />
-    <xsd:attribute fixed="0" name="schema-minor-version" type="xsd:integer" />
-  </xsd:complexType>
-  <xsd:simpleType name="class-descriptor-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the class descriptor type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="independent" />
-      <xsd:enumeration value="aggregate" />
-      <xsd:enumeration value="aggregate-collection" />
-      <xsd:enumeration value="composite" />
-      <xsd:enumeration value="composite" />
-      <xsd:enumeration value="interface" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="interface-policy">
-    <xsd:annotation>
-      <xsd:documentation>Specify the interfaces that a class descriptor implements, or the implemention class for an interface descriptor.</xsd:documentation>
-      <xsd:documentation>Optionally a set of public interfaces for the class can be specified.  This allows the interface to be used to refer to the implementation class.</xsd:documentation>
-      <xsd:documentation>If two classes implement the same interface, an interface descriptor should be defined for the interface.</xsd:documentation>
-      <xsd:documentation>This can also be used to define inheritance between interface descriptors.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="interface" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified interface class name.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.api.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="implementor-descriptor" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified class name of the implementation class for which this interface is the public interface.</xsd:documentation>
-          <xsd:documentation>This can be used if the interface has only a single implementor.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.impl.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object cloning/copying behavoir to be customized.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Creates a copying through creating a new instance to copy into.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="copy-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object cloning/copying behavoir to be customized through a clone method.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="copy-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the clone method on the object, i.e. 'clone'</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="instantiation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object instantiation behavoir to be customized.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the method on the factory to instantiate the object instance.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="factory-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified factory class name.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="factory-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the method to instantiate the factory class.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="amendment">
-    <xsd:annotation>
-      <xsd:documentation>Specifies a class and static method to be called to allow for the descriptor to be amended or customized through a class API after loading.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="amendment-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation> The fully qualified name of the amendment class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="amendment-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the static amendment method on the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="relational-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to a relational database table(s).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="tables">
-            <xsd:annotation>
-              <xsd:documentation>The list of the tables the class is persisted to.  Typically a class is persisted to a single table, but multiple tables can be defined.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="table" type="table">
-                  <xsd:annotation>
-                    <xsd:documentation>The list of tables that the class is persisted to.  This is typically a single table but can be multiple, or empty for inheritance or aggregated classes.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-keys-for-multiple-table" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>Allow the foreign key field references to be define for multiple table descriptors.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="multiple-table-join-criteria" type="criteria">
-            <xsd:annotation>
-              <xsd:documentation>For complex multiple table join conditions an expression may be provided instead of the table foreign key information.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="version-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on a numeric version field/column that tracks changes and the version to an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy">
-        <xsd:sequence>
-          <xsd:element name="version-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The name and optionally the table of the column that the attribute is stored into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="store-version-in-cache" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the version value should be stored in the cache, or if it will be stored in the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="timestamp-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on timestamp version column that tracks changes and the version to an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="version-locking-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="server-time" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the timestamp should be obtained locally or from the database server.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="all-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of all fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="changed-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of only the changed fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="selected-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of a specified set of fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy">
-        <xsd:sequence>
-          <xsd:element name="fields">
-            <xsd:annotation>
-              <xsd:documentation>Specify the set of fields to compare on update and delete.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="sequencing-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a database generated unique id should be assigned to the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="sequence-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Specify the name of the sequence generator.  This could be the name of a sequence object, or a row value in a sequence table.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="sequence-field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>Specify the field/column that the generated sequence id is assigned to.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="cache-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid caching types.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="full" />
-      <xsd:enumeration value="cache" />
-      <xsd:enumeration value="weak-reference" />
-      <xsd:enumeration value="soft-reference" />
-      <xsd:enumeration value="soft-cache-weak-reference" />
-      <xsd:enumeration value="hard-cache-weak-reference" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="caching-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how the class' instances should be cached and how object identity should be maintained.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="soft-cache-weak-reference" name="cache-type" type="cache-type">
-        <xsd:annotation>
-          <xsd:documentation>Specify the type of caching, such as LRU, weak reference or none.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="100" name="cache-size" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Specify the initial or maximum size of the cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="always-refresh" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to always refresh cached objects on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="only-refresh-cache-if-newer-version" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to refresh if the cached object is an older version.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="disable-cache-hits" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Disable obtaining cache hits on primary key queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="always-conform" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to always conform queries within a transaction.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="isolated" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify if objects of this type should be isolated from the shared cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="isolate-new-data-after-transaction" name="unitofwork-isolation-level" type="unitofwork-isolation-level">
-        <xsd:annotation>
-          <xsd:documentation>Specify how the unit of work should be isolated to the session cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="cache-invalidation-policy" type="cache-invalidation">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cache invalidation policy.  By default there will be no cache invalidation policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="change-set" name="cache-sync-type" type="cache-sync-type">
-        <xsd:annotation>
-          <xsd:documentation>The type of cache synchronization to be used with this descripor.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="cache-invalidation" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Abstract superclass for cache invalidation policies.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="false" name="update-read-time-on-update" type="xsd:boolean" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="no-expiry-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation policy where objects in the cache do not expire.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="time-to-live-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation policy where objects live a specific number of milliseconds after they are read.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation">
-        <xsd:sequence>
-          <xsd:element name="time-to-live" type="xsd:long" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="daily-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation Policy where objects expire at a specific time every day</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation">
-        <xsd:sequence>
-          <xsd:element name="expiry-time" type="xsd:dateTime" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="history-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how past versions of objects are to be persisted to the data-store.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="true" name="handle-writes" type="xsd:boolean" />
-      <xsd:element minOccurs="0" default="false" name="use-database-time" type="xsd:boolean" />
-      <xsd:element minOccurs="0" name="history-tables">
-        <xsd:annotation>
-          <xsd:documentation>Defines the names of the mirroring historical tables.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="history-table" type="history-table" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="start-fields">
-        <xsd:annotation>
-          <xsd:documentation>Defines the start fields for each historical table.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="start-field" type="field" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="end-fields">
-        <xsd:annotation>
-          <xsd:documentation>Defines the end fields for each historical table.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="end-field" type="field" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="history-table">
-    <xsd:annotation>
-      <xsd:documentation>Each entry is a source (descriptor) to history table name association.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="" name="source" type="xsd:string" />
-      <xsd:element minOccurs="1" name="history" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="returning-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines retuning policy.  By default there will be no returning policy.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="1" name="returning-field-infos">
-        <xsd:annotation>
-          <xsd:documentation>Lists the fields to be returned together with the flags defining returning options</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="returning-field-info" type="returning-field-info" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="returning-field-info">
-    <xsd:annotation>
-      <xsd:documentation>Field to be returned together with type and the flags defining returning options. At least one of insert, update should be true.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="reference-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the target referenced class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>The field to be returned.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="insert" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Indicates whether the field should be retuned after Insert.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="insert-mode-return-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>If insert==true, indicates whether the field should not be inserted (true). If insert==false - ignored.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="update" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Indicates whether the field should be retuned after Insert.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="inheritance-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how the class is related in inheritance and how this inheritance is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="parent-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the parent/superclass of the class being persisted.  The class name must be full qualified   with its package.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="true" name="read-subclasses-on-queries" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Define if subclasses of the class should be returned on queries, or only the exact class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="all-subclasses-view" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Optionally specify the name of a view that joins all of the subclass' tables.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="use-class-name-as-indicator" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specifies if the fully qualified class name should be used as the class type indicator.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-extraction-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of a method on the class that takes the class' row as argument a computed that class type to be used to instantiate from the row.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-indicator-field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>The name of the type field/column that the class type is stored into.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-indicator-mappings" type="class-indicator-mappings">
-        <xsd:annotation>
-          <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-extractor" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of a class that implements a class extractor interface.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="only-instances-criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The criteria that filters out all sibling and subclass instances on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="all-subclasses-criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The criteria that filters out sibling instances on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="outer-join-subclasses" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>For inheritance queries specify if all subclasses should be outer joined, instead of a query per subclass.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="qname-inheritance-policy">
-    <xsd:annotation>
-      <xsd:documentation>Extends inheritance policy. Allows for prefixed names to be resolved at runtime to find the approriate class</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="inheritance-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="class-indicator-mappings">
-    <xsd:annotation>
-      <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="class-indicator-mapping">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class" type="xsd:string">
-              <xsd:annotation>
-                <xsd:documentation>The fully qualified name of the class the type maps to.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="class-indicator" type="xsd:anySimpleType">
-              <xsd:annotation>
-                <xsd:documentation>The field value used to define the class type.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="event-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the persistent events for this class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="event-listeners">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="event-listener" type="xsd:string">
-              <xsd:annotation>
-                <xsd:documentation>The fully qualified name of an event listener class that implements the descriptor event listener interface.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-build-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after building the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-write-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before writing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-write-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after writing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-delete-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before deleting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-delete-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after deleting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="about-to-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="about-to-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-clone-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after cloning the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-merge-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after merging the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-refresh-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after refreshing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="query-policy">
-    <xsd:annotation>
-      <xsd:documentation>The list of defined queries and query properties for the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="queries">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="query" type="query">
-              <xsd:annotation>
-                <xsd:documentation>A query definition for the class' instances.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="timeout" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Specifies a timeout to apply to all queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="check-cache" name="existence" type="existence-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the behavoir used to determine if an insert or update should occur for an object to be customized.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="insert-query" type="insert-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom insert query.  This overide the default insert behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="update-query" type="update-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom update query.  This overide the default update behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="delete-query" type="delete-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom delete query.  This overide the default delete behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="does-exist-query" type="does-exist-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom does exist query.  This overide the default delete behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="read-object-query" type="read-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom read object query.  This overide the default read behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="read-all-query" type="read-all-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom read all query.  This overide the default read all behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="existence-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid existence policies for determining if an insert or update should occur for an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="check-cache" />
-      <xsd:enumeration value="check-database" />
-      <xsd:enumeration value="assume-existence" />
-      <xsd:enumeration value="assume-non-existence" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for querying database information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The query-key alias name.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:simpleType name="cache-sync-type">
-    <xsd:annotation>
-      <xsd:documentation>The type of cache synchronization to use with a descriptor.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="invalidation" />
-      <xsd:enumeration value="no-changes" />
-      <xsd:enumeration value="change-set-with-new-objects" />
-      <xsd:enumeration value="change-set" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="unitofwork-isolation-level">
-    <xsd:annotation>
-      <xsd:documentation>Specify how the unit of work isolated from the session cache.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="use-session-cache-after-transaction" />
-      <xsd:enumeration value="isolate-new-data-after-transaction" />
-      <xsd:enumeration value="isolate-cache-after-transaction" />
-      <xsd:enumeration value="isolate-cache-always" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="direct-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a database column.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query-key">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column being aliased.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relationship-query-key" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a join to another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query-key">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the target referenced class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:choice>
-            <xsd:element name="foreign-key" type="foreign-key">
-              <xsd:annotation>
-                <xsd:documentation>The foreign key join condition between the source and target class' tables.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="criteria" type="criteria">
-              <xsd:annotation>
-                <xsd:documentation>The join criteria between the source and target class' tables.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-one-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a 1-1 join to another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-query-key" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-many-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a 1-m join from another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="relationship-query-key" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The name and optionally the table of the field/column that the attribute is stored into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="null-value" type="xsd:anySimpleType" minOccurs="0">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify a value that null data values should be converted to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="converter" type="value-converter" minOccurs="0">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="attribute-classification" type="xsd:string" minOccurs="0"/>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="attribute-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a attribute is persisted. The attribute mapping definition is extendable to allow for different types of mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="attribute-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the attribute.  This is the implementation class attribute name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify if the attribute is read-only.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="get-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the get method for the attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="set-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the set method for the attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="properties">
-        <xsd:annotation>
-          <xsd:documentation>Allow for user defined properties to be defined.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="property" type="property">
-              <xsd:annotation>
-                <xsd:documentation>A user defined property.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a simple attribute is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="abstract-direct-mapping">
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="abstract-direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-cdata" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="null-policy" type="abstract-null-policy" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-direct-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="field-transformation" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a field transformation for a transformation mapping</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field" type="field" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="method-based-field-transformation">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field-transformation">
-        <xsd:sequence>
-          <xsd:element name="method" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transformer-based-field-transformation">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field-transformation">
-        <xsd:sequence>
-          <xsd:element name="transformer-class" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a transformation mapping that uses Java code to transform between the data and object values.</xsd:documentation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="attribute-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the attribute transformation defined in the domain class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="attribute-transformer" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The class name of the attribute transformer. Used in place of attribute-transformation.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="mutable" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy" />
-          <xsd:element minOccurs="0" name="field-transformations">
-            <xsd:annotation>
-              <xsd:documentation>The field transformations.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field-transformation" type="field-transformation" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="aggregate-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a relationship where the target object is strictly privately owned by the source object and stores within the source objects row</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified class name of the target class of the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="allow-null" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if a row of all nulls should be interpreted as null.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="field-translations">
-            <xsd:annotation>
-              <xsd:documentation>Allow for the mapping to use different field names than the descriptor.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field-translation">
-                  <xsd:complexType>
-                    <xsd:sequence>
-                      <xsd:element name="source-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The field in the source descriptor's table.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                      <xsd:element name="target-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The field in the aggregate descriptor.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                    </xsd:sequence>
-                  </xsd:complexType>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relationship-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a relationship between two classes is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified class name of the target class of the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="private-owned" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the target objects are privately owned dependent objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-persist" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the create operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-merge" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the create operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the refresh operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-remove" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the remove operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the source class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-object-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="one-to-one-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="target-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the target class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-one-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="source-foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="target-foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-grouping-element" type="field" />
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of simple types relationship from the source instance to a set of simple data values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="data-read-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="reference-table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the reference table that stores the source primary key and the data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="direct-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the reference table that stores the data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="reference-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the reference table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="value-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="insert-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to insert a row into the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete a row from the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the rows from the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="session-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name session that defines the reference table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines how past versions of this attribute are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-map-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a map relationship from the source instance to a set of key values pairs of simple data values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element name="direct-key-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the reference table that sores the map key data value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="key-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the key data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="aggregate-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances where the target instances are strictly privately owned by the source object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="target-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the target class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="many-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a m-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="relation-table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the relation table that stores the source/target primary keys.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="source-relation-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key from the relational table to the source class' table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="target-relation-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key from the relational table to the target class' table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="insert-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to insert a row into the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete a row from the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the rows from the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines how past versions of this attribute are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="variable-one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance that may be of several types related through an interface.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-object-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="type-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>Specify the column to store the class type of the related object into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="foreign-key-to-query-key">
-            <xsd:annotation>
-              <xsd:documentation>The list of source/target column/query key references relating a foreign key in one table to the query keys defining a primary or unique key value in the other interface descriptor.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="query-key-reference">
-                  <xsd:annotation>
-                    <xsd:documentation>The reference of a source table foreign key and a target interface descriptor query key.</xsd:documentation>
-                  </xsd:annotation>
-                  <xsd:complexType>
-                    <xsd:sequence>
-                      <xsd:element name="source-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The foreign key field/column name in the source table.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                      <xsd:element name="target-query-key" type="xsd:string">
-                        <xsd:annotation>
-                          <xsd:documentation>The query key name of the target interface descriptor.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                    </xsd:sequence>
-                  </xsd:complexType>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="class-indicator-mappings" type="class-indicator-mappings">
-            <xsd:annotation>
-              <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a container/collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="collection-type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the fully qualified class name of the collection implementation class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="sorted-collection-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a sorted collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="comparator-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the comparitor, used to compare objects in sorting the collection.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="list-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a list collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="map-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a map container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="map-key-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the method to call on the target objects to get the key value for the map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-map-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct map container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="scrollable-cursor-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a scrollable cursor container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="cursored-stream-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a cursored stream container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="indirection-policy" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a deferred read indirection mechanism.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="value-holder-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of value holders to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="proxy-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of proxies to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transparent-collection-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of transparent collections to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="collection-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the collection interface to use, i.e. List, Set, Map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="map-key-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the method to call on the target objects to get the key value for the map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="container-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of a user defined container to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy">
-        <xsd:sequence>
-          <xsd:element name="container-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the container implementer to use.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-list-converter">
-    <xsd:annotation>
-      <xsd:documentation>List converter</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="object-class-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the list's element type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension> 
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="typesafe-enumeration-converter">
-    <xsd:annotation>
-      <xsd:documentation>Typesafe Enumeration conversion</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="type-conversion-converter">
-    <xsd:annotation>
-      <xsd:documentation>Specifies the data type and an object type of the attribute to convert between.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="object-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attribute type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="data-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attributes storage data type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="serialized-object-converter">
-    <xsd:annotation>
-      <xsd:documentation>Uses object serialization to convert between the object and data type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="data-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attributes storage data type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>Specifies a mapping of values from database values used in the field and object values used in the attribute.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="default-value" type="xsd:anySimpleType">
-            <xsd:annotation>
-              <xsd:documentation>An optional default value can be specified.  This value is used if a database type is not found in the type mapping.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="type-mappings">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the mapping of values.  Both the object and database values must be unique.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="type-mapping" type="type-mapping">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines the object and data value mapping.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="attribute-only-type-mappings">
-            <xsd:annotation>
-              <xsd:documentation>Specifies a mapping of additional values that map non-unique data values to a unique attribute value.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="type-mapping" type="type-mapping">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines the object and data value mapping.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="type-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Define an object and data value mapping.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="object-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the value to use in the object's attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="data-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the value to use in the database field.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="database-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query/interaction against a database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="true" name="maintain-cache" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should bypass the cache completely.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bind-all-parameters" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should use paramater binding for arguments, or print the arguments in-line.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="cache-statement" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the queries statement should be cached, this must be used with parameter binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="timeout" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies a timeout to cancel the query in if the request takes too long to complete.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="prepare" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should prepare and cache its generated SQL, or regenerate the SQL on each execution.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="call" type="criteria">
-            <xsd:annotation>
-              <xsd:documentation>For static calls the SQL or Stored Procedure call definition can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid join fetch options.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="inner-join" />
-      <xsd:enumeration value="outer-join" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="cascade-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid cascade policies.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="all" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="value-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading a single value.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading a collection of values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="data-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="data-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading raw data.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="cache-query-results" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should cache the query results to avoid future executions.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="max-rows" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the maximum number of rows to fetch, results will be trunctate on the database to this size.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="first-result" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies where to start the cursor in a result set returned from the database. Results prior to this number will not be built into objects</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-size" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifiess the number of rows to fetch from the database on each result set next operation.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="query-result-cache-policy" type="query-result-cache-policy">
-            <xsd:annotation>
-              <xsd:documentation>Specify how the query results should be cached.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="query-result-cache-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a query's results should be cached.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="invalidation-policy" type="cache-invalidation">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cache invalidation policy. By default there will be no cache invalidation policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="100" name="maximum-cached-results" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>This defines the number of query result sets that will be cached. The LRU query results will be discarded when the max size is reached.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="data-modify-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for manipulating data.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-modify-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for modifying an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="update-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for updating an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="insert-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for inserting an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="delete-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for deleting an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="does-exist-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for determining if an object exists.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="existence-check" type="existence-check">
-            <xsd:annotation>
-              <xsd:documentation>The existence check option.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="existence-check">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid existence check options.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="check-cache" />
-      <xsd:enumeration value="check-database" />
-      <xsd:enumeration value="assume-existence" />
-      <xsd:enumeration value="assume-non-existence" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="delete-all-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for deleting a criteria of objects.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-level-read-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for objects (as apposed to data).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full qualified name of the class of objects being queried.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should refresh any cached objects from the database.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="remote-refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should refresh any remotely cached objects from the server.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="cascade-policy" type="cascade-policy">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the queries settings (such as refresh, maintain-cache) should apply to the object's relationship queries.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="primary-key" name="cache-usage" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify how the query should interact with the cache.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="lock-mode" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should lock the resulting rows on the database.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="distinct-state" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should filter distinct results.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="in-memory-querying">
-            <xsd:annotation>
-              <xsd:documentation>The in memory querying policy.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element default="ignore-exceptions-return-conformed" name="policy" type="xsd:string">
-                  <xsd:annotation>
-                    <xsd:documentation>Specify how indirection or unconformable expressions should be treating with in-memory querying and conforming.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="use-default-fetch-group" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the default fetch group should be used for the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-group" type="fetch-group">
-            <xsd:annotation>
-              <xsd:documentation>Allow the query to partially fetch the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-group-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify a pre-defined named fetch group to allow the query to partially fetch the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="use-exclusive-connection" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the exclusive connection (VPD) should be used for the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="joined-attribute-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the attributes being joined.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for joining</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if objects resulting from the query are read-only, and will not be registered in the unit of work.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="outer-join-subclasses" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>For inheritance queries specify if all subclasses should be outer joined, instead of a query per subclass.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-all-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for a set of objects.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-level-read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="batch-read-attribute-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Specifies all attributes for batch reading.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for batch reading</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="order-by-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Sets the order expressions for the query.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for ordering</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for a single object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-level-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="report-query">
-    <xsd:annotation>
-      <xsd:documentation>Query for information about a set of objects instead of the objects themselves.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-all-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="return-choice" type="return-choice">
-            <xsd:annotation>
-              <xsd:documentation>Simplifies the result by only returning the first result, first value, or all attribute values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="retrieve-primary-keys" type="retrieve-primary-keys">
-            <xsd:annotation>
-              <xsd:documentation>Indicates wether the primary key values should also be retrieved for the reference class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="report-items">
-            <xsd:annotation>
-              <xsd:documentation>Items to be selected, these could be attributes or aggregate functions.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="item" type="report-item">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an item requested</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="group-by-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Sets GROUP BY expressions for the query.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for grouping</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="return-choice">
-    <xsd:annotation>
-      <xsd:documentation>Simplifies the result by only returning the first result, first value, or all attribute values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="return-single-result" />
-      <xsd:enumeration value="return-single-value" />
-      <xsd:enumeration value="return-single-attribute" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="retrieve-primary-keys">
-    <xsd:annotation>
-      <xsd:documentation>Indicates wether the primary key values should also be retrieved for the reference class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="full-primary-key" />
-      <xsd:enumeration value="first-primary-key" />
-      <xsd:enumeration value="no-primary-key" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="report-item">
-    <xsd:annotation>
-      <xsd:documentation>Represents an item requested in ReportQuery.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Name given for item, can be used to retieve value from result.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="attribute-expression" type="expression">
-        <xsd:annotation>
-          <xsd:documentation>Expression (partial) that describes the attribute wanted.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="expression" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query filter expression tree.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relation-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a relation expression that compares to expressions through operators such as equal, lessThan, etc..</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="left" type="expression" />
-          <xsd:element name="right" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="operator" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="logic-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a expression composed of two sub-expressions joined through an operator such as AND, OR.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="left" type="expression" />
-          <xsd:element name="right" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="operator" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="function-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a expression composed of a function applied to a list of sub-expressions.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of function arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument expression.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-        <xsd:attribute name="function" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="constant-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression value.  If the value is null the value tag can is absent.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="value" type="xsd:anySimpleType" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="query-key-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression query-key.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="base" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="name" type="xsd:string" />
-        <xsd:attribute name="any-of" type="xsd:boolean" />
-        <xsd:attribute name="outer-join" type="xsd:boolean" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="field-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression field.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="field" type="field" />
-          <xsd:element name="base" type="expression" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="parameter-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression parameter.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="parameter" type="field" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="base-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression builder/base.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="operator">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid operators.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-  <xsd:complexType name="sql-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines an SQL query language string.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="sql" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full SQL query string.  Arguments can be specified through #arg-name tokens in the string.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="ejbql-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EJB-QL query language string.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="ejbql" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The EJB-QL query string.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="stored-procedure-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure invocation definition.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="procedure-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the stored procedure.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="cursor-output-procedure" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Define the call to use a cursor output parameter to define the result set.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input and output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="procedure-argument">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure. The order of the arguments must match the procedure arguments if not named.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="stored-function-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored function invocation definition.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="stored-procedure-call">
-        <xsd:sequence>
-          <xsd:element minOccurs="1" name="stored-function-result" type="procedure-output-argument">
-            <xsd:annotation>
-              <xsd:documentation>The return value of the stored-function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="procedure-argument-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The stored procedure name of the argument. For indexed argument the name is not required.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="argument-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The query name of the argument. This is the name of the argument as define in the query.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the argument class type.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-sqltype" type="xsd:int">
-        <xsd:annotation>
-          <xsd:documentation>The JDBC int type of the argument, as defined in java.jdbc.Types</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-sqltype-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the type if procedure-argument-sqltype is STRUCT or ARRAY</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="argument-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>The procedure argument value maybe be specified if not using a query argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-output-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call output argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="procedure-argument" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-inoutput-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call output argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="procedure-argument">
-        <xsd:sequence>
-          <xsd:element name="output-argument-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The query name of the argument. This is the name of the argument as define in the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-stored-procedure-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure invocation definition whose arguments contain at least one Oracle PL/SQL type that has no JDBC representation (e.g. BOOLEAN, PLS_INTEGER, PL/SQL record).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="procedure-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the stored procedure.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input and output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="plsql-procedure-argument-type">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-procedure-argument-type" abstract="true">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string" />
-      <xsd:element minOccurs="0" name="index" type="xsd:string" />
-      <xsd:element minOccurs="0" name="direction" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="jdbc-type">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:choice>
-            <xsd:element minOccurs="0" name="length" type="xsd:string" />
-            <xsd:sequence>
-              <xsd:element name="precision" type="xsd:string" />
-              <xsd:element name="scale" type="xsd:string" />
-            </xsd:sequence>
-          </xsd:choice>
-        </xsd:sequence>
-        <xsd:attribute name="type-name" type="xsd:string" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-type">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:attribute name="type-name" type="xsd:string" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-record">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:element name="type-name" type="xsd:string" />
-          <xsd:element minOccurs="0" name="compatible-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="java-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="fields">
-            <xsd:annotation>
-              <xsd:documentation>The list of fields.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="plsql-procedure-argument-type">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-collection">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:element name="type-name" type="xsd:string" />
-          <xsd:element minOccurs="0" name="compatible-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="java-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="nested-type" type="plsql-procedure-argument-type" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to an EIS record data structure.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element name="datatype" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the record structure name the descriptor maps to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="namespace-resolver" type="namespace-resolver">
-            <xsd:annotation>
-              <xsd:documentation>The namespace resolver for the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="mapped-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing MappedRecord.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the input result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing XML records.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-record-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name to use for the input record, if required by the adapter.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-root-element-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the input result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="indexed-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing Indexed records.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="interaction-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines an interaction argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="argument-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>The procedure argument value maybe be specified if not using a query argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The interaction name of the argument. For indexed arguments the name is not required.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="argument-name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The query name of the argumen. This is the name of the argument as define in the query, or the descriptor field name.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="object-relational-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to a Structure type in an object-relational database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relational-class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the object structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="field-order">
-            <xsd:annotation>
-              <xsd:documentation>The ordered list of the field defined in the structure.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="nested-table-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m/m-m relationship that makes use of the object-relational nested-table type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the source table that stores the nested-table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the nested-table type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="array-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of primitive/simple type values using the object-relational array type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-array-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of object-types using the object-relational array type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping">
-        <xsd:sequence>
-          <xsd:element name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="structure-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a structure of object-types using the object-relational structure type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a reference to another object-type using the object-relational reference type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field in the source type that stores the reference.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-relational-field">
-    <xsd:annotation>
-      <xsd:documentation>Defines an ObjectRelationalDatabaseField</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="nested-type-field" type="field" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-xml-type-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct mapping to an Oracle XDB XML Type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="read-whole-document" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field" />
-          <xsd:element minOccurs="0" name="value-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="value-converter-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify a user defined converter class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-collection-reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-M relationship from the source XML element to the target XML element based on a key.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-object-reference-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="containerpolicy" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="uses-single-node" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-object-reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source XML element to the target XML element based on one or more keys.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="aggregate-object-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="source-to-target-key-field-association" type="foreign-key" />
-          <xsd:element minOccurs="0" name="source-to-target-key-fields">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-cdata" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="null-policy" type="abstract-null-policy" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string" />
-          <xsd:element name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping">
-        <xsd:sequence>
-          <xsd:element name="container-attribute" minOccurs="0"/>
-          <xsd:element name="container-get-method" minOccurs="0"/>
-          <xsd:element name="container-set-method" minOccurs="0"/>
-          <xsd:element name="keep-as-element-policy" type="xsd:string" minOccurs="0"/>
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string" />
-          <xsd:element name="field" type="field" />
-	  <xsd:element name="container-attribute" minOccurs="0"/>
-	  <xsd:element name="container-get-method" minOccurs="0"/>
-	  <xsd:element name="container-set-method" minOccurs="0"/>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="null-policy" type="abstract-null-policy" />
-          <xsd:element minOccurs="0" name="keep-as-element-policy" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to an XML element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="default-root-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the element the descriptor maps to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="default-root-element-field" type="node">
-            <xsd:annotation>
-              <xsd:documentation>The XMLField representing the default root element of the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="should-preserve-document" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if nodes should be cached to preserve unmapped data</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="namespace-resolver" type="namespace-resolver">
-            <xsd:annotation>
-              <xsd:documentation>The namespace resolver for the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="schema" type="schema-reference">
-            <xsd:annotation>
-              <xsd:documentation>The location of the XML Schema.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="result-always-xml-root" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to an xs:any declaration or xs:anyType element</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy" />
-          <xsd:element minOccurs="0" default="false" name="use-xml-root" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="keep-as-element-policy" type="xsd:string" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-attribute-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to an xs:any declaration or xs:anyType element</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy" />
-          <xsd:element minOccurs="0" name="include-namespace-declaration" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="include-schema-instance" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a single object to an xs:any declaration</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" default="false" name="use-xml-root" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="keep-as-element-policy" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-fragment-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a single Node to a fragment of an XML document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-fragment-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection of Nodes to a fragment of an XML document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-binary-data-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a binary object to base64 binary</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-swa-ref" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="mime-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="should-inline-data" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-binary-data-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a binary object to base64 binary</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-composite-direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-swa-ref" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="mime-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="should-inline-data" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to a choice structure in an xml document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="container-policy" type="container-policy" />
-          <xsd:element maxOccurs="unbounded" name="field-to-class-association" type="xml-choice-field-to-class-association" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to a choice structure in an xml document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element maxOccurs="unbounded" name="field-to-class-association" type="xml-choice-field-to-class-association" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-field-to-class-association">
-    <xsd:sequence>
-      <xsd:element name="xml-field" type="node" />
-      <xsd:element name="class-name" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="xml-conversion-pair">
-    <xsd:sequence>
-      <xsd:element name="qname" type="xsd:string" />
-      <xsd:element name="class-name" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="node">
-    <xsd:annotation>
-      <xsd:documentation>Defines an XPath expression to an element or attribute in an XML document.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="position" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>The position of the node in the parent type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="typed-text-field" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If this is a typed text field.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="single-node" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if each item in the collection is in the same node instead of having one node per item in the collection</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="schema-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The schema type of the element.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="xml-to-java-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="java-to-xml-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" name="leaf-element-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Indicates the elements type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-        <xsd:attribute name="is-required" type="xsd:boolean"/>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="union-node">
-    <xsd:annotation>
-      <xsd:documentation>Use to represent nodes which are mapped to unions</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="typed-text-field" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If this is a typed text field.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="single-node" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if each item in the collection is in the same node instead of having one node per item in the collection</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="schema-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The schema type of the element.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="xml-to-java-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="java-to-xml-conversion-pair" type="xml-conversion-pair" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="namespace-resolver">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="1" name="namespaces">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="namespace" type="namespace" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="1" name="default-namespace-uri" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="namespace">
-    <xsd:sequence>
-      <xsd:element name="prefix" type="xsd:string" />
-      <xsd:element name="namespace-uri" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="schema-reference">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="resource" type="xsd:string" />
-      <xsd:element name="schema-context" type="xsd:string" />
-      <xsd:element name="node-type" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="schema-class-path-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="schema-file-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="schema-url-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="java-character">
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-  <xsd:simpleType name="java-timestamp">
-    <xsd:restriction base="xsd:dateTime" />
-  </xsd:simpleType>
-  <xsd:simpleType name="java-util-date">
-    <xsd:restriction base="xsd:dateTime" />
-  </xsd:simpleType>
-  <xsd:complexType name="cmp-policy">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="pessimistic-locking" type="pessimistic-locking">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cmp bean-level pessimistic locking policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="defer-until-commit" type="defer-until-commit">
-        <xsd:annotation>
-          <xsd:documentation>Defines modification deferral level for non-deferred writes.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="non-deferred-create-time" type="non-deferred-create-time">
-        <xsd:annotation>
-          <xsd:documentation>Defines point at which insert will be issued to Database.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="pessimistic-locking">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="wait" name="locking-mode" type="locking-mode" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="defer-until-commit">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="all-modifications" />
-      <xsd:enumeration value="update-modifications" />
-      <xsd:enumeration value="none" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="non-deferred-create-time">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="after-ejbcreate" />
-      <xsd:enumeration value="after-ejbpostcreate" />
-      <xsd:enumeration value="undefined" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="locking-mode">
-    <xsd:annotation>
-      <xsd:documentation>Holds the pessimistic locking mode.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="wait" />
-      <xsd:enumeration value="no-wait" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="sequence">
-    <xsd:annotation>
-      <xsd:documentation>Sequence object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="" name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Sequence name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="50" name="preallocation-size" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Sequence preallocation size.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="default-sequence">
-    <xsd:annotation>
-      <xsd:documentation>References default sequence object, overriding its name and (optionally) preallocation size.</xsd:documentation>
-      <xsd:documentation>To use preallocation size of default sequence object, set preallocation size to 0</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="native-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Database sequence mechanism used.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="table-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Table sequence</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_NAME" name="name-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence name field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_COUNT" name="counter-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="unary-table-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Unary table sequence - sequence name is a table name, table has a single field and a single row</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="counter-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xmlfile-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Xmlfile sequence.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Xml sequence</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="root-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_NAME" name="name-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence name field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_COUNT" name="counter-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="fetch-groups">
-    <xsd:annotation>
-      <xsd:documentation>Contains all pre-defined fetch groups.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="default-fetch-group" type="fetch-group" />
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="fetch-group" type="fetch-group" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="fetch-group">
-    <xsd:annotation>
-      <xsd:documentation>Contains the fetch group attributes info.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="name" type="xsd:string" />
-      <xsd:element name="fetch-group-attributes">
-        <xsd:complexType>
-          <xsd:annotation>
-            <xsd:documentation>Contains a fetch group's attribute list.</xsd:documentation>
-          </xsd:annotation>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="fetch-group-attribute" type="xsd:string" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Describes the change tracking policy for this descriptor.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="deferred-detection-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses backup clone to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-level-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses "mark dirty" to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="attribute-level-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses a ChangeTracker firing PropertyChangeEvent's to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-null-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the Null Policy in use for this relationship currently a choice of [NullPolicy and IsSetNullPolicy].</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="false" name="xsi-nil-represents-null" type="xsd:boolean" />
-      <xsd:element minOccurs="0" default="false" name="empty-node-represents-null" type="xsd:boolean" />
-      <xsd:element minOccurs="0" name="null-representation-for-xml" type="marshal-null-representation" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="null-policy">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-null-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="true" name="is-set-performed-for-absent-node" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="is-set-null-policy">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-null-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-set-method-name" type="xsd:string" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="is-set-parameter-type" type="xsd:string" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="is-set-parameter" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="marshal-null-representation">
-    <xsd:annotation>
-      <xsd:documentation>Write null, no tag(default) or an empty tag.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="XSI_NIL" />
-      <xsd:enumeration value="ABSENT_NODE" />
-      <xsd:enumeration value="EMPTY_NODE" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="field">
-    <xsd:annotation>
-      <xsd:documentation>Defines a generic field concept, such as a database column.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the field.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>Defines a column in a relational database table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:attribute name="table" type="xsd:string">
-          <xsd:annotation>
-            <xsd:documentation>The name of the column's table. This table must be listed in the class' tables. If not specified the first table of the class will be used.</xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-        <xsd:attribute name="sql-typecode" type="xsd:integer">
-          <xsd:annotation>
-            <xsd:documentation>(optional field) The JDBC typecode of this column</xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-        <xsd:attribute name="column-definition" type="xsd:string">
-          <xsd:annotation>
-            <xsd:documentation>(optional field) Name of the JDBC typecode for this column</xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="foreign-key">
-    <xsd:annotation>
-      <xsd:documentation>The list of source/target field/column references relating a foreign key in one table to the primary or unique key in another table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" name="field-reference">
-        <xsd:annotation>
-          <xsd:documentation>The reference of a source table foreign key and a target table primary key.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="source-field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The foreign key field/column name in the source table.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="target-field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The primary or unique key field/column name in the target table.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query specification for querying instances of the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The selection criteria of the query.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="arguments">
-        <xsd:annotation>
-          <xsd:documentation>The list of query arguments. The order of the argument must match the order of the argument value passed to the query.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="query-argument">
-              <xsd:annotation>
-                <xsd:documentation>The query argument.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the query.  This name can be used to reference and execute the query.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="criteria">
-    <xsd:annotation>
-      <xsd:documentation>Defines the filtering clause of a query.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="query-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified class type name of the argument may be provided.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Optional constant value for the argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the query argument.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>A user defined property.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value" type="xsd:anyType" />
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" />
-  </xsd:complexType>
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>The list of tables that the class is persisted to.  This is typically a single table but can be multiple, or empty for inheritance or aggregated classes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the table.  The name can be fully qualified with the schema, tablespace or link.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="value-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-        Specifies how the data value should be converted to the
-        object value.
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <xsd:complexType name="document-preservation-policy">
-  	<xsd:sequence>
-  		<xsd:element name="node-ordering-policy"
-  			type="node-ordering-policy" maxOccurs="1" minOccurs="0">
-  		</xsd:element>
-  	</xsd:sequence>
-  </xsd:complexType>
-
-    <xsd:complexType name="node-ordering-policy"></xsd:complexType>
-
-
-    <xsd:complexType
-    	name="descriptor-level-document-preservation-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="no-document-preservation-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="xml-binder-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="append-new-elements-ordering-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="ignore-new-elements-ordering-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="relative-position-ordering-policy">
-    	<xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-</xsd:schema>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_2.0.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_2.0.xsd
deleted file mode 100644
index a93b9ea..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_persistence_map_2.0.xsd
+++ /dev/null
@@ -1,4253 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
- which accompanies this distribution.
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     Oracle - initial API and implementation from Oracle TopLink
-*****************************************************************************/
--->
-<!-- Eclipse Persistence Service Project :: Map Schema file for ORM/OXM/EIS -->
-<xsd:schema
-  targetNamespace="http://www.eclipse.org/eclipselink/xsds/persistence"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns="http://www.eclipse.org/eclipselink/xsds/persistence"
-  elementFormDefault="qualified"
-  attributeFormDefault="unqualified"
-  version="2.0"
-  >
-  <xsd:element name="object-persistence" type="object-persistence" />
-  <xsd:complexType name="object-persistence">
-    <xsd:annotation>
-      <xsd:documentation>An object-persistence mapping module, a set of class-mapping-descriptors.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>A name for the model being mapped.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-mapping-descriptors">
-        <xsd:annotation>
-          <xsd:documentation>The list of class mapping descriptors.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="class-mapping-descriptor" type="class-mapping-descriptor">
-              <xsd:annotation>
-                <xsd:documentation>Information of how a class is persisted to its data-store.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="login" type="datasource-login">
-        <xsd:annotation>
-          <xsd:documentation>The datasource connection and configuration information.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="default-temporal-mutable" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines the default for how Date and Calendar types are used with change tracking.</xsd:documentation>
-          <xsd:documentation>By default they are assumed not to be changed directly (only replaced).</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="queries">
-        <xsd:annotation>
-          <xsd:documentation>A list of queries to be stored on the session.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="query" type="database-query">
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute default="Eclipse Persistence Services - 2.0 (Build YYMMDD)" name="version" type="xsd:string" />
-  </xsd:complexType>
-  <xsd:complexType name="datasource-login">
-    <xsd:annotation>
-      <xsd:documentation>The datasource connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="platform-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the platform class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="user-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The datasource user-name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="password" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The datasource password, this is stored in encrypted form.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="external-connection-pooling" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the connections are managed by the datasource driver, and a new connection should be acquire per call.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="external-transaction-controller" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the transaction are managed by a transaction manager, and should not be managed by TopLink.</xsd:documentation>
-          <xsd:documentation>This can also be used if the datasource does not support transactions.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="sequencing">
-        <xsd:annotation>
-          <xsd:documentation>Sequencing information.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" name="default-sequence" type="sequence">
-              <xsd:annotation>
-                <xsd:documentation>Default sequence. The name is optional. If no name provided an empty string will be used as a name.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element minOccurs="0" name="sequences">
-              <xsd:annotation>
-                <xsd:documentation>Non default sequences. Make sure each sequence has unique name.</xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:sequence>
-                  <xsd:element minOccurs="0" maxOccurs="unbounded" name="sequence" type="sequence" />
-                </xsd:sequence>
-              </xsd:complexType>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="database-login">
-    <xsd:annotation>
-      <xsd:documentation>The JDBC driver and database connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="driver-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the JDBC driver class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="connection-url" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full JDBC driver connection URL.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="bind-all-parameters" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if parameter binding should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cache-all-statements" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if statement caching should be used.  This should be used with parameter binding, this cannot be used with external connection pooling.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="byte-array-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if byte array data-types should use binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="string-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if string data-types should use binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="256" name="string-binding-size" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Configure the threshold string size for usage of string binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="streams-for-binding" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if large byte array and string data-types should be bound as streams.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="force-field-names-to-upper-case" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure to force all field names to upper-case.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="optimize-data-conversion" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure data optimization.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="trim-strings" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if string trailing blanks should be trimmed.  This is normally required for CHAR data-types.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-writing" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Configure if batch writing should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="jdbc-batch-writing" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If using batch writing, configure if the JDBC drivers batch writing should be used.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-login">
-    <xsd:annotation>
-      <xsd:documentation>The JCA driver and EIS connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="connection-spec-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the TopLink platform specific connection spec class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="connection-factory-url" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The JNDI url for the managed JCA adapter's connection factory.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-login">
-    <xsd:annotation>
-      <xsd:documentation>The connection and configuration information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="datasource-login">
-        <xsd:sequence>
-            <xsd:element minOccurs="0" default="true"
-                name="equal-namespace-resolvers" type="xsd:boolean" />
-            <xsd:element name="document-preservation-policy"
-                type="document-preservation-policy" maxOccurs="1"
-                minOccurs="0">
-            </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Information of how a class is persisted to its data-store.</xsd:documentation>
-      <xsd:documentation>This is an abstract definition to allow flexibility in the types of classes and datastores persisted, i.e. interfaces, abstract classes, aggregates, non-relational persistence.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the implementation class being persisted.  The class name must be full qualified with its package.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.implementation.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="alias" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Optionally an alias name can be given for the class.  The alias is a string that can be used to refer to the class in place of its implementation name, such as in querying.</xsd:documentation>
-          <xsd:documentation>Example: <alias xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">Employee</alias></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="primary-key">
-        <xsd:annotation>
-          <xsd:documentation>The list of fields/columns that make up the primary key or unique identifier of the class.</xsd:documentation>
-          <xsd:documentation>This is used for caching, relationships, and for database operations.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The primary key field.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Defines if the class is read-only.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="properties">
-        <xsd:annotation>
-          <xsd:documentation>Allow for user defined properties to be defined.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="property" type="property">
-              <xsd:annotation>
-                <xsd:documentation>A user defined property.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="inheritance" type="inheritance-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class is related in inheritance and how this inheritance is persisted.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="events" type="event-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the persistent events for this class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="querying" type="query-policy">
-        <xsd:annotation>
-          <xsd:documentation>The list of defined queries for the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="attribute-mappings">
-        <xsd:annotation>
-          <xsd:documentation>The list of mappings that define how the class' attributes are persisted.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="attribute-mapping" type="attribute-mapping">
-              <xsd:annotation>
-                <xsd:documentation>Defines how a attribute is persisted. The attribute mapping definition is extendable to allow for different types of mappings.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="descriptor-type" type="class-descriptor-type">
-        <xsd:annotation>
-          <xsd:documentation>Defines the descriptor type, such as aggregate or independent.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="interfaces" type="interface-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the interfaces that this class implements..</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="locking" type="locking-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines the locking behavior for the class.  Such as an optimistic locking policy based on version, timestamp or change set of columns.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="sequencing" type="sequencing-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how a generated unique id should be assigned to the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="caching" type="caching-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class' instances should be cached.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="remote-caching" type="caching-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how the class' instances should be cached on remote clients.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines how past versions of objects are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="returning-policy" type="returning-policy">
-        <xsd:annotation>
-          <xsd:documentation>Defines retuning policy.  By default there will be no returning policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="amendment" type="amendment">
-        <xsd:annotation>
-          <xsd:documentation>Allow for the descriptor to be amended or customized through a class API after loading.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="instantiation" type="instantiation-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the object instantiation behavoir to be customized</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="copying" type="copy-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the object cloning/copying behavoir to be customized.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="query-keys">
-        <xsd:annotation>
-          <xsd:documentation>A list of query keys or aliases for database information.  These can be used in queries instead of the database column names.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="query-key" type="query-key">
-              <xsd:annotation>
-                <xsd:documentation>Defines an alias for querying database information.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="cmp-policy" type="cmp-policy">
-        <xsd:annotation>
-          <xsd:documentation>Place holder of CMP information specific.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="fetch-groups" type="fetch-groups">
-        <xsd:annotation>
-          <xsd:documentation>Contains all pre-defined fetch groups at the descriptor level</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="1" name="change-policy" type="change-policy">
-        <xsd:annotation>
-          <xsd:documentation>Contains the Change Policy for this descriptor</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute fixed="10" name="schema-major-version" type="xsd:integer" />
-    <xsd:attribute fixed="0" name="schema-minor-version" type="xsd:integer" />
-  </xsd:complexType>
-  <xsd:simpleType name="class-descriptor-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the class descriptor type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="independent" />
-      <xsd:enumeration value="aggregate" />
-      <xsd:enumeration value="aggregate-collection" />
-      <xsd:enumeration value="composite" />
-      <xsd:enumeration value="composite" />
-      <xsd:enumeration value="interface" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="interface-policy">
-    <xsd:annotation>
-      <xsd:documentation>Specify the interfaces that a class descriptor implements, or the implemention class for an interface descriptor.</xsd:documentation>
-      <xsd:documentation>Optionally a set of public interfaces for the class can be specified.  This allows the interface to be used to refer to the implementation class.</xsd:documentation>
-      <xsd:documentation>If two classes implement the same interface, an interface descriptor should be defined for the interface.</xsd:documentation>
-      <xsd:documentation>This can also be used to define inheritance between interface descriptors.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="interface" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified interface class name.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.api.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="implementor-descriptor" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified class name of the implementation class for which this interface is the public interface.</xsd:documentation>
-          <xsd:documentation>This can be used if the interface has only a single implementor.</xsd:documentation>
-          <xsd:documentation>Example: <class xmlns="http://www.eclipse.org/eclipselink/xsds/persistence">example.employee.impl.Employee</class></xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object cloning/copying behavoir to be customized.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="instantiation-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Creates a copying through creating a new instance to copy into.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="copy-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="clone-copy-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object cloning/copying behavoir to be customized through a clone method.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="copy-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the clone method on the object, i.e. 'clone'</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="instantiation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Allow the object instantiation behavoir to be customized.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the method on the factory to instantiate the object instance.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="factory-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified factory class name.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="factory-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the method to instantiate the factory class.'</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="amendment">
-    <xsd:annotation>
-      <xsd:documentation>Specifies a class and static method to be called to allow for the descriptor to be amended or customized through a class API after loading.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="amendment-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation> The fully qualified name of the amendment class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="amendment-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the static amendment method on the class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="relational-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to a relational database table(s).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="tables">
-            <xsd:annotation>
-              <xsd:documentation>The list of the tables the class is persisted to.  Typically a class is persisted to a single table, but multiple tables can be defined.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="table" type="table">
-                  <xsd:annotation>
-                    <xsd:documentation>The list of tables that the class is persisted to.  This is typically a single table but can be multiple, or empty for inheritance or aggregated classes.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-keys-for-multiple-table" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>Allow the foreign key field references to be define for multiple table descriptors.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="multiple-table-join-criteria" type="criteria">
-            <xsd:annotation>
-              <xsd:documentation>For complex multiple table join conditions an expression may be provided instead of the table foreign key information.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="version-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on a numeric version field/column that tracks changes and the version to an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy">
-        <xsd:sequence>
-          <xsd:element name="version-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The name and optionally the table of the column that the attribute is stored into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="store-version-in-cache" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the version value should be stored in the cache, or if it will be stored in the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="timestamp-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on timestamp version column that tracks changes and the version to an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="version-locking-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="server-time" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the timestamp should be obtained locally or from the database server.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="all-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of all fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="changed-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of only the changed fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="selected-fields-locking-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines an optimistic locking policy based on comparing the original read values of a specified set of fields of the object with the current state of the values in the database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="locking-policy">
-        <xsd:sequence>
-          <xsd:element name="fields">
-            <xsd:annotation>
-              <xsd:documentation>Specify the set of fields to compare on update and delete.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="sequencing-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a database generated unique id should be assigned to the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="sequence-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Specify the name of the sequence generator.  This could be the name of a sequence object, or a row value in a sequence table.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="sequence-field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>Specify the field/column that the generated sequence id is assigned to.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="cache-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid caching types.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="full" />
-      <xsd:enumeration value="cache" />
-      <xsd:enumeration value="weak-reference" />
-      <xsd:enumeration value="soft-reference" />
-      <xsd:enumeration value="soft-cache-weak-reference" />
-      <xsd:enumeration value="hard-cache-weak-reference" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="caching-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how the class' instances should be cached and how object identity should be maintained.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="soft-cache-weak-reference" name="cache-type" type="cache-type">
-        <xsd:annotation>
-          <xsd:documentation>Specify the type of caching, such as LRU, weak reference or none.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="100" name="cache-size" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Specify the initial or maximum size of the cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="always-refresh" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to always refresh cached objects on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="only-refresh-cache-if-newer-version" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to refresh if the cached object is an older version.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="disable-cache-hits" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Disable obtaining cache hits on primary key queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="always-conform" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify to always conform queries within a transaction.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="isolated" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify if objects of this type should be isolated from the shared cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="isolate-new-data-after-transaction" name="unitofwork-isolation-level" type="unitofwork-isolation-level">
-        <xsd:annotation>
-          <xsd:documentation>Specify how the unit of work should be isolated to the session cache.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="cache-invalidation-policy" type="cache-invalidation">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cache invalidation policy.  By default there will be no cache invalidation policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="change-set" name="cache-sync-type" type="cache-sync-type">
-        <xsd:annotation>
-          <xsd:documentation>The type of cache synchronization to be used with this descripor.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="cache-invalidation" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Abstract superclass for cache invalidation policies.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="false" name="update-read-time-on-update" type="xsd:boolean" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="no-expiry-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation policy where objects in the cache do not expire.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="time-to-live-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation policy where objects live a specific number of milliseconds after they are read.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation">
-        <xsd:sequence>
-          <xsd:element name="time-to-live" type="xsd:long" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="daily-cache-invalidation-policy">
-    <xsd:annotation>
-      <xsd:documentation>Cache invalidation Policy where objects expire at a specific time every day</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="cache-invalidation">
-        <xsd:sequence>
-          <xsd:element name="expiry-time" type="xsd:dateTime" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="history-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how past versions of objects are to be persisted to the data-store.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="true" name="handle-writes" type="xsd:boolean" />
-      <xsd:element minOccurs="0" default="false" name="use-database-time" type="xsd:boolean" />
-      <xsd:element minOccurs="0" name="history-tables">
-        <xsd:annotation>
-          <xsd:documentation>Defines the names of the mirroring historical tables.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="history-table" type="history-table" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="start-fields">
-        <xsd:annotation>
-          <xsd:documentation>Defines the start fields for each historical table.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="start-field" type="field" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="end-fields">
-        <xsd:annotation>
-          <xsd:documentation>Defines the end fields for each historical table.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="end-field" type="field" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="history-table">
-    <xsd:annotation>
-      <xsd:documentation>Each entry is a source (descriptor) to history table name association.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="" name="source" type="xsd:string" />
-      <xsd:element minOccurs="1" name="history" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="returning-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines retuning policy.  By default there will be no returning policy.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="1" name="returning-field-infos">
-        <xsd:annotation>
-          <xsd:documentation>Lists the fields to be returned together with the flags defining returning options</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" name="returning-field-info" type="returning-field-info" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="returning-field-info">
-    <xsd:annotation>
-      <xsd:documentation>Field to be returned together with type and the flags defining returning options. At least one of insert, update should be true.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="reference-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the target referenced class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>The field to be returned.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="insert" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Indicates whether the field should be retuned after Insert.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="insert-mode-return-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>If insert==true, indicates whether the field should not be inserted (true). If insert==false - ignored.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="update" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Indicates whether the field should be retuned after Insert.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="inheritance-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how the class is related in inheritance and how this inheritance is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="parent-class" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the parent/superclass of the class being persisted.  The class name must be full qualified   with its package.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="true" name="read-subclasses-on-queries" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Define if subclasses of the class should be returned on queries, or only the exact class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="all-subclasses-view" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Optionally specify the name of a view that joins all of the subclass' tables.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="use-class-name-as-indicator" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specifies if the fully qualified class name should be used as the class type indicator.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-extraction-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of a method on the class that takes the class' row as argument a computed that class type to be used to instantiate from the row.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-indicator-field" type="field">
-        <xsd:annotation>
-          <xsd:documentation>The name of the type field/column that the class type is stored into.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-indicator-mappings" type="class-indicator-mappings">
-        <xsd:annotation>
-          <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="class-extractor" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of a class that implements a class extractor interface.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="only-instances-criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The criteria that filters out all sibling and subclass instances on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="all-subclasses-criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The criteria that filters out sibling instances on queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="outer-join-subclasses" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>For inheritance queries specify if all subclasses should be outer joined, instead of a query per subclass.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="qname-inheritance-policy">
-    <xsd:annotation>
-      <xsd:documentation>Extends inheritance policy. Allows for prefixed names to be resolved at runtime to find the approriate class</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="inheritance-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="class-indicator-mappings">
-    <xsd:annotation>
-      <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="class-indicator-mapping">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class" type="xsd:string">
-              <xsd:annotation>
-                <xsd:documentation>The fully qualified name of the class the type maps to.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="class-indicator" type="xsd:anySimpleType">
-              <xsd:annotation>
-                <xsd:documentation>The field value used to define the class type.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="event-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the persistent events for this class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="event-listeners">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="event-listener" type="xsd:string">
-              <xsd:annotation>
-                <xsd:documentation>The fully qualified name of an event listener class that implements the descriptor event listener interface.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-build-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after building the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-write-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before writing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-write-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after writing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="pre-delete-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before deleting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-delete-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after deleting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="about-to-insert-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before inserting the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="about-to-update-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed before updating the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-clone-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after cloning the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-merge-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after merging the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="post-refresh-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Method executed after refreshing the object.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="query-policy">
-    <xsd:annotation>
-      <xsd:documentation>The list of defined queries and query properties for the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="queries">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="query" type="query">
-              <xsd:annotation>
-                <xsd:documentation>A query definition for the class' instances.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="timeout" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Specifies a timeout to apply to all queries.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="check-cache" name="existence" type="existence-policy">
-        <xsd:annotation>
-          <xsd:documentation>Allow the behavoir used to determine if an insert or update should occur for an object to be customized.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="insert-query" type="insert-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom insert query.  This overide the default insert behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="update-query" type="update-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom update query.  This overide the default update behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="delete-query" type="delete-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom delete query.  This overide the default delete behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="does-exist-query" type="does-exist-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom does exist query.  This overide the default delete behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="read-object-query" type="read-object-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom read object query.  This overide the default read behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="read-all-query" type="read-all-query">
-        <xsd:annotation>
-          <xsd:documentation>Custom read all query.  This overide the default read all behavoir for usage with stored procedures or custom calls.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="existence-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid existence policies for determining if an insert or update should occur for an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="check-cache" />
-      <xsd:enumeration value="check-database" />
-      <xsd:enumeration value="assume-existence" />
-      <xsd:enumeration value="assume-non-existence" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for querying database information.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The query-key alias name.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:simpleType name="cache-sync-type">
-    <xsd:annotation>
-      <xsd:documentation>The type of cache synchronization to use with a descriptor.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="invalidation" />
-      <xsd:enumeration value="no-changes" />
-      <xsd:enumeration value="change-set-with-new-objects" />
-      <xsd:enumeration value="change-set" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="unitofwork-isolation-level">
-    <xsd:annotation>
-      <xsd:documentation>Specify how the unit of work isolated from the session cache.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="use-session-cache-after-transaction" />
-      <xsd:enumeration value="isolate-new-data-after-transaction" />
-      <xsd:enumeration value="isolate-cache-after-transaction" />
-      <xsd:enumeration value="isolate-cache-always" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="direct-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a database column.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query-key">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column being aliased.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relationship-query-key" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a join to another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query-key">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified name of the target referenced class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:choice>
-            <xsd:element name="foreign-key" type="foreign-key">
-              <xsd:annotation>
-                <xsd:documentation>The foreign key join condition between the source and target class' tables.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="criteria" type="criteria">
-              <xsd:annotation>
-                <xsd:documentation>The join criteria between the source and target class' tables.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:choice>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-one-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a 1-1 join to another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-query-key" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-many-query-key">
-    <xsd:annotation>
-      <xsd:documentation>Defines an alias for a 1-m join from another class' table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="relationship-query-key" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The name and optionally the table of the field/column that the attribute is stored into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="null-value" type="xsd:anySimpleType" minOccurs="0">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify a value that null data values should be converted to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="converter" type="value-converter" minOccurs="0">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="attribute-classification" type="xsd:string" minOccurs="0"/>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="attribute-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a attribute is persisted. The attribute mapping definition is extendable to allow for different types of mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="attribute-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the attribute.  This is the implementation class attribute name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-        <xsd:annotation>
-          <xsd:documentation>Specify if the attribute is read-only.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="get-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the get method for the attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="set-method" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the set method for the attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="properties">
-        <xsd:annotation>
-          <xsd:documentation>Allow for user defined properties to be defined.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="property" type="property">
-              <xsd:annotation>
-                <xsd:documentation>A user defined property.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a simple attribute is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="abstract-direct-mapping">
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent>
-      <xsd:extension base="abstract-direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-cdata" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="null-policy" type="abstract-null-policy" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-direct-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping from an attirbute to a simple field datatype, i.e. String, Number, Date.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-direct-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="field-transformation" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a field transformation for a transformation mapping</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="field" type="field" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="method-based-field-transformation">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field-transformation">
-        <xsd:sequence>
-          <xsd:element name="method" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transformer-based-field-transformation">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field-transformation">
-        <xsd:sequence>
-          <xsd:element name="transformer-class" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a transformation mapping that uses Java code to transform between the data and object values.</xsd:documentation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="attribute-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the attribute transformation defined in the domain class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="attribute-transformer" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The class name of the attribute transformer. Used in place of attribute-transformation.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="mutable" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy" />
-          <xsd:element minOccurs="0" name="field-transformations">
-            <xsd:annotation>
-              <xsd:documentation>The field transformations.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field-transformation" type="field-transformation" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-transformation-mapping">
-    <xsd:annotation>
-      <xsd:documentation>This can be used if a single attribute maps to multiple fields, or field only mappings or attribute only mappings.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-transformation-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="aggregate-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a relationship where the target object is strictly privately owned by the source object and stores within the source objects row</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified class name of the target class of the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="allow-null" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if a row of all nulls should be interpreted as null.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="field-translations">
-            <xsd:annotation>
-              <xsd:documentation>Allow for the mapping to use different field names than the descriptor.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field-translation">
-                  <xsd:complexType>
-                    <xsd:sequence>
-                      <xsd:element name="source-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The field in the source descriptor's table.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                      <xsd:element name="target-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The field in the aggregate descriptor.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                    </xsd:sequence>
-                  </xsd:complexType>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relationship-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a relationship between two classes is persisted.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The fully qualified class name of the target class of the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="private-owned" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the target objects are privately owned dependent objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-persist" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the create operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-merge" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the create operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the refresh operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="cascade-remove" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the remove operation should be cascaded to the referenced object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the source class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-object-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="one-to-one-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="one-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="target-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the target class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-one-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="source-foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="target-foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-grouping-element" type="field" />
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of simple types relationship from the source instance to a set of simple data values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="data-read-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="reference-table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the reference table that stores the source primary key and the data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="direct-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the reference table that stores the data values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="reference-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the reference table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="value-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="insert-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to insert a row into the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete a row from the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the rows from the reference table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="session-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name session that defines the reference table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines how past versions of this attribute are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-map-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a map relationship from the source instance to a set of key values pairs of simple data values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element name="direct-key-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the reference table that sores the map key data value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="key-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the key data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="aggregate-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m relationship from the source instance to the target instances where the target instances are strictly privately owned by the source object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="target-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key in the target class' table that defines the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="delete-all-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the related objects can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="many-to-many-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a m-m relationship from the source instance to the target instances.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="relation-table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the relation table that stores the source/target primary keys.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="source-relation-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key from the relational table to the source class' table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="target-relation-foreign-key" type="foreign-key">
-            <xsd:annotation>
-              <xsd:documentation>The foreign key from the relational table to the target class' table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-all-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="insert-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to insert a row into the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete a row from the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="delete-all-query" type="data-modify-query">
-            <xsd:annotation>
-              <xsd:documentation>A query to delete all of the rows from the relation table can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="history-policy" type="history-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines how past versions of this attribute are persisted to the data-store.  By default there will be no history policy.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="join-fetch" type="join-fetch-type">
-            <xsd:annotation>
-              <xsd:documentation>Specify to always join the related objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="variable-one-to-one-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source instance to the target instance that may be of several types related through an interface.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="bidirectional-target-attribute" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>For bi-directional relationships the target inverse relationship can be defined.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="batch-reading" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify to optimize reads for the class by batching the reads to this relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="indirection" type="indirection-policy">
-            <xsd:annotation>
-              <xsd:documentation>The indirection policy to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="selection-query" type="read-object-query">
-            <xsd:annotation>
-              <xsd:documentation>Specify the query to use to select the target objects.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="type-field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>Specify the column to store the class type of the related object into.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="foreign-key-fields">
-            <xsd:annotation>
-              <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field">
-                  <xsd:annotation>
-                    <xsd:documentation>The set of foreign key fields populated by this relationship in the source class' table.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="foreign-key-to-query-key">
-            <xsd:annotation>
-              <xsd:documentation>The list of source/target column/query key references relating a foreign key in one table to the query keys defining a primary or unique key value in the other interface descriptor.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="query-key-reference">
-                  <xsd:annotation>
-                    <xsd:documentation>The reference of a source table foreign key and a target interface descriptor query key.</xsd:documentation>
-                  </xsd:annotation>
-                  <xsd:complexType>
-                    <xsd:sequence>
-                      <xsd:element name="source-field" type="field">
-                        <xsd:annotation>
-                          <xsd:documentation>The foreign key field/column name in the source table.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                      <xsd:element name="target-query-key" type="xsd:string">
-                        <xsd:annotation>
-                          <xsd:documentation>The query key name of the target interface descriptor.</xsd:documentation>
-                        </xsd:annotation>
-                      </xsd:element>
-                    </xsd:sequence>
-                  </xsd:complexType>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="class-indicator-mappings" type="class-indicator-mappings">
-            <xsd:annotation>
-              <xsd:documentation>The set of class indicator values and the subclasses they map to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a container/collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="collection-type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the fully qualified class name of the collection implementation class.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="sorted-collection-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a sorted collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="comparator-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the comparitor, used to compare objects in sorting the collection.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="list-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a list collection type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="map-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a map container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="map-key-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the method to call on the target objects to get the key value for the map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-map-container-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct map container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="scrollable-cursor-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a scrollable cursor container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="cursored-stream-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines a cursored stream container type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="container-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="indirection-policy" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a deferred read indirection mechanism.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="value-holder-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of value holders to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="proxy-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of proxies to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="transparent-collection-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of transparent collections to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="collection-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the collection interface to use, i.e. List, Set, Map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="map-key-method" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the method to call on the target objects to get the key value for the map.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="container-indirection-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines usage of a user defined container to implement indirection.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="indirection-policy">
-        <xsd:sequence>
-          <xsd:element name="container-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the container implementer to use.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-list-converter">
-    <xsd:annotation>
-      <xsd:documentation>List converter</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="object-class-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the list's element type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension> 
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="typesafe-enumeration-converter">
-    <xsd:annotation>
-      <xsd:documentation>Typesafe Enumeration conversion</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="type-conversion-converter">
-    <xsd:annotation>
-      <xsd:documentation>Specifies the data type and an object type of the attribute to convert between.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="object-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attribute type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="data-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attributes storage data type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="serialized-object-converter">
-    <xsd:annotation>
-      <xsd:documentation>Uses object serialization to convert between the object and data type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="data-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the fully qualified class name of the attributes storage data type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-type-converter">
-    <xsd:annotation>
-      <xsd:documentation>Specifies a mapping of values from database values used in the field and object values used in the attribute.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="value-converter">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="default-value" type="xsd:anySimpleType">
-            <xsd:annotation>
-              <xsd:documentation>An optional default value can be specified.  This value is used if a database type is not found in the type mapping.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="type-mappings">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the mapping of values.  Both the object and database values must be unique.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="type-mapping" type="type-mapping">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines the object and data value mapping.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="attribute-only-type-mappings">
-            <xsd:annotation>
-              <xsd:documentation>Specifies a mapping of additional values that map non-unique data values to a unique attribute value.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="type-mapping" type="type-mapping">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines the object and data value mapping.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="type-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Define an object and data value mapping.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="object-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the value to use in the object's attribute.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="data-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Specifies the value to use in the database field.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="database-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query/interaction against a database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="true" name="maintain-cache" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should bypass the cache completely.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="bind-all-parameters" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should use paramater binding for arguments, or print the arguments in-line.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="cache-statement" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the queries statement should be cached, this must be used with parameter binding.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="timeout" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies a timeout to cancel the query in if the request takes too long to complete.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="prepare" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should prepare and cache its generated SQL, or regenerate the SQL on each execution.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="call" type="criteria">
-            <xsd:annotation>
-              <xsd:documentation>For static calls the SQL or Stored Procedure call definition can be specified.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="join-fetch-type">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid join fetch options.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="inner-join" />
-      <xsd:enumeration value="outer-join" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="cascade-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid cascade policies.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="none" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="all" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="value-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading a single value.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading a collection of values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="data-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="data-read-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading raw data.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for reading.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="false" name="cache-query-results" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the query should cache the query results to avoid future executions.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="max-rows" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the maximum number of rows to fetch, results will be trunctate on the database to this size.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="first-result" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifies where to start the cursor in a result set returned from the database. Results prior to this number will not be built into objects</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-size" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>Specifiess the number of rows to fetch from the database on each result set next operation.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="query-result-cache-policy" type="query-result-cache-policy">
-            <xsd:annotation>
-              <xsd:documentation>Specify how the query results should be cached.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="query-result-cache-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines how a query's results should be cached.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="invalidation-policy" type="cache-invalidation">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cache invalidation policy. By default there will be no cache invalidation policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="100" name="maximum-cached-results" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>This defines the number of query result sets that will be cached. The LRU query results will be discarded when the max size is reached.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="data-modify-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for manipulating data.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-modify-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for modifying an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="update-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for updating an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="insert-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for inserting an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="delete-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for deleting an object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-modify-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="does-exist-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for determining if an object exists.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="existence-check" type="existence-check">
-            <xsd:annotation>
-              <xsd:documentation>The existence check option.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="existence-check">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid existence check options.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="check-cache" />
-      <xsd:enumeration value="check-database" />
-      <xsd:enumeration value="assume-existence" />
-      <xsd:enumeration value="assume-non-existence" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="delete-all-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for deleting a criteria of objects.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="database-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-level-read-query" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for objects (as apposed to data).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full qualified name of the class of objects being queried.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should refresh any cached objects from the database.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="remote-refresh" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should refresh any remotely cached objects from the server.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="cascade-policy" type="cascade-policy">
-            <xsd:annotation>
-              <xsd:documentation>Specifies if the queries settings (such as refresh, maintain-cache) should apply to the object's relationship queries.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="primary-key" name="cache-usage" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify how the query should interact with the cache.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="lock-mode" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should lock the resulting rows on the database.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="none" name="distinct-state" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the query should filter distinct results.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="in-memory-querying">
-            <xsd:annotation>
-              <xsd:documentation>The in memory querying policy.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element default="ignore-exceptions-return-conformed" name="policy" type="xsd:string">
-                  <xsd:annotation>
-                    <xsd:documentation>Specify how indirection or unconformable expressions should be treating with in-memory querying and conforming.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="true" name="use-default-fetch-group" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the default fetch group should be used for the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-group" type="fetch-group">
-            <xsd:annotation>
-              <xsd:documentation>Allow the query to partially fetch the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="fetch-group-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify a pre-defined named fetch group to allow the query to partially fetch the object.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="use-exclusive-connection" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if the exclusive connection (VPD) should be used for the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="joined-attribute-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Specifies the attributes being joined.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for joining</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="read-only" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Specify if objects resulting from the query are read-only, and will not be registered in the unit of work.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="outer-join-subclasses" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>For inheritance queries specify if all subclasses should be outer joined, instead of a query per subclass.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-all-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for a set of objects.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-level-read-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="batch-read-attribute-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Specifies all attributes for batch reading.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for batch reading</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="order-by-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Sets the order expressions for the query.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for ordering</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="read-object-query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query for a single object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="object-level-read-query" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="report-query">
-    <xsd:annotation>
-      <xsd:documentation>Query for information about a set of objects instead of the objects themselves.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="read-all-query">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="return-choice" type="return-choice">
-            <xsd:annotation>
-              <xsd:documentation>Simplifies the result by only returning the first result, first value, or all attribute values.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="retrieve-primary-keys" type="retrieve-primary-keys">
-            <xsd:annotation>
-              <xsd:documentation>Indicates wether the primary key values should also be retrieved for the reference class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="report-items">
-            <xsd:annotation>
-              <xsd:documentation>Items to be selected, these could be attributes or aggregate functions.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="item" type="report-item">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an item requested</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="group-by-expressions">
-            <xsd:annotation>
-              <xsd:documentation>Sets GROUP BY expressions for the query.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="expression" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Represents an expression for grouping</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="return-choice">
-    <xsd:annotation>
-      <xsd:documentation>Simplifies the result by only returning the first result, first value, or all attribute values.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="return-single-result" />
-      <xsd:enumeration value="return-single-value" />
-      <xsd:enumeration value="return-single-attribute" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="retrieve-primary-keys">
-    <xsd:annotation>
-      <xsd:documentation>Indicates wether the primary key values should also be retrieved for the reference class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="full-primary-key" />
-      <xsd:enumeration value="first-primary-key" />
-      <xsd:enumeration value="no-primary-key" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="report-item">
-    <xsd:annotation>
-      <xsd:documentation>Represents an item requested in ReportQuery.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Name given for item, can be used to retieve value from result.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="attribute-expression" type="expression">
-        <xsd:annotation>
-          <xsd:documentation>Expression (partial) that describes the attribute wanted.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="expression" abstract="true">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query filter expression tree.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="relation-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a relation expression that compares to expressions through operators such as equal, lessThan, etc..</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="left" type="expression" />
-          <xsd:element name="right" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="operator" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="logic-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a expression composed of two sub-expressions joined through an operator such as AND, OR.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="left" type="expression" />
-          <xsd:element name="right" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="operator" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="function-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines a expression composed of a function applied to a list of sub-expressions.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of function arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="expression">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument expression.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-        <xsd:attribute name="function" type="operator" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="constant-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression value.  If the value is null the value tag can is absent.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="value" type="xsd:anySimpleType" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="query-key-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression query-key.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="base" type="expression" />
-        </xsd:sequence>
-        <xsd:attribute name="name" type="xsd:string" />
-        <xsd:attribute name="any-of" type="xsd:boolean" />
-        <xsd:attribute name="outer-join" type="xsd:boolean" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="field-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression field.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="field" type="field" />
-          <xsd:element name="base" type="expression" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="parameter-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression parameter.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression">
-        <xsd:sequence>
-          <xsd:element name="parameter" type="field" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="base-expression">
-    <xsd:annotation>
-      <xsd:documentation>Defines an expression builder/base.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="expression" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="operator">
-    <xsd:annotation>
-      <xsd:documentation>Defines the set of valid operators.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-  <xsd:complexType name="sql-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines an SQL query language string.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="sql" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The full SQL query string.  Arguments can be specified through #arg-name tokens in the string.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="ejbql-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EJB-QL query language string.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="ejbql" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The EJB-QL query string.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="stored-procedure-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure invocation definition.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="procedure-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the stored procedure.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="cursor-output-procedure" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Define the call to use a cursor output parameter to define the result set.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input and output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="procedure-argument">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure. The order of the arguments must match the procedure arguments if not named.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="stored-function-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored function invocation definition.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="stored-procedure-call">
-        <xsd:sequence>
-          <xsd:element minOccurs="1" name="stored-function-result" type="procedure-output-argument">
-            <xsd:annotation>
-              <xsd:documentation>The return value of the stored-function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="procedure-argument-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The stored procedure name of the argument. For indexed argument the name is not required.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="argument-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The query name of the argument. This is the name of the argument as define in the query.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified name of the argument class type.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-sqltype" type="xsd:int">
-        <xsd:annotation>
-          <xsd:documentation>The JDBC int type of the argument, as defined in java.jdbc.Types</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="procedure-argument-sqltype-name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The name of the type if procedure-argument-sqltype is STRUCT or ARRAY</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="argument-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>The procedure argument value maybe be specified if not using a query argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-output-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call output argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="procedure-argument" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="procedure-inoutput-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure call output argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="procedure-argument">
-        <xsd:sequence>
-          <xsd:element name="output-argument-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The query name of the argument. This is the name of the argument as define in the query.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-stored-procedure-call">
-    <xsd:annotation>
-      <xsd:documentation>Defines a stored procedure invocation definition whose arguments contain at least one Oracle PL/SQL type that has no JDBC representation (e.g. BOOLEAN, PLS_INTEGER, PL/SQL record).</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="procedure-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the stored procedure.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input and output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="plsql-procedure-argument-type">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-procedure-argument-type" abstract="true">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string" />
-      <xsd:element minOccurs="0" name="index" type="xsd:string" />
-      <xsd:element minOccurs="0" name="direction" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="jdbc-type">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:choice>
-            <xsd:element minOccurs="0" name="length" type="xsd:string" />
-            <xsd:sequence>
-              <xsd:element name="precision" type="xsd:string" />
-              <xsd:element name="scale" type="xsd:string" />
-            </xsd:sequence>
-          </xsd:choice>
-        </xsd:sequence>
-        <xsd:attribute name="type-name" type="xsd:string" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-type">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:attribute name="type-name" type="xsd:string" />
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-record">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:element name="type-name" type="xsd:string" />
-          <xsd:element minOccurs="0" name="compatible-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="java-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="fields">
-            <xsd:annotation>
-              <xsd:documentation>The list of fields.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="plsql-procedure-argument-type">
-                  <xsd:annotation>
-                    <xsd:documentation>Defines an argument to the procedure.</xsd:documentation>
-                  </xsd:annotation>
-                </xsd:element>
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="plsql-collection">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="plsql-procedure-argument-type">
-        <xsd:sequence>
-          <xsd:element name="type-name" type="xsd:string" />
-          <xsd:element minOccurs="0" name="compatible-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="java-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="nested-type" type="plsql-procedure-argument-type" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to an EIS record data structure.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element name="datatype" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the record structure name the descriptor maps to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="namespace-resolver" type="namespace-resolver">
-            <xsd:annotation>
-              <xsd:documentation>The namespace resolver for the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="mapped-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing MappedRecord.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the input result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing XML records.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-record-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name to use for the input record, if required by the adapter.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-root-element-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the input result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-result-path" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optional root key if the output result is not at the record root.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="indexed-interaction">
-    <xsd:annotation>
-      <xsd:documentation>Defines an EIS interaction utilizing Indexed records.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="criteria">
-        <xsd:sequence>
-          <xsd:element name="function-name" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the function.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="input-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of input arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="output-arguments">
-            <xsd:annotation>
-              <xsd:documentation>The list of output arguments.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="interaction-argument" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="interaction-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines an interaction argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="argument-value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>The procedure argument value maybe be specified if not using a query argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The interaction name of the argument. For indexed arguments the name is not required.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="argument-name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The query name of the argumen. This is the name of the argument as define in the query, or the descriptor field name.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="object-relational-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to a Structure type in an object-relational database.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relational-class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the object structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="field-order">
-            <xsd:annotation>
-              <xsd:documentation>The ordered list of the field defined in the structure.</xsd:documentation>
-            </xsd:annotation>
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="nested-table-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-m/m-m relationship that makes use of the object-relational nested-table type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field/column in the source table that stores the nested-table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the nested-table type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="array-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of primitive/simple type values using the object-relational array type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-array-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a collection of object-types using the object-relational array type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping">
-        <xsd:sequence>
-          <xsd:element name="structure" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Specify the object-relational type name of the structure type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="structure-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a structure of object-types using the object-relational structure type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a reference to another object-type using the object-relational reference type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="relationship-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field">
-            <xsd:annotation>
-              <xsd:documentation>The field in the source type that stores the reference.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-relational-field">
-    <xsd:annotation>
-      <xsd:documentation>Defines an ObjectRelationalDatabaseField</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="nested-type-field" type="field" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="direct-xml-type-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct mapping to an Oracle XDB XML Type.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="read-whole-document" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="field" type="field" />
-          <xsd:element minOccurs="0" name="value-converter" type="value-converter">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify how the data value should be converted to the object value.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="value-converter-class" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Optionally specify a user defined converter class.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-collection-reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-M relationship from the source XML element to the target XML element based on a key.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-object-reference-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="containerpolicy" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element name="uses-single-node" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-object-reference-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a 1-1 relationship from the source XML element to the target XML element based on one or more keys.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="aggregate-object-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="source-to-target-key-field-association" type="foreign-key" />
-          <xsd:element minOccurs="0" name="source-to-target-key-fields">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="field" />
-              </xsd:sequence>
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-cdata" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="null-policy" type="abstract-null-policy" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-direct-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a direct collection mapping for an XML list of elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-direct-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string" />
-          <xsd:element name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy">
-            <xsd:annotation>
-              <xsd:documentation>Defines the collection type to use for the relationship.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping">
-        <xsd:sequence>
-          <xsd:element name="container-attribute" minOccurs="0"/>
-          <xsd:element name="container-get-method" minOccurs="0"/>
-          <xsd:element name="container-set-method" minOccurs="0"/>
-          <xsd:element name="keep-as-element-policy" type="xsd:string" minOccurs="0"/>
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite collection mapping for an XML list of nested elements.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reference-class" type="xsd:string" />
-          <xsd:element name="field" type="field" />
-      <xsd:element name="container-attribute" minOccurs="0"/>
-      <xsd:element name="container-get-method" minOccurs="0"/>
-      <xsd:element name="container-set-method" minOccurs="0"/>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="null-policy" type="abstract-null-policy" />
-          <xsd:element minOccurs="0" name="keep-as-element-policy" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="eis-composite-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a composite object mapping for an XML nested element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-object-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-class-mapping-descriptor">
-    <xsd:annotation>
-      <xsd:documentation>Defines a class mapping to an XML element.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="class-mapping-descriptor">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="default-root-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The name of the element the descriptor maps to.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="default-root-element-field" type="node">
-            <xsd:annotation>
-              <xsd:documentation>The XMLField representing the default root element of the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="should-preserve-document" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if nodes should be cached to preserve unmapped data</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="namespace-resolver" type="namespace-resolver">
-            <xsd:annotation>
-              <xsd:documentation>The namespace resolver for the descriptor.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="schema" type="schema-reference">
-            <xsd:annotation>
-              <xsd:documentation>The location of the XML Schema.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="false" name="result-always-xml-root" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to an xs:any declaration or xs:anyType element</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy" />
-          <xsd:element minOccurs="0" default="false" name="use-xml-root" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="keep-as-element-policy" type="xsd:string" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-attribute-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to an xs:any declaration or xs:anyType element</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" name="container" type="container-policy" />
-          <xsd:element minOccurs="0" name="include-namespace-declaration" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="include-schema-instance" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-any-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a single object to an xs:any declaration</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="field" type="field" />
-          <xsd:element minOccurs="0" default="false" name="use-xml-root" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="keep-as-element-policy" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-fragment-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a single Node to a fragment of an XML document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-fragment-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection of Nodes to a fragment of an XML document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-composite-collection-mapping" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-binary-data-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a binary object to base64 binary</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-direct-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-swa-ref" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="mime-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="should-inline-data" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-binary-data-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a binary object to base64 binary</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="xml-composite-direct-collection-mapping">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-swa-ref" type="xsd:boolean" />
-          <xsd:element minOccurs="0" name="mime-type" type="xsd:string" />
-          <xsd:element minOccurs="0" name="should-inline-data" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-collection-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to a choice structure in an xml document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element name="container-policy" type="container-policy" />
-          <xsd:element maxOccurs="unbounded" name="field-to-class-association" type="xml-choice-field-to-class-association" />
-          <xsd:element minOccurs="0" name="reuse-container" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-object-mapping">
-    <xsd:annotation>
-      <xsd:documentation>Defines a mapping of a collection to a choice structure in an xml document</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="attribute-mapping">
-        <xsd:sequence>
-          <xsd:element maxOccurs="unbounded" name="field-to-class-association" type="xml-choice-field-to-class-association" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-choice-field-to-class-association">
-    <xsd:sequence>
-      <xsd:element name="xml-field" type="node" />
-      <xsd:element name="class-name" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="xml-conversion-pair">
-    <xsd:sequence>
-      <xsd:element name="qname" type="xsd:string" />
-      <xsd:element name="class-name" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="node">
-    <xsd:annotation>
-      <xsd:documentation>Defines an XPath expression to an element or attribute in an XML document.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="position" type="xsd:integer">
-            <xsd:annotation>
-              <xsd:documentation>The position of the node in the parent type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="typed-text-field" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If this is a typed text field.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="single-node" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if each item in the collection is in the same node instead of having one node per item in the collection</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="schema-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The schema type of the element.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="xml-to-java-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="java-to-xml-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" name="leaf-element-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Indicates the elements type.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-        <xsd:attribute name="is-required" type="xsd:boolean"/>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="union-node">
-    <xsd:annotation>
-      <xsd:documentation>Use to represent nodes which are mapped to unions</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="typed-text-field" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>If this is a typed text field.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" name="single-node" type="xsd:boolean">
-            <xsd:annotation>
-              <xsd:documentation>Indicates if each item in the collection is in the same node instead of having one node per item in the collection</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="schema-type" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>The schema type of the element.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="xml-to-java-conversion-pair" type="xml-conversion-pair" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="java-to-xml-conversion-pair" type="xml-conversion-pair" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="namespace-resolver">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" maxOccurs="1" name="namespaces">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="namespace" type="namespace" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element minOccurs="0" maxOccurs="1" name="default-namespace-uri" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="namespace">
-    <xsd:sequence>
-      <xsd:element name="prefix" type="xsd:string" />
-      <xsd:element name="namespace-uri" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="schema-reference">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="resource" type="xsd:string" />
-      <xsd:element name="schema-context" type="xsd:string" />
-      <xsd:element name="node-type" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="schema-class-path-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="schema-file-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="schema-url-reference">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="schema-reference" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="java-character">
-    <xsd:restriction base="xsd:string" />
-  </xsd:simpleType>
-  <xsd:simpleType name="java-timestamp">
-    <xsd:restriction base="xsd:dateTime" />
-  </xsd:simpleType>
-  <xsd:simpleType name="java-util-date">
-    <xsd:restriction base="xsd:dateTime" />
-  </xsd:simpleType>
-  <xsd:complexType name="cmp-policy">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="pessimistic-locking" type="pessimistic-locking">
-        <xsd:annotation>
-          <xsd:documentation>Defines the cmp bean-level pessimistic locking policy.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="defer-until-commit" type="defer-until-commit">
-        <xsd:annotation>
-          <xsd:documentation>Defines modification deferral level for non-deferred writes.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="non-deferred-create-time" type="non-deferred-create-time">
-        <xsd:annotation>
-          <xsd:documentation>Defines point at which insert will be issued to Database.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="pessimistic-locking">
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="wait" name="locking-mode" type="locking-mode" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:simpleType name="defer-until-commit">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="all-modifications" />
-      <xsd:enumeration value="update-modifications" />
-      <xsd:enumeration value="none" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="non-deferred-create-time">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="after-ejbcreate" />
-      <xsd:enumeration value="after-ejbpostcreate" />
-      <xsd:enumeration value="undefined" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="locking-mode">
-    <xsd:annotation>
-      <xsd:documentation>Holds the pessimistic locking mode.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="wait" />
-      <xsd:enumeration value="no-wait" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="sequence">
-    <xsd:annotation>
-      <xsd:documentation>Sequence object.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="" name="name" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>Sequence name.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" default="50" name="preallocation-size" type="xsd:integer">
-        <xsd:annotation>
-          <xsd:documentation>Sequence preallocation size.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="default-sequence">
-    <xsd:annotation>
-      <xsd:documentation>References default sequence object, overriding its name and (optionally) preallocation size.</xsd:documentation>
-      <xsd:documentation>To use preallocation size of default sequence object, set preallocation size to 0</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="native-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Database sequence mechanism used.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="table-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Table sequence</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="table" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_NAME" name="name-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence name field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_COUNT" name="counter-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="unary-table-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Unary table sequence - sequence name is a table name, table has a single field and a single row</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="counter-field" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xmlfile-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Xmlfile sequence.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="xml-sequence">
-    <xsd:annotation>
-      <xsd:documentation>Xml sequence</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="sequence">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="SEQUENCE" name="root-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_NAME" name="name-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence name field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-          <xsd:element minOccurs="0" default="SEQ_COUNT" name="counter-element" type="xsd:string">
-            <xsd:annotation>
-              <xsd:documentation>Define the name of the sequence counter field in the sequence table.</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="fetch-groups">
-    <xsd:annotation>
-      <xsd:documentation>Contains all pre-defined fetch groups.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="default-fetch-group" type="fetch-group" />
-      <xsd:element minOccurs="0" maxOccurs="unbounded" name="fetch-group" type="fetch-group" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="fetch-group">
-    <xsd:annotation>
-      <xsd:documentation>Contains the fetch group attributes info.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="name" type="xsd:string" />
-      <xsd:element name="fetch-group-attributes">
-        <xsd:complexType>
-          <xsd:annotation>
-            <xsd:documentation>Contains a fetch group's attribute list.</xsd:documentation>
-          </xsd:annotation>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="fetch-group-attribute" type="xsd:string" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Describes the change tracking policy for this descriptor.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="deferred-detection-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses backup clone to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="object-level-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses "mark dirty" to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="attribute-level-change-policy">
-    <xsd:annotation>
-      <xsd:documentation>Uses a ChangeTracker firing PropertyChangeEvent's to detect changes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="change-policy" />
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="abstract-null-policy">
-    <xsd:annotation>
-      <xsd:documentation>Defines the Null Policy in use for this relationship currently a choice of [NullPolicy and IsSetNullPolicy].</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" default="false" name="xsi-nil-represents-null" type="xsd:boolean" />
-      <xsd:element minOccurs="0" default="false" name="empty-node-represents-null" type="xsd:boolean" />
-      <xsd:element minOccurs="0" name="null-representation-for-xml" type="marshal-null-representation" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="null-policy">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-null-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" default="true" name="is-set-performed-for-absent-node" type="xsd:boolean" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="is-set-null-policy">
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="abstract-null-policy">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="is-set-method-name" type="xsd:string" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="is-set-parameter-type" type="xsd:string" />
-          <xsd:element minOccurs="0" maxOccurs="unbounded" name="is-set-parameter" type="xsd:string" />
-        </xsd:sequence>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:simpleType name="marshal-null-representation">
-    <xsd:annotation>
-      <xsd:documentation>Write null, no tag(default) or an empty tag.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="XSI_NIL" />
-      <xsd:enumeration value="ABSENT_NODE" />
-      <xsd:enumeration value="EMPTY_NODE" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:complexType name="field">
-    <xsd:annotation>
-      <xsd:documentation>Defines a generic field concept, such as a database column.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the field.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="column">
-    <xsd:annotation>
-      <xsd:documentation>Defines a column in a relational database table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexContent mixed="false">
-      <xsd:extension base="field">
-        <xsd:attribute name="table" type="xsd:string">
-          <xsd:annotation>
-            <xsd:documentation>The name of the column's table. This table must be listed in the class' tables. If not specified the first table of the class will be used.</xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-        <xsd:attribute name="sql-typecode" type="xsd:integer">
-          <xsd:annotation>
-            <xsd:documentation>(optional field) The JDBC typecode of this column</xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-        <xsd:attribute name="column-definition" type="xsd:string">
-          <xsd:annotation>
-            <xsd:documentation>(optional field) Name of the JDBC typecode for this column</xsd:documentation>
-          </xsd:annotation>
-        </xsd:attribute>
-      </xsd:extension>
-    </xsd:complexContent>
-  </xsd:complexType>
-  <xsd:complexType name="foreign-key">
-    <xsd:annotation>
-      <xsd:documentation>The list of source/target field/column references relating a foreign key in one table to the primary or unique key in another table.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" name="field-reference">
-        <xsd:annotation>
-          <xsd:documentation>The reference of a source table foreign key and a target table primary key.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="source-field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The foreign key field/column name in the source table.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="target-field" type="field">
-              <xsd:annotation>
-                <xsd:documentation>The primary or unique key field/column name in the target table.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="query">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query specification for querying instances of the class.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="criteria" type="criteria">
-        <xsd:annotation>
-          <xsd:documentation>The selection criteria of the query.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="arguments">
-        <xsd:annotation>
-          <xsd:documentation>The list of query arguments. The order of the argument must match the order of the argument value passed to the query.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element minOccurs="0" maxOccurs="unbounded" name="argument" type="query-argument">
-              <xsd:annotation>
-                <xsd:documentation>The query argument.</xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the query.  This name can be used to reference and execute the query.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="criteria">
-    <xsd:annotation>
-      <xsd:documentation>Defines the filtering clause of a query.</xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-  <xsd:complexType name="query-argument">
-    <xsd:annotation>
-      <xsd:documentation>Defines a query argument.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element minOccurs="0" name="type" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>The fully qualified class type name of the argument may be provided.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element minOccurs="0" name="value" type="xsd:anySimpleType">
-        <xsd:annotation>
-          <xsd:documentation>Optional constant value for the argument.</xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the query argument.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="property">
-    <xsd:annotation>
-      <xsd:documentation>A user defined property.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="value" type="xsd:anyType" />
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" />
-  </xsd:complexType>
-  <xsd:complexType name="table">
-    <xsd:annotation>
-      <xsd:documentation>The list of tables that the class is persisted to.  This is typically a single table but can be multiple, or empty for inheritance or aggregated classes.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string">
-      <xsd:annotation>
-        <xsd:documentation>The name of the table.  The name can be fully qualified with the schema, tablespace or link.</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-  </xsd:complexType>
-  <xsd:complexType name="value-converter">
-    <xsd:annotation>
-      <xsd:documentation>
-        Specifies how the data value should be converted to the
-        object value.
-      </xsd:documentation>
-    </xsd:annotation>
-  </xsd:complexType>
-
-  <xsd:complexType name="document-preservation-policy">
-    <xsd:sequence>
-        <xsd:element name="node-ordering-policy"
-            type="node-ordering-policy" maxOccurs="1" minOccurs="0">
-        </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-    <xsd:complexType name="node-ordering-policy"></xsd:complexType>
-
-
-    <xsd:complexType
-        name="descriptor-level-document-preservation-policy">
-        <xsd:complexContent>
-            <xsd:extension base="document-preservation-policy"></xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="no-document-preservation-policy">
-        <xsd:complexContent>
-            <xsd:extension base="document-preservation-policy"></xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="xml-binder-policy">
-        <xsd:complexContent>
-            <xsd:extension base="document-preservation-policy"></xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="append-new-elements-ordering-policy">
-        <xsd:complexContent>
-            <xsd:extension base="node-ordering-policy"></xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="ignore-new-elements-ordering-policy">
-        <xsd:complexContent>
-            <xsd:extension base="node-ordering-policy"></xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="relative-position-ordering-policy">
-        <xsd:complexContent>
-            <xsd:extension base="node-ordering-policy"></xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-</xsd:schema>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.0.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.0.xsd
deleted file mode 100644
index 9831af0..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.0.xsd
+++ /dev/null
@@ -1,1477 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-******************************************************************************
- Copyright (c) 1998, 2010 Oracle. All rights reserved.
- This program and the accompanying materials are made available under the 
- terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- which accompanies this distribution. 
- The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- and the Eclipse Distribution License is available at 
- http://www.eclipse.org/org/documents/edl-v10.php.
-
- Contributors:
-     Oracle - initial API and implementation from Oracle TopLink
-*****************************************************************************/
--->
-<!-- 
-
-XML Schema definition for the Eclipse Persistence Services Project Session Configuration file. Instances
-of this file are typically located as: 'META-INF/sessions.xml'
-
- -->
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    elementFormDefault="qualified" version="1.0">
-    <xsd:element name="sessions">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the root element and exists only for XML
-                structure
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-            <xsd:sequence>
-                <xsd:element name="session" type="session" minOccurs="0"
-                    maxOccurs="unbounded" />
-            </xsd:sequence>
-            <xsd:attribute name="version" type="xsd:string"
-                use="required" />
-        </xsd:complexType>
-    </xsd:element>
-    <xsd:complexType name="session">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the node element that describes a particular session
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Generic element used to describe a string that
-                        represents the name of an item
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="server-platform" type="server-platform"
-                minOccurs="0" />
-            <xsd:choice minOccurs="0">
-                <xsd:element name="remote-command">
-                    <xsd:annotation>
-                        <xsd:documentation>
-                            This element is an optional element of
-                            session element that define the Remote
-                            Command Module that can also be used for
-                            cache synchronization
-                        </xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:sequence>
-                            <xsd:element name="channel"
-                                type="xsd:string" default="EclipseLinkCommandChannel"
-                                minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element."
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                            <xsd:element name="commands"
-                                minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element. It determine what
-                                        command features, the RCM
-                                        supports
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                                <xsd:complexType>
-                                    <xsd:sequence>
-                                        <xsd:element name="cache-sync"
-                                            type="xsd:boolean" default="false" minOccurs="0">
-                                            <xsd:annotation>
-                                                <xsd:documentation>
-                                                    This element is an
-                                                    optional element of
-                                                    command element. It
-                                                    turns on cache
-                                                    synchronization to
-                                                    allow sending and
-                                                    receiving cache sync
-                                                    commands
-                                                </xsd:documentation>
-                                            </xsd:annotation>
-                                        </xsd:element>
-                                    </xsd:sequence>
-                                </xsd:complexType>
-                            </xsd:element>
-                            <xsd:element name="transport"
-                                type="transport-manager" minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element. It defines the
-                                        transport mechanism of the RCM.
-                                        The default transport mechanism
-                                        is RMI
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                        </xsd:sequence>
-                    </xsd:complexType>
-                </xsd:element>
-            </xsd:choice>
-            <xsd:element name="event-listener-classes" minOccurs="0">
-                <xsd:complexType>
-                    <xsd:group ref="event-listener-classes" />
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="profiler" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element represents if the profiler will be
-                        used by the session
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:simpleType>
-                    <xsd:restriction base="xsd:string">
-                        <xsd:enumeration value="dms" />
-                        <xsd:enumeration value="eclipselink" />
-                    </xsd:restriction>
-                </xsd:simpleType>
-            </xsd:element>
-            <xsd:element name="exception-handler-class"
-                type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This is the class that the session will use to
-                        handle exceptions generated from within the
-                        session
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="logging" type="log" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element used to specify the logging options
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="session-customizer-class"
-                type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element specifies the session customizer
-                        class to run on a loaded session.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="server-platform">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the node element that describes which server
-                platform to use, JTA settings and runtime services
-                settings
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="enable-runtime-services"
-                type="xsd:boolean" default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element. This
-                        specifies whether or not the JMX MBean for
-                        providing runtime services is deployed.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="enable-jta" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element. This
-                        specifies whether or not this session will
-                        integrate with the JTA (i.e. whether the session
-                        will be populated with a transaction controller
-                        class. The choice of server-class will
-                        automatically be chosen based on the transaction
-                        controller
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="custom-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform">
-                <xsd:sequence>
-                    <xsd:element name="server-class" type="xsd:string"
-                        default="org.eclipse.persistence.platform.server.CustomServerPlatform"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This is the subclass of
-                                org.eclipse.persistence.platform.server.PlatformBase
-                                to specify which server platform to use
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element
-                        name="external-transaction-controller-class" type="xsd:string"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-903-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-904-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1012-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1013-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1111-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform"/>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-61-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-70-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-81-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-9-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-10-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-40-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-50-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-51-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-60-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-61-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jboss-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="session-broker">
-        <xsd:annotation>
-            <xsd:documentation>
-                Provides a single view to a session that
-                transparently accesses multple databases.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="session">
-                <xsd:sequence>
-                    <xsd:element name="session-name" type="xsd:string"
-                        maxOccurs="unbounded">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This is the element that represents the
-                                session name
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:simpleType name="project">
-        <xsd:restriction base="xsd:string" />
-    </xsd:simpleType>
-    <xsd:simpleType name="xml">
-        <xsd:restriction base="project" />
-    </xsd:simpleType>
-    <xsd:simpleType name="class">
-        <xsd:restriction base="project" />
-    </xsd:simpleType>
-    <xsd:complexType name="database-session">
-        <xsd:annotation>
-            <xsd:documentation>
-                The session is the primary interface into EclipseLink, the
-                application should do all of its reading and writing of
-                objects through the session. The session also manages
-                transactions and units of work. The database session is
-                intended for usage in two-tier client-server
-                applications. Although it could be used in a server
-                situation, it is limitted to only having a single
-                database connection and only allows a single open
-                database transaction.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="session">
-                <xsd:sequence>
-                    <xsd:element name="primary-project" type="project"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This project (class or xml) will be
-                                loaded as the primary project for the
-                                session.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="additional-project"
-                        type="project" minOccurs="0" maxOccurs="unbounded">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Additional projects will have their
-                                descriptors appended to the primary
-                                project.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="login" type="login"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="server-session">
-        <xsd:annotation>
-            <xsd:documentation>
-                Is an extension of a DatabaseSession
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="database-session">
-                <xsd:sequence>
-                    <xsd:element name="connection-pools"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Connection pools are only for usage with
-                                internal connection pooling and should
-                                not be used if using external connection
-                                pooling
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element name="read-connection-pool"
-                                    type="read-connection-pool" minOccurs="0" />
-                                <xsd:element
-                                    name="write-connection-pool" type="connection-pool"
-                                    minOccurs="0" />
-                                <xsd:element
-                                    name="sequence-connection-pool" type="connection-pool"
-                                    minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            Set this tag to use the
-                                            sequence connection pool
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                                <xsd:element name="connection-pool"
-                                    type="connection-pool" minOccurs="0" maxOccurs="unbounded" />
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="connection-policy"
-                        type="connection-policy" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="connection-policy">
-        <xsd:annotation>
-            <xsd:documentation>
-                Used to specify how default client sessions are acquired
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="exclusive-connection" type="xsd:boolean"
-                default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Specifies if an exclusive connection should be
-                        used for reads, required for VPD, or user based
-                        read security.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="lazy" type="xsd:boolean" default="true"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Specifies if a connection should be acquired and
-                        held upfront in the client session, or only
-                        acquired when needed and then released.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines common fields for database-login and eis-login
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="platform-class" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This is the element that represents the platform
-                        class name
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="user-name" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="encryption-class" type="xsd:string"
-                default="org.eclipse.persistence.internal.security.JCEEncryptor"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="password" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="table-qualifier" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set the default qualifier for all tables. This
-                        can be the creator of the table or database name
-                        the table exists on. This is required by some
-                        databases such as Oracle and DB2.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="external-connection-pooling"
-                type="xsd:boolean" default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set to true if the connection should use an
-                        external connection pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="external-transaction-controller"
-                type="xsd:boolean" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set to true if the session will be using an
-                        external transaction controller
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="sequencing" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequencing information.
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element name="default-sequence"
-                            type="sequence" minOccurs="0">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    Default sequence. The name is
-                                    optional. If no name provided an
-                                    empty string will be used as a name.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                        </xsd:element>
-                        <xsd:element name="sequences" minOccurs="0">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    Non default sequences. Make sure
-                                    each sequence has unique name.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:sequence>
-                                    <xsd:element name="sequence"
-                                        type="sequence" minOccurs="0" maxOccurs="unbounded" />
-                                </xsd:sequence>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="property" minOccurs="0"
-                maxOccurs="unbounded">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of a login.
-                        It is used to define extra properties on the
-                        login
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:attribute name="name" type="xsd:string"
-                        use="required" />
-                    <xsd:attribute name="value" type="xsd:string"
-                        use="required" />
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="database-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Holds the configuration information necessary to connect
-                to a JDBC driver.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login">
-                <xsd:sequence>
-                    <xsd:choice minOccurs="0">
-                        <xsd:sequence>
-                            <xsd:element name="driver-class"
-                                type="xsd:string">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        The driver class is the Java
-                                        class for the JDBC driver to be
-                                        used (e.g.
-                                        sun.jdbc.odbc.JdbcOdbcDriver.class)
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                            <xsd:element name="connection-url"
-                                type="xsd:string">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This is the URL that will be
-                                        used to connect to the database.
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                        </xsd:sequence>
-                        <xsd:element name="datasource">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    This is the URL of a datasource that
-                                    may be used by the session to
-                                    connect to the database.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:simpleContent>
-                                    <xsd:extension base="xsd:string">
-                                        <xsd:attribute name="lookup"
-                                            type="lookup-enum" />
-                                    </xsd:extension>
-                                </xsd:simpleContent>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:choice>
-                    <xsd:element name="bind-all-parameters"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether to bind all arguments to any
-                                SQL statement.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="cache-all-statements"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether prepared statements should
-                                be cached.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="byte-array-binding"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use
-                                parameter binding for large binary data.
-                                By default EclipseLink will print this data
-                                as hex through the JDBC binary excape
-                                clause. Both binding and printing have
-                                various limits on all databases (e.g. 5k
-                                - 32k).
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="string-binding"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set to true if strings should be bound.
-                                Used to help bean introspection.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="streams-for-binding"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use streams
-                                to store large binary data. This can
-                                improve the max size for reading/writing
-                                on some JDBC drivers.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="force-field-names-to-upper-case"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This setting can be used if the
-                                application expects upper case but the
-                                database does not return consistent case
-                                (e.g. different databases).
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="optimize-data-conversion"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether driver level data conversion
-                                optimization is enabled. This can be
-                                disabled as some drivers perform data
-                                conversion themselves incorrectly.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="trim-strings" type="xsd:boolean"
-                        default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                By default CHAR field values have
-                                trailing blanks trimmed, this can be
-                                configured.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="batch-writing" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use batch
-                                writing. This facility allows multiple
-                                write operations to be submitted to a
-                                database for processing at once.
-                                Submitting multiple updates together,
-                                instead of individually, can greatly
-                                improve performance in some situations.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="jdbc-batch-writing"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Setting this tag with true indicates to
-                                EclipseLink that the JDBC driver supports
-                                batch writing. EclipseLink's internal batch
-                                writing is disabled. Setting this tag
-                                with false indicates to EclipseLink that the
-                                JDBC driver does not support batch
-                                writing. This will revert to the default
-                                behaviour which is to delegate to
-                                EclipseLink's internal batch writing.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="max-batch-writing-size"
-                        type="xsd:integer" default="32000" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Allow for the max batch writing size to
-                                be set. This allows for the batch size
-                                to be limited as most database have
-                                strict limits. The size is in
-                                characters, the default is 32000 but the
-                                real value depends on the database
-                                configuration.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="native-sql" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use
-                                database specific sql grammar not JDBC
-                                specific. This is because unfortunately
-                                some bridges to not support the full
-                                JDBC standard. By default EclipseLink uses
-                                the JDBC sql grammar.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="struct-converters"
-                        minOccurs="0">
-                        <xsd:complexType>
-                            <xsd:group ref="struct-converters" />
-                        </xsd:complexType>
-                    </xsd:element>
-					<xsd:element name="connection-health-validated-on-error" type="xsd:boolean" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>If true will cause EclipseLink to ping database to determine if an SQLException was cause by a communication failure</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="query-retry-attempt-count" type="xsd:integer" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Configure the number of attempts EclipseLink will make if EclipseLink is attempting to retry a query.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="delay-between-reconnect-attempts" type="xsd:integer" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Configure the time in miliseconds that EclipseLink will wait between attempts to reconnect if EclipseLink is attempting to retry a query.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="ping-sql" type="xsd:string" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Override the platform specific SQL that EclipseLink will issue to a connection to determine if the connection is still live.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:simpleType name="lookup-enum">
-        <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="composite-name" />
-            <xsd:enumeration value="compound-name" />
-            <xsd:enumeration value="string" />
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="eis-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines connection information and datasource
-                properties. There are three ways to connect through EIS,
-                - Provide a JNDI name to the ConnectionFactory and use
-                the default getConnection - Provide a JNDI name to the
-                ConnectionFactory, and a driver specific ConnectionSpec
-                to pass to the getConnection - Connect in a non-managed
-                way directly to the driver specific ConnectionFactory An
-                EISConnectionSpec must be provided to define how to
-                connect to the EIS adapter. The EIS platform can be used
-                to provide datasource/driver specific behavoir such as
-                InteractionSpec and Record conversion.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login">
-                <xsd:sequence>
-                    <xsd:element name="connection-spec-class"
-                        type="xsd:string" minOccurs="0" />
-                    <xsd:element name="connection-factory-url"
-                        type="xsd:string" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xml-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines login and platform type to be used
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="connection-pool">
-        <xsd:annotation>
-            <xsd:documentation>
-                Used to specify how connections should be pooled in a
-                server session.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string" />
-            <xsd:element name="max-connections" type="xsd:integer"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        The max number of connections that will be
-                        created in the pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="min-connections" type="xsd:integer"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        The min number of connections that will aways be
-                        in the pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="login" type="login" minOccurs="0" />
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="read-connection-pool">
-        <xsd:annotation>
-            <xsd:documentation>
-                The read connection pool is used for read access through
-                the server session. Any of the connection pools can be
-                used for the read pool however this is the default. This
-                pool allows for concurrent reads against the same JDBC
-                connection and requires that the JDBC connection support
-                concurrent read access.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="connection-pool">
-                <xsd:sequence>
-                    <xsd:element name="exclusive" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This tag is used to specify if the
-                                connections from the read connection
-                                pool are exclusive or not
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the common logging options
-            </xsd:documentation>
-        </xsd:annotation>
-    </xsd:complexType>
-    <xsd:complexType name="java-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the Java log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log">
-                <xsd:sequence>
-                    <xsd:element name="logging-options"
-                        type="logging-options" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="eclipselink-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the EclipseLink log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log">
-                <xsd:sequence>
-                    <xsd:element name="log-level" default="info"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element specifies the log level for logging
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:string">
-                                <xsd:enumeration value="off" />
-                                <xsd:enumeration value="severe" />
-                                <xsd:enumeration value="warning" />
-                                <xsd:enumeration value="info" />
-                                <xsd:enumeration value="config" />
-                                <xsd:enumeration value="fine" />
-                                <xsd:enumeration value="finer" />
-                                <xsd:enumeration value="finest" />
-                                <xsd:enumeration value="all" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="file-name" type="xsd:string"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Name of the file to write the logging to
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="logging-options"
-                        type="logging-options" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="server-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the Server log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="logging-options">
-        <xsd:sequence>
-            <xsd:element name="log-exception-stacktrace"
-                type="xsd:boolean" default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log exception stacktrace. Without
-                        this element, the stacktrace is logged for FINER
-                        or less (FINEST)
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-thread" type="xsd:boolean"
-                default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log thread. Without this element,
-                        the thread is logged for FINE or less (FINER or
-                        FINEST)
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-session" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log session. Without this
-                        element, the session is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-connection" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log connection. Without this
-                        element, the connection is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-date" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log date. Without this element,
-                        the date is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="transport-manager">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the transport mechanism of the RCM.
-                The default transport mechanism is RMI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="on-connection-error"
-                default="DiscardConnection" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of transport
-                        element and has value of "DiscardConnection" or
-                        "KeepConnection". It determines whether
-                        connection to a RCM service should be dropped if
-                        there is a communication error with that RCM
-                        service. The default value for this element is
-                        "DiscardConnection".
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:simpleType>
-                    <xsd:restriction base="xsd:string">
-                        <xsd:enumeration value="KeepConnection" />
-                        <xsd:enumeration value="DiscardConnection" />
-                    </xsd:restriction>
-                </xsd:simpleType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="rmi-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element is an optional element of transport
-                element. It defines the RMI transport mechanism. The
-                default naming service is JNDI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="send-mode" default="Asynchronous"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element is an optional element of
-                                rmi element and has value of
-                                "Asynchronous" or "Synchronous". It
-                                determines whether the RCM propagates
-                                command and does not wait for command to
-                                finish its execution in asynchronous
-                                mode or wait for command to finish its
-                                execution in synchronous mode. The
-                                default value of this element is
-                                "Asynchronous".
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:string">
-                                <xsd:enumeration value="Asynchronous" />
-                                <xsd:enumeration value="Synchronous" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="discovery" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element is an optional element of
-                                rmi element. It determines whether the
-                                Discovery settings should be changed.
-                                Note that a default Discovery with its
-                                default settings is created when the rmi
-                                element is specified.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element
-                                    name="multicast-group-address" type="xsd:string"
-                                    default="226.10.12.64" minOccurs="0" />
-                                <xsd:element name="multicast-port"
-                                    type="xsd:integer" default="3121" minOccurs="0" />
-                                <xsd:element name="announcement-delay"
-                                    type="xsd:integer" default="1000" minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            This element is an optional
-                                            element of discovery
-                                            elemenent. It determines
-                                            whether the multicast group
-                                            address should be changed.
-                                            The default value of this
-                                            element is "1000"
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                                <xsd:element name="packet-time-to-live"
-                                    type="xsd:integer" default="2" minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            This element is an optional
-                                            element of discovery
-                                            elemenent. It determines
-                                            whether the time-to-live of
-                                            the packets that are sent
-                                            from the Discovery's
-                                            mulsticast socket should be
-                                            changed. The default value
-                                            of this element is "2"
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:choice minOccurs="0">
-                        <xsd:element name="jndi-naming-service"
-                            type="jndi-naming-service" />
-                        <xsd:element
-                            name="rmi-registry-naming-service">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    This element is an optional element
-                                    of rmi elemenent. It determines
-                                    whether RMI registry should be used
-                                    for naming service
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:sequence>
-                                    <xsd:element name="url"
-                                        type="xsd:string" minOccurs="0" />
-                                </xsd:sequence>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:choice>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="rmi-iiop-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the RMI-IIOP transport mechanism of
-                the RCM. The default naming service is JNDI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="rmi-transport" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jms-topic-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the JMS topic transport mechanism
-                of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="topic-host-url" type="xsd:string"
-                        minOccurs="0" />
-                    <xsd:element name="topic-connection-factory-name"
-                        type="xsd:string" default="jms/EclipseLinkTopicConnectionFactory"
-                        minOccurs="0" />
-                    <xsd:element name="topic-name" type="xsd:string"
-                        default="jms/EclipseLinkTopic" minOccurs="0" />
-                    <xsd:element name="jndi-naming-service"
-                        type="jndi-naming-service" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-jgroups-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the OC4J JGroups transport
-                mechanism of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="use-single-threaded-notification"
-                        type="xsd:boolean" default="false" minOccurs="0" />
-                    <xsd:element name="topic-name" type="xsd:string"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="sun-corba-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the Sun CORBA transport mechanism
-                of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="user-defined-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element is an optional element of transport
-                element. It determines whether a user implemented
-                transport mechanism that should be used.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="transport-class"
-                        type="xsd:string" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jndi-naming-service">
-        <xsd:sequence>
-            <xsd:element name="url" type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether the
-                        URL for naming service should be changed. 
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="user-name" type="xsd:string"
-                default="admin" minOccurs="0" />
-            <xsd:element name="encryption-class" type="xsd:string"
-                default="org.eclipse.persistence.internal.security.JCEEncryptor"
-                minOccurs="0" />
-            <xsd:element name="password" type="xsd:string"
-                default="password" minOccurs="0" />
-            <!--  TODO: Need to have a non Oracle-AS default or route through server platform by default -->
-            <xsd:element name="initial-context-factory-name"
-                type="xsd:string"
-                default="com.evermind.server.rmi.RMIInitialContextFactory"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether the
-                        initial context factory class for naming service
-                        should be changed. 
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="property" minOccurs="0"
-                maxOccurs="unbounded">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether
-                        naming service requires extra property that is
-                        not defined by EclipseLink but it is required by the
-                        user application
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:attribute name="name" type="xsd:string"
-                        use="required" />
-                    <xsd:attribute name="value" type="xsd:string"
-                        use="required" />
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:group name="event-listener-classes">
-        <xsd:sequence>
-            <xsd:element name="event-listener-class" type="xsd:string"
-                minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-    </xsd:group>
-    <xsd:group name="struct-converters">
-        <xsd:sequence>
-            <xsd:element name="struct-converter" type="xsd:string"
-                minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-    </xsd:group>
-    <xsd:complexType name="sequence">
-        <xsd:annotation>
-            <xsd:documentation>Sequence object.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequence name.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="preallocation-size" type="xsd:integer"
-                default="50" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequence preallocation size.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="default-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                References default sequence object, overriding its name
-                and (optionally) preallocation size.
-            </xsd:documentation>
-            <xsd:documentation>
-                To use preallocation size of default sequence object,
-                set preallocation size to 0
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="native-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                Database sequence mechanism used.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="table-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Table sequence</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="table" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="name-field" type="xsd:string"
-                        default="SEQ_NAME" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence name
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="counter-field" type="xsd:string"
-                        default="SEQ_COUNT" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="unary-table-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                Unary table sequence - sequence name is a table name,
-                table has a single field and a single row
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="counter-field" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xmlfile-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Xmlfile sequence.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xml-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Xml sequence</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="root-element" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="name-element" type="xsd:string"
-                        default="SEQ_NAME" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence name
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="counter-element"
-                        type="xsd:string" default="SEQ_COUNT" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-</xsd:schema>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.1.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.1.xsd
deleted file mode 100644
index d872a16..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.1.xsd
+++ /dev/null
@@ -1,1585 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*******************************************************************************
- Copyright (c) 1998, 2007 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:
-     Oracle - initial API and implementation from Oracle TopLink
-*****************************************************************************/  
--->
-<!-- 
-
-XML Schema definition for the Eclipse Persistence Services Project Session Configuration file. Instances
-of this file are typically located as: 'META-INF/sessions.xml'
-
- -->
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    elementFormDefault="qualified" version="1.1">
-    <xsd:element name="sessions">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the root element and exists only for XML
-                structure
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-            <xsd:sequence>
-                <xsd:element name="session" type="session" minOccurs="0"
-                    maxOccurs="unbounded" />
-            </xsd:sequence>
-            <xsd:attribute name="version" type="xsd:string"
-                use="required" />
-        </xsd:complexType>
-    </xsd:element>
-    <xsd:complexType name="session">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the node element that describes a particular session
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Generic element used to describe a string that
-                        represents the name of an item
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="server-platform" type="server-platform"
-                minOccurs="0" />
-            <xsd:choice minOccurs="0">
-                <xsd:element name="remote-command">
-                    <xsd:annotation>
-                        <xsd:documentation>
-                            This element is an optional element of
-                            session element that define the Remote
-                            Command Module that can also be used for
-                            cache synchronization
-                        </xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:sequence>
-                            <xsd:element name="channel"
-                                type="xsd:string" default="EclipseLinkCommandChannel"
-                                minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element."
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                            <xsd:element name="commands"
-                                minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element. It determine what
-                                        command features, the RCM
-                                        supports
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                                <xsd:complexType>
-                                    <xsd:sequence>
-                                        <xsd:element name="cache-sync"
-                                            type="xsd:boolean" default="false" minOccurs="0">
-                                            <xsd:annotation>
-                                                <xsd:documentation>
-                                                    This element is an
-                                                    optional element of
-                                                    command element. It
-                                                    turns on cache
-                                                    synchronization to
-                                                    allow sending and
-                                                    receiving cache sync
-                                                    commands
-                                                </xsd:documentation>
-                                            </xsd:annotation>
-                                        </xsd:element>
-                                    </xsd:sequence>
-                                </xsd:complexType>
-                            </xsd:element>
-                            <xsd:element name="transport"
-                                type="transport-manager" minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element. It defines the
-                                        transport mechanism of the RCM.
-                                        The default transport mechanism
-                                        is RMI
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                        </xsd:sequence>
-                    </xsd:complexType>
-                </xsd:element>
-            </xsd:choice>
-            <xsd:element name="event-listener-classes" minOccurs="0">
-                <xsd:complexType>
-                    <xsd:group ref="event-listener-classes" />
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="profiler" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element represents if the profiler will be
-                        used by the session
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:simpleType>
-                    <xsd:restriction base="xsd:string">
-                        <xsd:enumeration value="dms" />
-                        <xsd:enumeration value="eclipselink" />
-                    </xsd:restriction>
-                </xsd:simpleType>
-            </xsd:element>
-            <xsd:element name="exception-handler-class"
-                type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This is the class that the session will use to
-                        handle exceptions generated from within the
-                        session
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="logging" type="log" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element used to specify the logging options
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="session-customizer-class"
-                type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element specifies the session customizer
-                        class to run on a loaded session.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="server-platform">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the node element that describes which server
-                platform to use, JTA settings and runtime services
-                settings
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="enable-runtime-services"
-                type="xsd:boolean" default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element. This
-                        specifies whether or not the JMX MBean for
-                        providing runtime services is deployed.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="enable-jta" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element. This
-                        specifies whether or not this session will
-                        integrate with the JTA (i.e. whether the session
-                        will be populated with a transaction controller
-                        class. The choice of server-class will
-                        automatically be chosen based on the transaction
-                        controller
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="custom-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform">
-                <xsd:sequence>
-                    <xsd:element name="server-class" type="xsd:string"
-                        default="org.eclipse.persistence.platform.server.CustomServerPlatform"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This is the subclass of
-                                org.eclipse.persistence.platform.server.PlatformBase
-                                to specify which server platform to use
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element
-                        name="external-transaction-controller-class" type="xsd:string"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-903-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-904-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1012-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1013-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1111-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform"/>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-61-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-70-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-81-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-9-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-10-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-40-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-50-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-51-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-60-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-61-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jboss-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="session-broker">
-        <xsd:annotation>
-            <xsd:documentation>
-                Provides a single view to a session that
-                transparently accesses multple databases.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="session">
-                <xsd:sequence>
-                    <xsd:element name="session-name" type="xsd:string"
-                        maxOccurs="unbounded">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This is the element that represents the
-                                session name
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:simpleType name="project">
-        <xsd:restriction base="xsd:string" />
-    </xsd:simpleType>
-    <xsd:simpleType name="xml">
-        <xsd:restriction base="project" />
-    </xsd:simpleType>
-    <xsd:simpleType name="class">
-        <xsd:restriction base="project" />
-    </xsd:simpleType>
-    <xsd:complexType name="database-session">
-        <xsd:annotation>
-            <xsd:documentation>
-                The session is the primary interface into EclipseLink, the
-                application should do all of its reading and writing of
-                objects through the session. The session also manages
-                transactions and units of work. The database session is
-                intended for usage in two-tier client-server
-                applications. Although it could be used in a server
-                situation, it is limitted to only having a single
-                database connection and only allows a single open
-                database transaction.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="session">
-                <xsd:sequence>
-                    <xsd:element name="primary-project" type="project"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This project (class or xml) will be
-                                loaded as the primary project for the
-                                session.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="additional-project"
-                        type="project" minOccurs="0" maxOccurs="unbounded">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Additional projects will have their
-                                descriptors appended to the primary
-                                project.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="login" type="login"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="server-session">
-        <xsd:annotation>
-            <xsd:documentation>
-                Is an extension of a DatabaseSession
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="database-session">
-                <xsd:sequence>
-                    <xsd:element name="connection-pools"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Connection pools are only for usage with
-                                internal connection pooling and should
-                                not be used if using external connection
-                                pooling
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element name="read-connection-pool"
-                                    type="read-connection-pool" minOccurs="0" />
-                                <xsd:element
-                                    name="write-connection-pool" type="connection-pool"
-                                    minOccurs="0" />
-                                <xsd:element
-                                    name="sequence-connection-pool" type="connection-pool"
-                                    minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            Set this tag to use the
-                                            sequence connection pool
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                                <xsd:element name="connection-pool"
-                                    type="connection-pool" minOccurs="0" maxOccurs="unbounded" />
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="connection-policy"
-                        type="connection-policy" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="connection-policy">
-        <xsd:annotation>
-            <xsd:documentation>
-                Used to specify how default client sessions are acquired
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="exclusive-connection" type="xsd:boolean"
-                default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Specifies if an exclusive connection should be
-                        used for reads, required for VPD, or user based
-                        read security.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="lazy" type="xsd:boolean" default="true"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Specifies if a connection should be acquired and
-                        held upfront in the client session, or only
-                        acquired when needed and then released.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines common fields for database-login and eis-login
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="platform-class" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This is the element that represents the platform
-                        class name
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="user-name" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="encryption-class" type="xsd:string"
-                default="org.eclipse.persistence.internal.security.JCEEncryptor"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="password" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="table-qualifier" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set the default qualifier for all tables. This
-                        can be the creator of the table or database name
-                        the table exists on. This is required by some
-                        databases such as Oracle and DB2.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="external-connection-pooling"
-                type="xsd:boolean" default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set to true if the connection should use an
-                        external connection pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="external-transaction-controller"
-                type="xsd:boolean" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set to true if the session will be using an
-                        external transaction controller
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="sequencing" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequencing information.
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element name="default-sequence"
-                            type="sequence" minOccurs="0">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    Default sequence. The name is
-                                    optional. If no name provided an
-                                    empty string will be used as a name.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                        </xsd:element>
-                        <xsd:element name="sequences" minOccurs="0">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    Non default sequences. Make sure
-                                    each sequence has unique name.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:sequence>
-                                    <xsd:element name="sequence"
-                                        type="sequence" minOccurs="0" maxOccurs="unbounded" />
-                                </xsd:sequence>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="property" minOccurs="0"
-                maxOccurs="unbounded">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of a login.
-                        It is used to define extra properties on the
-                        login
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:attribute name="name" type="xsd:string"
-                        use="required" />
-                    <xsd:attribute name="value" type="xsd:string"
-                        use="required" />
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="database-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Holds the configuration information necessary to connect
-                to a JDBC driver.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login">
-                <xsd:sequence>
-                    <xsd:choice minOccurs="0">
-                        <xsd:sequence>
-                            <xsd:element name="driver-class"
-                                type="xsd:string">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        The driver class is the Java
-                                        class for the JDBC driver to be
-                                        used (e.g.
-                                        sun.jdbc.odbc.JdbcOdbcDriver.class)
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                            <xsd:element name="connection-url"
-                                type="xsd:string">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This is the URL that will be
-                                        used to connect to the database.
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                        </xsd:sequence>
-                        <xsd:element name="datasource">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    This is the URL of a datasource that
-                                    may be used by the session to
-                                    connect to the database.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:simpleContent>
-                                    <xsd:extension base="xsd:string">
-                                        <xsd:attribute name="lookup"
-                                            type="lookup-enum" />
-                                    </xsd:extension>
-                                </xsd:simpleContent>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:choice>
-                    <xsd:element name="bind-all-parameters"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether to bind all arguments to any
-                                SQL statement.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="cache-all-statements"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether prepared statements should
-                                be cached.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="byte-array-binding"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use
-                                parameter binding for large binary data.
-                                By default EclipseLink will print this data
-                                as hex through the JDBC binary excape
-                                clause. Both binding and printing have
-                                various limits on all databases (e.g. 5k
-                                - 32k).
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="string-binding"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set to true if strings should be bound.
-                                Used to help bean introspection.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="streams-for-binding"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use streams
-                                to store large binary data. This can
-                                improve the max size for reading/writing
-                                on some JDBC drivers.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="force-field-names-to-upper-case"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This setting can be used if the
-                                application expects upper case but the
-                                database does not return consistent case
-                                (e.g. different databases).
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="optimize-data-conversion"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether driver level data conversion
-                                optimization is enabled. This can be
-                                disabled as some drivers perform data
-                                conversion themselves incorrectly.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="trim-strings" type="xsd:boolean"
-                        default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                By default CHAR field values have
-                                trailing blanks trimmed, this can be
-                                configured.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="batch-writing" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use batch
-                                writing. This facility allows multiple
-                                write operations to be submitted to a
-                                database for processing at once.
-                                Submitting multiple updates together,
-                                instead of individually, can greatly
-                                improve performance in some situations.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="jdbc-batch-writing"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Setting this tag with true indicates to
-                                EclipseLink that the JDBC driver supports
-                                batch writing. EclipseLink's internal batch
-                                writing is disabled. Setting this tag
-                                with false indicates to EclipseLink that the
-                                JDBC driver does not support batch
-                                writing. This will revert to the default
-                                behaviour which is to delegate to
-                                EclipseLink's internal batch writing.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="max-batch-writing-size"
-                        type="xsd:integer" default="32000" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Allow for the max batch writing size to
-                                be set. This allows for the batch size
-                                to be limited as most database have
-                                strict limits. The size is in
-                                characters, the default is 32000 but the
-                                real value depends on the database
-                                configuration.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="native-sql" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use
-                                database specific sql grammar not JDBC
-                                specific. This is because unfortunately
-                                some bridges to not support the full
-                                JDBC standard. By default EclipseLink uses
-                                the JDBC sql grammar.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="struct-converters"
-                        minOccurs="0">
-                        <xsd:complexType>
-                            <xsd:group ref="struct-converters" />
-                        </xsd:complexType>
-                    </xsd:element>
-					<xsd:element name="connection-health-validated-on-error" type="xsd:boolean" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>If true will cause EclipseLink to ping database to determine if an SQLException was cause by a communication failure</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="query-retry-attempt-count" type="xsd:integer" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Configure the number of attempts EclipseLink will make if EclipseLink is attempting to retry a query.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="delay-between-reconnect-attempts" type="xsd:integer" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Configure the time in miliseconds that EclipseLink will wait between attempts to reconnect if EclipseLink is attempting to retry a query.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="ping-sql" type="xsd:string" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Override the platform specific SQL that EclipseLink will issue to a connection to determine if the connection is still live.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:simpleType name="lookup-enum">
-        <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="composite-name" />
-            <xsd:enumeration value="compound-name" />
-            <xsd:enumeration value="string" />
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="eis-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines connection information and datasource
-                properties. There are three ways to connect through EIS,
-                - Provide a JNDI name to the ConnectionFactory and use
-                the default getConnection - Provide a JNDI name to the
-                ConnectionFactory, and a driver specific ConnectionSpec
-                to pass to the getConnection - Connect in a non-managed
-                way directly to the driver specific ConnectionFactory An
-                EISConnectionSpec must be provided to define how to
-                connect to the EIS adapter. The EIS platform can be used
-                to provide datasource/driver specific behavoir such as
-                InteractionSpec and Record conversion.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login">
-                <xsd:sequence>
-                    <xsd:element name="connection-spec-class"
-                        type="xsd:string" minOccurs="0" />
-                    <xsd:element name="connection-factory-url"
-                        type="xsd:string" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xml-login">
-    	<xsd:annotation>
-    		<xsd:documentation>
-    			Defines login and platform type to be used
-    		</xsd:documentation>
-    	</xsd:annotation>
-    	<xsd:complexContent>
-    		<xsd:extension base="login">
-    			<xsd:sequence>
-    				<xsd:element name="equal-namespace-resolvers"
-    					type="xsd:boolean" maxOccurs="1" minOccurs="0">
-    				</xsd:element>
-    				<xsd:element name="document-preservation-policy"
-    					maxOccurs="1" minOccurs="0"
-    					type="document-preservation-policy">
-
-    				</xsd:element>
-    			</xsd:sequence>
-    		</xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="connection-pool">
-        <xsd:annotation>
-            <xsd:documentation>
-                Used to specify how connections should be pooled in a
-                server session.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string" />
-            <xsd:element name="max-connections" type="xsd:integer"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        The max number of connections that will be
-                        created in the pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="min-connections" type="xsd:integer"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        The min number of connections that will aways be
-                        in the pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="login" type="login" minOccurs="0" />
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="read-connection-pool">
-        <xsd:annotation>
-            <xsd:documentation>
-                The read connection pool is used for read access through
-                the server session. Any of the connection pools can be
-                used for the read pool however this is the default. This
-                pool allows for concurrent reads against the same JDBC
-                connection and requires that the JDBC connection support
-                concurrent read access.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="connection-pool">
-                <xsd:sequence>
-                    <xsd:element name="exclusive" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This tag is used to specify if the
-                                connections from the read connection
-                                pool are exclusive or not
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the common logging options
-            </xsd:documentation>
-        </xsd:annotation>
-    </xsd:complexType>
-    <xsd:complexType name="java-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the Java log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log">
-                <xsd:sequence>
-                    <xsd:element name="logging-options"
-                        type="logging-options" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="eclipselink-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the EclipseLink log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log">
-                <xsd:sequence>
-                    <xsd:element name="log-level" default="info"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element specifies the log level for logging
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:string">
-                                <xsd:enumeration value="off" />
-                                <xsd:enumeration value="severe" />
-                                <xsd:enumeration value="warning" />
-                                <xsd:enumeration value="info" />
-                                <xsd:enumeration value="config" />
-                                <xsd:enumeration value="fine" />
-                                <xsd:enumeration value="finer" />
-                                <xsd:enumeration value="finest" />
-                                <xsd:enumeration value="all" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="file-name" type="xsd:string"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Name of the file to write the logging to
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="logging-options"
-                        type="logging-options" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="server-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the Server log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="logging-options">
-        <xsd:sequence>
-            <xsd:element name="log-exception-stacktrace"
-                type="xsd:boolean" default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log exception stacktrace. Without
-                        this element, the stacktrace is logged for FINER
-                        or less (FINEST)
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-thread" type="xsd:boolean"
-                default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log thread. Without this element,
-                        the thread is logged for FINE or less (FINER or
-                        FINEST)
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-session" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log session. Without this
-                        element, the session is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-connection" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log connection. Without this
-                        element, the connection is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-date" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log date. Without this element,
-                        the date is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="transport-manager">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the transport mechanism of the RCM.
-                The default transport mechanism is RMI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="on-connection-error"
-                default="DiscardConnection" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of transport
-                        element and has value of "DiscardConnection" or
-                        "KeepConnection". It determines whether
-                        connection to a RCM service should be dropped if
-                        there is a communication error with that RCM
-                        service. The default value for this element is
-                        "DiscardConnection".
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:simpleType>
-                    <xsd:restriction base="xsd:string">
-                        <xsd:enumeration value="KeepConnection" />
-                        <xsd:enumeration value="DiscardConnection" />
-                    </xsd:restriction>
-                </xsd:simpleType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="rmi-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element is an optional element of transport
-                element. It defines the RMI transport mechanism. The
-                default naming service is JNDI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="send-mode" default="Asynchronous"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element is an optional element of
-                                rmi element and has value of
-                                "Asynchronous" or "Synchronous". It
-                                determines whether the RCM propagates
-                                command and does not wait for command to
-                                finish its execution in asynchronous
-                                mode or wait for command to finish its
-                                execution in synchronous mode. The
-                                default value of this element is
-                                "Asynchronous".
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:string">
-                                <xsd:enumeration value="Asynchronous" />
-                                <xsd:enumeration value="Synchronous" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="discovery" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element is an optional element of
-                                rmi element. It determines whether the
-                                Discovery settings should be changed.
-                                Note that a default Discovery with its
-                                default settings is created when the rmi
-                                element is specified.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element
-                                    name="multicast-group-address" type="xsd:string"
-                                    default="226.10.12.64" minOccurs="0" />
-                                <xsd:element name="multicast-port"
-                                    type="xsd:integer" default="3121" minOccurs="0" />
-                                <xsd:element name="announcement-delay"
-                                    type="xsd:integer" default="1000" minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            This element is an optional
-                                            element of discovery
-                                            elemenent. It determines
-                                            whether the multicast group
-                                            address should be changed.
-                                            The default value of this
-                                            element is "1000"
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                                <xsd:element name="packet-time-to-live"
-                                    type="xsd:integer" default="2" minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            This element is an optional
-                                            element of discovery
-                                            elemenent. It determines
-                                            whether the time-to-live of
-                                            the packets that are sent
-                                            from the Discovery's
-                                            mulsticast socket should be
-                                            changed. The default value
-                                            of this element is "2"
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:choice minOccurs="0">
-                        <xsd:element name="jndi-naming-service"
-                            type="jndi-naming-service" />
-                        <xsd:element
-                            name="rmi-registry-naming-service">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    This element is an optional element
-                                    of rmi elemenent. It determines
-                                    whether RMI registry should be used
-                                    for naming service
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:sequence>
-                                    <xsd:element name="url"
-                                        type="xsd:string" minOccurs="0" />
-                                </xsd:sequence>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:choice>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="rmi-iiop-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the RMI-IIOP transport mechanism of
-                the RCM. The default naming service is JNDI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="rmi-transport" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jms-topic-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the JMS topic transport mechanism
-                of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="topic-host-url" type="xsd:string"
-                        minOccurs="0" />
-                    <xsd:element name="topic-connection-factory-name"
-                        type="xsd:string" default="jms/EclipseLinkTopicConnectionFactory"
-                        minOccurs="0" />
-                    <xsd:element name="topic-name" type="xsd:string"
-                        default="jms/EclipseLinkTopic" minOccurs="0" />
-                    <xsd:element name="jndi-naming-service"
-                        type="jndi-naming-service" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-jgroups-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the OC4J JGroups transport
-                mechanism of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="use-single-threaded-notification"
-                        type="xsd:boolean" default="false" minOccurs="0" />
-                    <xsd:element name="topic-name" type="xsd:string"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="sun-corba-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the Sun CORBA transport mechanism
-                of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="user-defined-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element is an optional element of transport
-                element. It determines whether a user implemented
-                transport mechanism that should be used.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="transport-class"
-                        type="xsd:string" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jndi-naming-service">
-        <xsd:sequence>
-            <xsd:element name="url" type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether the
-                        URL for naming service should be changed. 
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="user-name" type="xsd:string"
-                default="admin" minOccurs="0" />
-            <xsd:element name="encryption-class" type="xsd:string"
-                default="org.eclipse.persistence.internal.security.JCEEncryptor"
-                minOccurs="0" />
-            <xsd:element name="password" type="xsd:string"
-                default="password" minOccurs="0" />
-            <!--  TODO: Need to have a non WebLogic (previously OC4J) default or route through server platform by default -->
-            <xsd:element name="initial-context-factory-name"
-                type="xsd:string"
-                default="weblogic.jndi.WLInitialContextFactory"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether the
-                        initial context factory class for naming service
-                        should be changed. 
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="property" minOccurs="0"
-                maxOccurs="unbounded">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether
-                        naming service requires extra property that is
-                        not defined by EclipseLink but it is required by the
-                        user application
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:attribute name="name" type="xsd:string"
-                        use="required" />
-                    <xsd:attribute name="value" type="xsd:string"
-                        use="required" />
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:group name="event-listener-classes">
-        <xsd:sequence>
-            <xsd:element name="event-listener-class" type="xsd:string"
-                minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-    </xsd:group>
-    <xsd:group name="struct-converters">
-        <xsd:sequence>
-            <xsd:element name="struct-converter" type="xsd:string"
-                minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-    </xsd:group>
-    <xsd:complexType name="sequence">
-        <xsd:annotation>
-            <xsd:documentation>Sequence object.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequence name.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="preallocation-size" type="xsd:integer"
-                default="50" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequence preallocation size.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="default-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                References default sequence object, overriding its name
-                and (optionally) preallocation size.
-            </xsd:documentation>
-            <xsd:documentation>
-                To use preallocation size of default sequence object,
-                set preallocation size to 0
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="native-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                Database sequence mechanism used.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="table-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Table sequence</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="table" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="name-field" type="xsd:string"
-                        default="SEQ_NAME" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence name
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="counter-field" type="xsd:string"
-                        default="SEQ_COUNT" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="unary-table-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                Unary table sequence - sequence name is a table name,
-                table has a single field and a single row
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="counter-field" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xmlfile-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Xmlfile sequence.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xml-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Xml sequence</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="root-element" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="name-element" type="xsd:string"
-                        default="SEQ_NAME" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence name
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="counter-element"
-                        type="xsd:string" default="SEQ_COUNT" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-
-
-    <xsd:complexType name="document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		This element specifies which document preservation
-        		strategy will be used.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-    		<xsd:element name="node-ordering-policy"
-    			type="node-ordering-policy" maxOccurs="1" minOccurs="0">
-    		</xsd:element>
-    	</xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="node-ordering-policy">
-    	<xsd:annotation>
-    		<xsd:documentation>
-    			This element specifies which node ordering strategy will
-    			be used.
-    		</xsd:documentation>
-    	</xsd:annotation></xsd:complexType>
-
-    <xsd:complexType
-    	name="descriptor-level-document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of DocumentPreservation Policy that
-        		accesses the session cache to store Objects and their
-        		associated nodes.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="no-document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		A DocumentPreservationPolicy to indicate that no
-        		document preservation work should be done.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="xml-binder-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of DocumentPreservationPolicy that
-        		maintains bidirectional relationships between Java
-        		Objects and the XMLNodes they originated from.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="append-new-elements-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that simply
-        		appends the new child element to the parent.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="ignore-new-elements-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that ignores any
-        		new elements when updating a cached document.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="relative-position-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that adds new
-        		elements to an XML Document based on the last updated
-        		sibling in their context.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-</xsd:schema>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.2.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.2.xsd
deleted file mode 100644
index b582427..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_1.2.xsd
+++ /dev/null
@@ -1,1586 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*******************************************************************************
- Copyright (c) 1998, 2010 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:
-     Oracle - initial API and implementation from Oracle TopLink
-     tware - update version number to 1.2
-*****************************************************************************/  
--->
-<!-- 
-
-XML Schema definition for the Eclipse Persistence Services Project Session Configuration file. Instances
-of this file are typically located as: 'META-INF/sessions.xml'
-
- -->
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    elementFormDefault="qualified" version="1.2">
-    <xsd:element name="sessions">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the root element and exists only for XML
-                structure
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-            <xsd:sequence>
-                <xsd:element name="session" type="session" minOccurs="0"
-                    maxOccurs="unbounded" />
-            </xsd:sequence>
-            <xsd:attribute name="version" type="xsd:string"
-                use="required" />
-        </xsd:complexType>
-    </xsd:element>
-    <xsd:complexType name="session">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the node element that describes a particular session
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Generic element used to describe a string that
-                        represents the name of an item
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="server-platform" type="server-platform"
-                minOccurs="0" />
-            <xsd:choice minOccurs="0">
-                <xsd:element name="remote-command">
-                    <xsd:annotation>
-                        <xsd:documentation>
-                            This element is an optional element of
-                            session element that define the Remote
-                            Command Module that can also be used for
-                            cache synchronization
-                        </xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:sequence>
-                            <xsd:element name="channel"
-                                type="xsd:string" default="EclipseLinkCommandChannel"
-                                minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element."
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                            <xsd:element name="commands"
-                                minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element. It determine what
-                                        command features, the RCM
-                                        supports
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                                <xsd:complexType>
-                                    <xsd:sequence>
-                                        <xsd:element name="cache-sync"
-                                            type="xsd:boolean" default="false" minOccurs="0">
-                                            <xsd:annotation>
-                                                <xsd:documentation>
-                                                    This element is an
-                                                    optional element of
-                                                    command element. It
-                                                    turns on cache
-                                                    synchronization to
-                                                    allow sending and
-                                                    receiving cache sync
-                                                    commands
-                                                </xsd:documentation>
-                                            </xsd:annotation>
-                                        </xsd:element>
-                                    </xsd:sequence>
-                                </xsd:complexType>
-                            </xsd:element>
-                            <xsd:element name="transport"
-                                type="transport-manager" minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element. It defines the
-                                        transport mechanism of the RCM.
-                                        The default transport mechanism
-                                        is RMI
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                        </xsd:sequence>
-                    </xsd:complexType>
-                </xsd:element>
-            </xsd:choice>
-            <xsd:element name="event-listener-classes" minOccurs="0">
-                <xsd:complexType>
-                    <xsd:group ref="event-listener-classes" />
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="profiler" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element represents if the profiler will be
-                        used by the session
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:simpleType>
-                    <xsd:restriction base="xsd:string">
-                        <xsd:enumeration value="dms" />
-                        <xsd:enumeration value="eclipselink" />
-                    </xsd:restriction>
-                </xsd:simpleType>
-            </xsd:element>
-            <xsd:element name="exception-handler-class"
-                type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This is the class that the session will use to
-                        handle exceptions generated from within the
-                        session
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="logging" type="log" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element used to specify the logging options
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="session-customizer-class"
-                type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element specifies the session customizer
-                        class to run on a loaded session.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="server-platform">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the node element that describes which server
-                platform to use, JTA settings and runtime services
-                settings
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="enable-runtime-services"
-                type="xsd:boolean" default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element. This
-                        specifies whether or not the JMX MBean for
-                        providing runtime services is deployed.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="enable-jta" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element. This
-                        specifies whether or not this session will
-                        integrate with the JTA (i.e. whether the session
-                        will be populated with a transaction controller
-                        class. The choice of server-class will
-                        automatically be chosen based on the transaction
-                        controller
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="custom-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform">
-                <xsd:sequence>
-                    <xsd:element name="server-class" type="xsd:string"
-                        default="org.eclipse.persistence.platform.server.CustomServerPlatform"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This is the subclass of
-                                org.eclipse.persistence.platform.server.PlatformBase
-                                to specify which server platform to use
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element
-                        name="external-transaction-controller-class" type="xsd:string"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-903-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-904-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1012-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1013-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1111-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform"/>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-61-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-70-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-81-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-9-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-10-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-40-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-50-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-51-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-60-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-61-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jboss-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="session-broker">
-        <xsd:annotation>
-            <xsd:documentation>
-                Provides a single view to a session that
-                transparently accesses multple databases.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="session">
-                <xsd:sequence>
-                    <xsd:element name="session-name" type="xsd:string"
-                        maxOccurs="unbounded">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This is the element that represents the
-                                session name
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:simpleType name="project">
-        <xsd:restriction base="xsd:string" />
-    </xsd:simpleType>
-    <xsd:simpleType name="xml">
-        <xsd:restriction base="project" />
-    </xsd:simpleType>
-    <xsd:simpleType name="class">
-        <xsd:restriction base="project" />
-    </xsd:simpleType>
-    <xsd:complexType name="database-session">
-        <xsd:annotation>
-            <xsd:documentation>
-                The session is the primary interface into EclipseLink, the
-                application should do all of its reading and writing of
-                objects through the session. The session also manages
-                transactions and units of work. The database session is
-                intended for usage in two-tier client-server
-                applications. Although it could be used in a server
-                situation, it is limitted to only having a single
-                database connection and only allows a single open
-                database transaction.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="session">
-                <xsd:sequence>
-                    <xsd:element name="primary-project" type="project"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This project (class or xml) will be
-                                loaded as the primary project for the
-                                session.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="additional-project"
-                        type="project" minOccurs="0" maxOccurs="unbounded">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Additional projects will have their
-                                descriptors appended to the primary
-                                project.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="login" type="login"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="server-session">
-        <xsd:annotation>
-            <xsd:documentation>
-                Is an extension of a DatabaseSession
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="database-session">
-                <xsd:sequence>
-                    <xsd:element name="connection-pools"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Connection pools are only for usage with
-                                internal connection pooling and should
-                                not be used if using external connection
-                                pooling
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element name="read-connection-pool"
-                                    type="read-connection-pool" minOccurs="0" />
-                                <xsd:element
-                                    name="write-connection-pool" type="connection-pool"
-                                    minOccurs="0" />
-                                <xsd:element
-                                    name="sequence-connection-pool" type="connection-pool"
-                                    minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            Set this tag to use the
-                                            sequence connection pool
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                                <xsd:element name="connection-pool"
-                                    type="connection-pool" minOccurs="0" maxOccurs="unbounded" />
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="connection-policy"
-                        type="connection-policy" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="connection-policy">
-        <xsd:annotation>
-            <xsd:documentation>
-                Used to specify how default client sessions are acquired
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="exclusive-connection" type="xsd:boolean"
-                default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Specifies if an exclusive connection should be
-                        used for reads, required for VPD, or user based
-                        read security.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="lazy" type="xsd:boolean" default="true"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Specifies if a connection should be acquired and
-                        held upfront in the client session, or only
-                        acquired when needed and then released.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines common fields for database-login and eis-login
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="platform-class" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This is the element that represents the platform
-                        class name
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="user-name" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="encryption-class" type="xsd:string"
-                default="org.eclipse.persistence.internal.security.JCEEncryptor"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="password" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="table-qualifier" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set the default qualifier for all tables. This
-                        can be the creator of the table or database name
-                        the table exists on. This is required by some
-                        databases such as Oracle and DB2.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="external-connection-pooling"
-                type="xsd:boolean" default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set to true if the connection should use an
-                        external connection pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="external-transaction-controller"
-                type="xsd:boolean" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set to true if the session will be using an
-                        external transaction controller
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="sequencing" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequencing information.
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element name="default-sequence"
-                            type="sequence" minOccurs="0">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    Default sequence. The name is
-                                    optional. If no name provided an
-                                    empty string will be used as a name.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                        </xsd:element>
-                        <xsd:element name="sequences" minOccurs="0">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    Non default sequences. Make sure
-                                    each sequence has unique name.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:sequence>
-                                    <xsd:element name="sequence"
-                                        type="sequence" minOccurs="0" maxOccurs="unbounded" />
-                                </xsd:sequence>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="property" minOccurs="0"
-                maxOccurs="unbounded">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of a login.
-                        It is used to define extra properties on the
-                        login
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:attribute name="name" type="xsd:string"
-                        use="required" />
-                    <xsd:attribute name="value" type="xsd:string"
-                        use="required" />
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="database-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Holds the configuration information necessary to connect
-                to a JDBC driver.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login">
-                <xsd:sequence>
-                    <xsd:choice minOccurs="0">
-                        <xsd:sequence>
-                            <xsd:element name="driver-class"
-                                type="xsd:string">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        The driver class is the Java
-                                        class for the JDBC driver to be
-                                        used (e.g.
-                                        sun.jdbc.odbc.JdbcOdbcDriver.class)
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                            <xsd:element name="connection-url"
-                                type="xsd:string">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This is the URL that will be
-                                        used to connect to the database.
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                        </xsd:sequence>
-                        <xsd:element name="datasource">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    This is the URL of a datasource that
-                                    may be used by the session to
-                                    connect to the database.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:simpleContent>
-                                    <xsd:extension base="xsd:string">
-                                        <xsd:attribute name="lookup"
-                                            type="lookup-enum" />
-                                    </xsd:extension>
-                                </xsd:simpleContent>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:choice>
-                    <xsd:element name="bind-all-parameters"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether to bind all arguments to any
-                                SQL statement.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="cache-all-statements"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether prepared statements should
-                                be cached.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="byte-array-binding"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use
-                                parameter binding for large binary data.
-                                By default EclipseLink will print this data
-                                as hex through the JDBC binary excape
-                                clause. Both binding and printing have
-                                various limits on all databases (e.g. 5k
-                                - 32k).
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="string-binding"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set to true if strings should be bound.
-                                Used to help bean introspection.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="streams-for-binding"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use streams
-                                to store large binary data. This can
-                                improve the max size for reading/writing
-                                on some JDBC drivers.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="force-field-names-to-upper-case"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This setting can be used if the
-                                application expects upper case but the
-                                database does not return consistent case
-                                (e.g. different databases).
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="optimize-data-conversion"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether driver level data conversion
-                                optimization is enabled. This can be
-                                disabled as some drivers perform data
-                                conversion themselves incorrectly.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="trim-strings" type="xsd:boolean"
-                        default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                By default CHAR field values have
-                                trailing blanks trimmed, this can be
-                                configured.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="batch-writing" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use batch
-                                writing. This facility allows multiple
-                                write operations to be submitted to a
-                                database for processing at once.
-                                Submitting multiple updates together,
-                                instead of individually, can greatly
-                                improve performance in some situations.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="jdbc-batch-writing"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Setting this tag with true indicates to
-                                EclipseLink that the JDBC driver supports
-                                batch writing. EclipseLink's internal batch
-                                writing is disabled. Setting this tag
-                                with false indicates to EclipseLink that the
-                                JDBC driver does not support batch
-                                writing. This will revert to the default
-                                behaviour which is to delegate to
-                                EclipseLink's internal batch writing.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="max-batch-writing-size"
-                        type="xsd:integer" default="32000" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Allow for the max batch writing size to
-                                be set. This allows for the batch size
-                                to be limited as most database have
-                                strict limits. The size is in
-                                characters, the default is 32000 but the
-                                real value depends on the database
-                                configuration.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="native-sql" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use
-                                database specific sql grammar not JDBC
-                                specific. This is because unfortunately
-                                some bridges to not support the full
-                                JDBC standard. By default EclipseLink uses
-                                the JDBC sql grammar.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="struct-converters"
-                        minOccurs="0">
-                        <xsd:complexType>
-                            <xsd:group ref="struct-converters" />
-                        </xsd:complexType>
-                    </xsd:element>
-					<xsd:element name="connection-health-validated-on-error" type="xsd:boolean" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>If true will cause EclipseLink to ping database to determine if an SQLException was cause by a communication failure</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="query-retry-attempt-count" type="xsd:integer" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Configure the number of attempts EclipseLink will make if EclipseLink is attempting to retry a query.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="delay-between-reconnect-attempts" type="xsd:integer" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Configure the time in miliseconds that EclipseLink will wait between attempts to reconnect if EclipseLink is attempting to retry a query.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="ping-sql" type="xsd:string" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Override the platform specific SQL that EclipseLink will issue to a connection to determine if the connection is still live.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:simpleType name="lookup-enum">
-        <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="composite-name" />
-            <xsd:enumeration value="compound-name" />
-            <xsd:enumeration value="string" />
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="eis-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines connection information and datasource
-                properties. There are three ways to connect through EIS,
-                - Provide a JNDI name to the ConnectionFactory and use
-                the default getConnection - Provide a JNDI name to the
-                ConnectionFactory, and a driver specific ConnectionSpec
-                to pass to the getConnection - Connect in a non-managed
-                way directly to the driver specific ConnectionFactory An
-                EISConnectionSpec must be provided to define how to
-                connect to the EIS adapter. The EIS platform can be used
-                to provide datasource/driver specific behavoir such as
-                InteractionSpec and Record conversion.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login">
-                <xsd:sequence>
-                    <xsd:element name="connection-spec-class"
-                        type="xsd:string" minOccurs="0" />
-                    <xsd:element name="connection-factory-url"
-                        type="xsd:string" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xml-login">
-    	<xsd:annotation>
-    		<xsd:documentation>
-    			Defines login and platform type to be used
-    		</xsd:documentation>
-    	</xsd:annotation>
-    	<xsd:complexContent>
-    		<xsd:extension base="login">
-    			<xsd:sequence>
-    				<xsd:element name="equal-namespace-resolvers"
-    					type="xsd:boolean" maxOccurs="1" minOccurs="0">
-    				</xsd:element>
-    				<xsd:element name="document-preservation-policy"
-    					maxOccurs="1" minOccurs="0"
-    					type="document-preservation-policy">
-
-    				</xsd:element>
-    			</xsd:sequence>
-    		</xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="connection-pool">
-        <xsd:annotation>
-            <xsd:documentation>
-                Used to specify how connections should be pooled in a
-                server session.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string" />
-            <xsd:element name="max-connections" type="xsd:integer"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        The max number of connections that will be
-                        created in the pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="min-connections" type="xsd:integer"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        The min number of connections that will aways be
-                        in the pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="login" type="login" minOccurs="0" />
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="read-connection-pool">
-        <xsd:annotation>
-            <xsd:documentation>
-                The read connection pool is used for read access through
-                the server session. Any of the connection pools can be
-                used for the read pool however this is the default. This
-                pool allows for concurrent reads against the same JDBC
-                connection and requires that the JDBC connection support
-                concurrent read access.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="connection-pool">
-                <xsd:sequence>
-                    <xsd:element name="exclusive" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This tag is used to specify if the
-                                connections from the read connection
-                                pool are exclusive or not
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the common logging options
-            </xsd:documentation>
-        </xsd:annotation>
-    </xsd:complexType>
-    <xsd:complexType name="java-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the Java log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log">
-                <xsd:sequence>
-                    <xsd:element name="logging-options"
-                        type="logging-options" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="eclipselink-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the EclipseLink log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log">
-                <xsd:sequence>
-                    <xsd:element name="log-level" default="info"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element specifies the log level for logging
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:string">
-                                <xsd:enumeration value="off" />
-                                <xsd:enumeration value="severe" />
-                                <xsd:enumeration value="warning" />
-                                <xsd:enumeration value="info" />
-                                <xsd:enumeration value="config" />
-                                <xsd:enumeration value="fine" />
-                                <xsd:enumeration value="finer" />
-                                <xsd:enumeration value="finest" />
-                                <xsd:enumeration value="all" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="file-name" type="xsd:string"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Name of the file to write the logging to
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="logging-options"
-                        type="logging-options" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="server-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the Server log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="logging-options">
-        <xsd:sequence>
-            <xsd:element name="log-exception-stacktrace"
-                type="xsd:boolean" default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log exception stacktrace. Without
-                        this element, the stacktrace is logged for FINER
-                        or less (FINEST)
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-thread" type="xsd:boolean"
-                default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log thread. Without this element,
-                        the thread is logged for FINE or less (FINER or
-                        FINEST)
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-session" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log session. Without this
-                        element, the session is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-connection" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log connection. Without this
-                        element, the connection is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-date" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log date. Without this element,
-                        the date is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="transport-manager">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the transport mechanism of the RCM.
-                The default transport mechanism is RMI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="on-connection-error"
-                default="DiscardConnection" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of transport
-                        element and has value of "DiscardConnection" or
-                        "KeepConnection". It determines whether
-                        connection to a RCM service should be dropped if
-                        there is a communication error with that RCM
-                        service. The default value for this element is
-                        "DiscardConnection".
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:simpleType>
-                    <xsd:restriction base="xsd:string">
-                        <xsd:enumeration value="KeepConnection" />
-                        <xsd:enumeration value="DiscardConnection" />
-                    </xsd:restriction>
-                </xsd:simpleType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="rmi-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element is an optional element of transport
-                element. It defines the RMI transport mechanism. The
-                default naming service is JNDI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="send-mode" default="Asynchronous"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element is an optional element of
-                                rmi element and has value of
-                                "Asynchronous" or "Synchronous". It
-                                determines whether the RCM propagates
-                                command and does not wait for command to
-                                finish its execution in asynchronous
-                                mode or wait for command to finish its
-                                execution in synchronous mode. The
-                                default value of this element is
-                                "Asynchronous".
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:string">
-                                <xsd:enumeration value="Asynchronous" />
-                                <xsd:enumeration value="Synchronous" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="discovery" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element is an optional element of
-                                rmi element. It determines whether the
-                                Discovery settings should be changed.
-                                Note that a default Discovery with its
-                                default settings is created when the rmi
-                                element is specified.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element
-                                    name="multicast-group-address" type="xsd:string"
-                                    default="226.10.12.64" minOccurs="0" />
-                                <xsd:element name="multicast-port"
-                                    type="xsd:integer" default="3121" minOccurs="0" />
-                                <xsd:element name="announcement-delay"
-                                    type="xsd:integer" default="1000" minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            This element is an optional
-                                            element of discovery
-                                            elemenent. It determines
-                                            whether the multicast group
-                                            address should be changed.
-                                            The default value of this
-                                            element is "1000"
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                                <xsd:element name="packet-time-to-live"
-                                    type="xsd:integer" default="2" minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            This element is an optional
-                                            element of discovery
-                                            elemenent. It determines
-                                            whether the time-to-live of
-                                            the packets that are sent
-                                            from the Discovery's
-                                            mulsticast socket should be
-                                            changed. The default value
-                                            of this element is "2"
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:choice minOccurs="0">
-                        <xsd:element name="jndi-naming-service"
-                            type="jndi-naming-service" />
-                        <xsd:element
-                            name="rmi-registry-naming-service">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    This element is an optional element
-                                    of rmi elemenent. It determines
-                                    whether RMI registry should be used
-                                    for naming service
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:sequence>
-                                    <xsd:element name="url"
-                                        type="xsd:string" minOccurs="0" />
-                                </xsd:sequence>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:choice>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="rmi-iiop-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the RMI-IIOP transport mechanism of
-                the RCM. The default naming service is JNDI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="rmi-transport" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jms-topic-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the JMS topic transport mechanism
-                of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="topic-host-url" type="xsd:string"
-                        minOccurs="0" />
-                    <xsd:element name="topic-connection-factory-name"
-                        type="xsd:string" default="jms/EclipseLinkTopicConnectionFactory"
-                        minOccurs="0" />
-                    <xsd:element name="topic-name" type="xsd:string"
-                        default="jms/EclipseLinkTopic" minOccurs="0" />
-                    <xsd:element name="jndi-naming-service"
-                        type="jndi-naming-service" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-jgroups-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the OC4J JGroups transport
-                mechanism of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="use-single-threaded-notification"
-                        type="xsd:boolean" default="false" minOccurs="0" />
-                    <xsd:element name="topic-name" type="xsd:string"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="sun-corba-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the Sun CORBA transport mechanism
-                of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="user-defined-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element is an optional element of transport
-                element. It determines whether a user implemented
-                transport mechanism that should be used.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="transport-class"
-                        type="xsd:string" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jndi-naming-service">
-        <xsd:sequence>
-            <xsd:element name="url" type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether the
-                        URL for naming service should be changed. 
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="user-name" type="xsd:string"
-                default="admin" minOccurs="0" />
-            <xsd:element name="encryption-class" type="xsd:string"
-                default="org.eclipse.persistence.internal.security.JCEEncryptor"
-                minOccurs="0" />
-            <xsd:element name="password" type="xsd:string"
-                default="password" minOccurs="0" />
-            <!--  TODO: Need to have a non WebLogic (previously OC4J) default or route through server platform by default -->
-            <xsd:element name="initial-context-factory-name"
-                type="xsd:string"
-                default="weblogic.jndi.WLInitialContextFactory"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether the
-                        initial context factory class for naming service
-                        should be changed. 
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="property" minOccurs="0"
-                maxOccurs="unbounded">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether
-                        naming service requires extra property that is
-                        not defined by EclipseLink but it is required by the
-                        user application
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:attribute name="name" type="xsd:string"
-                        use="required" />
-                    <xsd:attribute name="value" type="xsd:string"
-                        use="required" />
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:group name="event-listener-classes">
-        <xsd:sequence>
-            <xsd:element name="event-listener-class" type="xsd:string"
-                minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-    </xsd:group>
-    <xsd:group name="struct-converters">
-        <xsd:sequence>
-            <xsd:element name="struct-converter" type="xsd:string"
-                minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-    </xsd:group>
-    <xsd:complexType name="sequence">
-        <xsd:annotation>
-            <xsd:documentation>Sequence object.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequence name.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="preallocation-size" type="xsd:integer"
-                default="50" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequence preallocation size.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="default-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                References default sequence object, overriding its name
-                and (optionally) preallocation size.
-            </xsd:documentation>
-            <xsd:documentation>
-                To use preallocation size of default sequence object,
-                set preallocation size to 0
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="native-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                Database sequence mechanism used.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="table-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Table sequence</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="table" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="name-field" type="xsd:string"
-                        default="SEQ_NAME" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence name
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="counter-field" type="xsd:string"
-                        default="SEQ_COUNT" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="unary-table-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                Unary table sequence - sequence name is a table name,
-                table has a single field and a single row
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="counter-field" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xmlfile-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Xmlfile sequence.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xml-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Xml sequence</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="root-element" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="name-element" type="xsd:string"
-                        default="SEQ_NAME" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence name
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="counter-element"
-                        type="xsd:string" default="SEQ_COUNT" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-
-
-    <xsd:complexType name="document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		This element specifies which document preservation
-        		strategy will be used.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-    		<xsd:element name="node-ordering-policy"
-    			type="node-ordering-policy" maxOccurs="1" minOccurs="0">
-    		</xsd:element>
-    	</xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="node-ordering-policy">
-    	<xsd:annotation>
-    		<xsd:documentation>
-    			This element specifies which node ordering strategy will
-    			be used.
-    		</xsd:documentation>
-    	</xsd:annotation></xsd:complexType>
-
-    <xsd:complexType
-    	name="descriptor-level-document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of DocumentPreservation Policy that
-        		accesses the session cache to store Objects and their
-        		associated nodes.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="no-document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		A DocumentPreservationPolicy to indicate that no
-        		document preservation work should be done.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="xml-binder-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of DocumentPreservationPolicy that
-        		maintains bidirectional relationships between Java
-        		Objects and the XMLNodes they originated from.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="append-new-elements-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that simply
-        		appends the new child element to the parent.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="ignore-new-elements-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that ignores any
-        		new elements when updating a cached document.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="relative-position-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that adds new
-        		elements to an XML Document based on the last updated
-        		sibling in their context.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-</xsd:schema>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_2.0.xsd b/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_2.0.xsd
deleted file mode 100644
index c84821e..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/schemas/eclipselink_sessions_2.0.xsd
+++ /dev/null
@@ -1,1591 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*******************************************************************************
- Copyright (c) 1998, 2010 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:
-     Oracle - initial API and implementation from Oracle TopLink
-     tware - update version number to 2.0
-*****************************************************************************/  
--->
-<!-- 
-
-XML Schema definition for the Eclipse Persistence Services Project Session Configuration file. Instances
-of this file are typically located as: 'META-INF/sessions.xml'
-
- -->
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    elementFormDefault="qualified" version="2.0">
-    <xsd:element name="sessions">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the root element and exists only for XML
-                structure
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-            <xsd:sequence>
-                <xsd:element name="session" type="session" minOccurs="0"
-                    maxOccurs="unbounded" />
-            </xsd:sequence>
-            <xsd:attribute name="version" type="xsd:string"
-                use="required" />
-        </xsd:complexType>
-    </xsd:element>
-    <xsd:complexType name="session">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the node element that describes a particular session
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Generic element used to describe a string that
-                        represents the name of an item
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="server-platform" type="server-platform"
-                minOccurs="0" />
-            <xsd:choice minOccurs="0">
-                <xsd:element name="remote-command">
-                    <xsd:annotation>
-                        <xsd:documentation>
-                            This element is an optional element of
-                            session element that define the Remote
-                            Command Module that can also be used for
-                            cache synchronization
-                        </xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:sequence>
-                            <xsd:element name="channel"
-                                type="xsd:string" default="EclipseLinkCommandChannel"
-                                minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element."
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                            <xsd:element name="commands"
-                                minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element. It determine what
-                                        command features, the RCM
-                                        supports
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                                <xsd:complexType>
-                                    <xsd:sequence>
-                                        <xsd:element name="cache-sync"
-                                            type="xsd:boolean" default="false" minOccurs="0">
-                                            <xsd:annotation>
-                                                <xsd:documentation>
-                                                    This element is an
-                                                    optional element of
-                                                    command element. It
-                                                    turns on cache
-                                                    synchronization to
-                                                    allow sending and
-                                                    receiving cache sync
-                                                    commands
-                                                </xsd:documentation>
-                                            </xsd:annotation>
-                                        </xsd:element>
-                                    </xsd:sequence>
-                                </xsd:complexType>
-                            </xsd:element>
-                            <xsd:element name="transport"
-                                type="transport-manager" minOccurs="0">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This element is an optional
-                                        element of remote-command
-                                        element. It defines the
-                                        transport mechanism of the RCM.
-                                        The default transport mechanism
-                                        is RMI
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                        </xsd:sequence>
-                    </xsd:complexType>
-                </xsd:element>
-            </xsd:choice>
-            <xsd:element name="event-listener-classes" minOccurs="0">
-                <xsd:complexType>
-                    <xsd:group ref="event-listener-classes" />
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="profiler" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element represents if the profiler will be
-                        used by the session
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:simpleType>
-                    <xsd:restriction base="xsd:string">
-                        <xsd:enumeration value="dms" />
-                        <xsd:enumeration value="eclipselink" />
-                    </xsd:restriction>
-                </xsd:simpleType>
-            </xsd:element>
-            <xsd:element name="exception-handler-class"
-                type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This is the class that the session will use to
-                        handle exceptions generated from within the
-                        session
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="logging" type="log" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element used to specify the logging options
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="session-customizer-class"
-                type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element specifies the session customizer
-                        class to run on a loaded session.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="server-platform">
-        <xsd:annotation>
-            <xsd:documentation>
-                This is the node element that describes which server
-                platform to use, JTA settings and runtime services
-                settings
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="enable-runtime-services"
-                type="xsd:boolean" default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element. This
-                        specifies whether or not the JMX MBean for
-                        providing runtime services is deployed.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="enable-jta" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element. This
-                        specifies whether or not this session will
-                        integrate with the JTA (i.e. whether the session
-                        will be populated with a transaction controller
-                        class. The choice of server-class will
-                        automatically be chosen based on the transaction
-                        controller
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="custom-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform">
-                <xsd:sequence>
-                    <xsd:element name="server-class" type="xsd:string"
-                        default="org.eclipse.persistence.platform.server.CustomServerPlatform"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This is the subclass of
-                                org.eclipse.persistence.platform.server.PlatformBase
-                                to specify which server platform to use
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element
-                        name="external-transaction-controller-class" type="xsd:string"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-903-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-904-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1012-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1013-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-1111-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform"/>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-61-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-70-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-81-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-9-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="weblogic-10-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-40-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-50-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-51-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-60-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-61-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="websphere-7-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jboss-platform">
-        <xsd:complexContent>
-            <xsd:extension base="server-platform" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="session-broker">
-        <xsd:annotation>
-            <xsd:documentation>
-                Provides a single view to a session that
-                transparently accesses multple databases.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="session">
-                <xsd:sequence>
-                    <xsd:element name="session-name" type="xsd:string"
-                        maxOccurs="unbounded">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This is the element that represents the
-                                session name
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:simpleType name="project">
-        <xsd:restriction base="xsd:string" />
-    </xsd:simpleType>
-    <xsd:simpleType name="xml">
-        <xsd:restriction base="project" />
-    </xsd:simpleType>
-    <xsd:simpleType name="class">
-        <xsd:restriction base="project" />
-    </xsd:simpleType>
-    <xsd:complexType name="database-session">
-        <xsd:annotation>
-            <xsd:documentation>
-                The session is the primary interface into EclipseLink, the
-                application should do all of its reading and writing of
-                objects through the session. The session also manages
-                transactions and units of work. The database session is
-                intended for usage in two-tier client-server
-                applications. Although it could be used in a server
-                situation, it is limitted to only having a single
-                database connection and only allows a single open
-                database transaction.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="session">
-                <xsd:sequence>
-                    <xsd:element name="primary-project" type="project"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This project (class or xml) will be
-                                loaded as the primary project for the
-                                session.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="additional-project"
-                        type="project" minOccurs="0" maxOccurs="unbounded">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Additional projects will have their
-                                descriptors appended to the primary
-                                project.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="login" type="login"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="server-session">
-        <xsd:annotation>
-            <xsd:documentation>
-                Is an extension of a DatabaseSession
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="database-session">
-                <xsd:sequence>
-                    <xsd:element name="connection-pools"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Connection pools are only for usage with
-                                internal connection pooling and should
-                                not be used if using external connection
-                                pooling
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element name="read-connection-pool"
-                                    type="read-connection-pool" minOccurs="0" />
-                                <xsd:element
-                                    name="write-connection-pool" type="connection-pool"
-                                    minOccurs="0" />
-                                <xsd:element
-                                    name="sequence-connection-pool" type="connection-pool"
-                                    minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            Set this tag to use the
-                                            sequence connection pool
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                                <xsd:element name="connection-pool"
-                                    type="connection-pool" minOccurs="0" maxOccurs="unbounded" />
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:element name="connection-policy"
-                        type="connection-policy" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="connection-policy">
-        <xsd:annotation>
-            <xsd:documentation>
-                Used to specify how default client sessions are acquired
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="exclusive-connection" type="xsd:boolean"
-                default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Specifies if an exclusive connection should be
-                        used for reads, required for VPD, or user based
-                        read security.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="lazy" type="xsd:boolean" default="true"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Specifies if a connection should be acquired and
-                        held upfront in the client session, or only
-                        acquired when needed and then released.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines common fields for database-login and eis-login
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="platform-class" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This is the element that represents the platform
-                        class name
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="user-name" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="encryption-class" type="xsd:string"
-                default="org.eclipse.persistence.internal.security.JCEEncryptor"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="password" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is used in the login as well as the
-                        Cache Synchronization feature
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="table-qualifier" type="xsd:string"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set the default qualifier for all tables. This
-                        can be the creator of the table or database name
-                        the table exists on. This is required by some
-                        databases such as Oracle and DB2.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="external-connection-pooling"
-                type="xsd:boolean" default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set to true if the connection should use an
-                        external connection pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="external-transaction-controller"
-                type="xsd:boolean" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set to true if the session will be using an
-                        external transaction controller
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="sequencing" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequencing information.
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:sequence>
-                        <xsd:element name="default-sequence"
-                            type="sequence" minOccurs="0">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    Default sequence. The name is
-                                    optional. If no name provided an
-                                    empty string will be used as a name.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                        </xsd:element>
-                        <xsd:element name="sequences" minOccurs="0">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    Non default sequences. Make sure
-                                    each sequence has unique name.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:sequence>
-                                    <xsd:element name="sequence"
-                                        type="sequence" minOccurs="0" maxOccurs="unbounded" />
-                                </xsd:sequence>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:sequence>
-                </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="property" minOccurs="0"
-                maxOccurs="unbounded">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of a login.
-                        It is used to define extra properties on the
-                        login
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:attribute name="name" type="xsd:string"
-                        use="required" />
-                    <xsd:attribute name="value" type="xsd:string"
-                        use="required" />
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="database-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Holds the configuration information necessary to connect
-                to a JDBC driver.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login">
-                <xsd:sequence>
-                    <xsd:choice minOccurs="0">
-                        <xsd:sequence>
-                            <xsd:element name="driver-class"
-                                type="xsd:string">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        The driver class is the Java
-                                        class for the JDBC driver to be
-                                        used (e.g.
-                                        sun.jdbc.odbc.JdbcOdbcDriver.class)
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                            <xsd:element name="connection-url"
-                                type="xsd:string">
-                                <xsd:annotation>
-                                    <xsd:documentation>
-                                        This is the URL that will be
-                                        used to connect to the database.
-                                    </xsd:documentation>
-                                </xsd:annotation>
-                            </xsd:element>
-                        </xsd:sequence>
-                        <xsd:element name="datasource">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    This is the URL of a datasource that
-                                    may be used by the session to
-                                    connect to the database.
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:simpleContent>
-                                    <xsd:extension base="xsd:string">
-                                        <xsd:attribute name="lookup"
-                                            type="lookup-enum" />
-                                    </xsd:extension>
-                                </xsd:simpleContent>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:choice>
-                    <xsd:element name="bind-all-parameters"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether to bind all arguments to any
-                                SQL statement.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="cache-all-statements"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether prepared statements should
-                                be cached.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="byte-array-binding"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use
-                                parameter binding for large binary data.
-                                By default EclipseLink will print this data
-                                as hex through the JDBC binary excape
-                                clause. Both binding and printing have
-                                various limits on all databases (e.g. 5k
-                                - 32k).
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="string-binding"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set to true if strings should be bound.
-                                Used to help bean introspection.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="streams-for-binding"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use streams
-                                to store large binary data. This can
-                                improve the max size for reading/writing
-                                on some JDBC drivers.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="force-field-names-to-upper-case"
-                        type="xsd:boolean" default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This setting can be used if the
-                                application expects upper case but the
-                                database does not return consistent case
-                                (e.g. different databases).
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="optimize-data-conversion"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Set whether driver level data conversion
-                                optimization is enabled. This can be
-                                disabled as some drivers perform data
-                                conversion themselves incorrectly.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="trim-strings" type="xsd:boolean"
-                        default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                By default CHAR field values have
-                                trailing blanks trimmed, this can be
-                                configured.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="batch-writing" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use batch
-                                writing. This facility allows multiple
-                                write operations to be submitted to a
-                                database for processing at once.
-                                Submitting multiple updates together,
-                                instead of individually, can greatly
-                                improve performance in some situations.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="jdbc-batch-writing"
-                        type="xsd:boolean" default="true" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Setting this tag with true indicates to
-                                EclipseLink that the JDBC driver supports
-                                batch writing. EclipseLink's internal batch
-                                writing is disabled. Setting this tag
-                                with false indicates to EclipseLink that the
-                                JDBC driver does not support batch
-                                writing. This will revert to the default
-                                behaviour which is to delegate to
-                                EclipseLink's internal batch writing.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="max-batch-writing-size"
-                        type="xsd:integer" default="32000" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Allow for the max batch writing size to
-                                be set. This allows for the batch size
-                                to be limited as most database have
-                                strict limits. The size is in
-                                characters, the default is 32000 but the
-                                real value depends on the database
-                                configuration.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="native-sql" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                EclipseLink can be configured to use
-                                database specific sql grammar not JDBC
-                                specific. This is because unfortunately
-                                some bridges to not support the full
-                                JDBC standard. By default EclipseLink uses
-                                the JDBC sql grammar.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="struct-converters"
-                        minOccurs="0">
-                        <xsd:complexType>
-                            <xsd:group ref="struct-converters" />
-                        </xsd:complexType>
-                    </xsd:element>
-					<xsd:element name="connection-health-validated-on-error" type="xsd:boolean" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>If true will cause EclipseLink to ping database to determine if an SQLException was cause by a communication failure</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="query-retry-attempt-count" type="xsd:integer" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Configure the number of attempts EclipseLink will make if EclipseLink is attempting to retry a query.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="delay-between-reconnect-attempts" type="xsd:integer" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Configure the time in miliseconds that EclipseLink will wait between attempts to reconnect if EclipseLink is attempting to retry a query.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-					<xsd:element name="ping-sql" type="xsd:string" minOccurs="0">
-						<xsd:annotation>
-							<xsd:documentation>Override the platform specific SQL that EclipseLink will issue to a connection to determine if the connection is still live.</xsd:documentation>
-						</xsd:annotation>
-					</xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:simpleType name="lookup-enum">
-        <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="composite-name" />
-            <xsd:enumeration value="compound-name" />
-            <xsd:enumeration value="string" />
-        </xsd:restriction>
-    </xsd:simpleType>
-    <xsd:complexType name="eis-login">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines connection information and datasource
-                properties. There are three ways to connect through EIS,
-                - Provide a JNDI name to the ConnectionFactory and use
-                the default getConnection - Provide a JNDI name to the
-                ConnectionFactory, and a driver specific ConnectionSpec
-                to pass to the getConnection - Connect in a non-managed
-                way directly to the driver specific ConnectionFactory An
-                EISConnectionSpec must be provided to define how to
-                connect to the EIS adapter. The EIS platform can be used
-                to provide datasource/driver specific behavoir such as
-                InteractionSpec and Record conversion.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="login">
-                <xsd:sequence>
-                    <xsd:element name="connection-spec-class"
-                        type="xsd:string" minOccurs="0" />
-                    <xsd:element name="connection-factory-url"
-                        type="xsd:string" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xml-login">
-    	<xsd:annotation>
-    		<xsd:documentation>
-    			Defines login and platform type to be used
-    		</xsd:documentation>
-    	</xsd:annotation>
-    	<xsd:complexContent>
-    		<xsd:extension base="login">
-    			<xsd:sequence>
-    				<xsd:element name="equal-namespace-resolvers"
-    					type="xsd:boolean" maxOccurs="1" minOccurs="0">
-    				</xsd:element>
-    				<xsd:element name="document-preservation-policy"
-    					maxOccurs="1" minOccurs="0"
-    					type="document-preservation-policy">
-
-    				</xsd:element>
-    			</xsd:sequence>
-    		</xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="connection-pool">
-        <xsd:annotation>
-            <xsd:documentation>
-                Used to specify how connections should be pooled in a
-                server session.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string" />
-            <xsd:element name="max-connections" type="xsd:integer"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        The max number of connections that will be
-                        created in the pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="min-connections" type="xsd:integer"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        The min number of connections that will aways be
-                        in the pool
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="login" type="login" minOccurs="0" />
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="read-connection-pool">
-        <xsd:annotation>
-            <xsd:documentation>
-                The read connection pool is used for read access through
-                the server session. Any of the connection pools can be
-                used for the read pool however this is the default. This
-                pool allows for concurrent reads against the same JDBC
-                connection and requires that the JDBC connection support
-                concurrent read access.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="connection-pool">
-                <xsd:sequence>
-                    <xsd:element name="exclusive" type="xsd:boolean"
-                        default="false" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This tag is used to specify if the
-                                connections from the read connection
-                                pool are exclusive or not
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the common logging options
-            </xsd:documentation>
-        </xsd:annotation>
-    </xsd:complexType>
-    <xsd:complexType name="java-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the Java log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log">
-                <xsd:sequence>
-                    <xsd:element name="logging-options"
-                        type="logging-options" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="eclipselink-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the EclipseLink log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log">
-                <xsd:sequence>
-                    <xsd:element name="log-level" default="info"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element specifies the log level for logging
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:string">
-                                <xsd:enumeration value="off" />
-                                <xsd:enumeration value="severe" />
-                                <xsd:enumeration value="warning" />
-                                <xsd:enumeration value="info" />
-                                <xsd:enumeration value="config" />
-                                <xsd:enumeration value="fine" />
-                                <xsd:enumeration value="finer" />
-                                <xsd:enumeration value="finest" />
-                                <xsd:enumeration value="all" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="file-name" type="xsd:string"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Name of the file to write the logging to
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="logging-options"
-                        type="logging-options" minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="server-log">
-        <xsd:annotation>
-            <xsd:documentation>
-                Defines the options of the Server log
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="log" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="logging-options">
-        <xsd:sequence>
-            <xsd:element name="log-exception-stacktrace"
-                type="xsd:boolean" default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log exception stacktrace. Without
-                        this element, the stacktrace is logged for FINER
-                        or less (FINEST)
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-thread" type="xsd:boolean"
-                default="false" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log thread. Without this element,
-                        the thread is logged for FINE or less (FINER or
-                        FINEST)
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-session" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log session. Without this
-                        element, the session is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-connection" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log connection. Without this
-                        element, the connection is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="print-date" type="xsd:boolean"
-                default="true" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Set whether to log date. Without this element,
-                        the date is always printed
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="transport-manager">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the transport mechanism of the RCM.
-                The default transport mechanism is RMI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="on-connection-error"
-                default="DiscardConnection" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of transport
-                        element and has value of "DiscardConnection" or
-                        "KeepConnection". It determines whether
-                        connection to a RCM service should be dropped if
-                        there is a communication error with that RCM
-                        service. The default value for this element is
-                        "DiscardConnection".
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:simpleType>
-                    <xsd:restriction base="xsd:string">
-                        <xsd:enumeration value="KeepConnection" />
-                        <xsd:enumeration value="DiscardConnection" />
-                    </xsd:restriction>
-                </xsd:simpleType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="rmi-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element is an optional element of transport
-                element. It defines the RMI transport mechanism. The
-                default naming service is JNDI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="send-mode" default="Asynchronous"
-                        minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element is an optional element of
-                                rmi element and has value of
-                                "Asynchronous" or "Synchronous". It
-                                determines whether the RCM propagates
-                                command and does not wait for command to
-                                finish its execution in asynchronous
-                                mode or wait for command to finish its
-                                execution in synchronous mode. The
-                                default value of this element is
-                                "Asynchronous".
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:string">
-                                <xsd:enumeration value="Asynchronous" />
-                                <xsd:enumeration value="Synchronous" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:element>
-                    <xsd:element name="discovery" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                This element is an optional element of
-                                rmi element. It determines whether the
-                                Discovery settings should be changed.
-                                Note that a default Discovery with its
-                                default settings is created when the rmi
-                                element is specified.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                            <xsd:sequence>
-                                <xsd:element
-                                    name="multicast-group-address" type="xsd:string"
-                                    default="226.10.12.64" minOccurs="0" />
-                                <xsd:element name="multicast-port"
-                                    type="xsd:integer" default="3121" minOccurs="0" />
-                                <xsd:element name="announcement-delay"
-                                    type="xsd:integer" default="1000" minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            This element is an optional
-                                            element of discovery
-                                            elemenent. It determines
-                                            whether the multicast group
-                                            address should be changed.
-                                            The default value of this
-                                            element is "1000"
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                                <xsd:element name="packet-time-to-live"
-                                    type="xsd:integer" default="2" minOccurs="0">
-                                    <xsd:annotation>
-                                        <xsd:documentation>
-                                            This element is an optional
-                                            element of discovery
-                                            elemenent. It determines
-                                            whether the time-to-live of
-                                            the packets that are sent
-                                            from the Discovery's
-                                            mulsticast socket should be
-                                            changed. The default value
-                                            of this element is "2"
-                                        </xsd:documentation>
-                                    </xsd:annotation>
-                                </xsd:element>
-                            </xsd:sequence>
-                        </xsd:complexType>
-                    </xsd:element>
-                    <xsd:choice minOccurs="0">
-                        <xsd:element name="jndi-naming-service"
-                            type="jndi-naming-service" />
-                        <xsd:element
-                            name="rmi-registry-naming-service">
-                            <xsd:annotation>
-                                <xsd:documentation>
-                                    This element is an optional element
-                                    of rmi elemenent. It determines
-                                    whether RMI registry should be used
-                                    for naming service
-                                </xsd:documentation>
-                            </xsd:annotation>
-                            <xsd:complexType>
-                                <xsd:sequence>
-                                    <xsd:element name="url"
-                                        type="xsd:string" minOccurs="0" />
-                                </xsd:sequence>
-                            </xsd:complexType>
-                        </xsd:element>
-                    </xsd:choice>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="rmi-iiop-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the RMI-IIOP transport mechanism of
-                the RCM. The default naming service is JNDI
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="rmi-transport" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jms-topic-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the JMS topic transport mechanism
-                of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="topic-host-url" type="xsd:string"
-                        minOccurs="0" />
-                    <xsd:element name="topic-connection-factory-name"
-                        type="xsd:string" default="jms/EclipseLinkTopicConnectionFactory"
-                        minOccurs="0" />
-                    <xsd:element name="topic-name" type="xsd:string"
-                        default="jms/EclipseLinkTopic" minOccurs="0" />
-                    <xsd:element name="jndi-naming-service"
-                        type="jndi-naming-service" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="oc4j-jgroups-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the OC4J JGroups transport
-                mechanism of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="use-single-threaded-notification"
-                        type="xsd:boolean" default="false" minOccurs="0" />
-                    <xsd:element name="topic-name" type="xsd:string"
-                        minOccurs="0" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="sun-corba-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element defines the Sun CORBA transport mechanism
-                of the RCM
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="user-defined-transport">
-        <xsd:annotation>
-            <xsd:documentation>
-                This element is an optional element of transport
-                element. It determines whether a user implemented
-                transport mechanism that should be used.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="transport-manager">
-                <xsd:sequence>
-                    <xsd:element name="transport-class"
-                        type="xsd:string" />
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="jndi-naming-service">
-        <xsd:sequence>
-            <xsd:element name="url" type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether the
-                        URL for naming service should be changed. 
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="user-name" type="xsd:string"
-                default="admin" minOccurs="0" />
-            <xsd:element name="encryption-class" type="xsd:string"
-                default="org.eclipse.persistence.internal.security.JCEEncryptor"
-                minOccurs="0" />
-            <xsd:element name="password" type="xsd:string"
-                default="password" minOccurs="0" />
-            <!--  TODO: Need to have a non WebLogic (previously OC4J) default or route through server platform by default -->
-            <xsd:element name="initial-context-factory-name"
-                type="xsd:string"
-                default="weblogic.jndi.WLInitialContextFactory"
-                minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether the
-                        initial context factory class for naming service
-                        should be changed. 
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="property" minOccurs="0"
-                maxOccurs="unbounded">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        This element is an optional element of
-                        jndi-naming-service. It determines whether
-                        naming service requires extra property that is
-                        not defined by EclipseLink but it is required by the
-                        user application
-                    </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                    <xsd:attribute name="name" type="xsd:string"
-                        use="required" />
-                    <xsd:attribute name="value" type="xsd:string"
-                        use="required" />
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:group name="event-listener-classes">
-        <xsd:sequence>
-            <xsd:element name="event-listener-class" type="xsd:string"
-                minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-    </xsd:group>
-    <xsd:group name="struct-converters">
-        <xsd:sequence>
-            <xsd:element name="struct-converter" type="xsd:string"
-                minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-    </xsd:group>
-    <xsd:complexType name="sequence">
-        <xsd:annotation>
-            <xsd:documentation>Sequence object.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-            <xsd:element name="name" type="xsd:string" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequence name.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-            <xsd:element name="preallocation-size" type="xsd:integer"
-                default="50" minOccurs="0">
-                <xsd:annotation>
-                    <xsd:documentation>
-                        Sequence preallocation size.
-                    </xsd:documentation>
-                </xsd:annotation>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-    <xsd:complexType name="default-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                References default sequence object, overriding its name
-                and (optionally) preallocation size.
-            </xsd:documentation>
-            <xsd:documentation>
-                To use preallocation size of default sequence object,
-                set preallocation size to 0
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="native-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                Database sequence mechanism used.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="table-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Table sequence</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="table" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="name-field" type="xsd:string"
-                        default="SEQ_NAME" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence name
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="counter-field" type="xsd:string"
-                        default="SEQ_COUNT" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="unary-table-sequence">
-        <xsd:annotation>
-            <xsd:documentation>
-                Unary table sequence - sequence name is a table name,
-                table has a single field and a single row
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="counter-field" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xmlfile-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Xmlfile sequence.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence" />
-        </xsd:complexContent>
-    </xsd:complexType>
-    <xsd:complexType name="xml-sequence">
-        <xsd:annotation>
-            <xsd:documentation>Xml sequence</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-            <xsd:extension base="sequence">
-                <xsd:sequence>
-                    <xsd:element name="root-element" type="xsd:string"
-                        default="SEQUENCE" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="name-element" type="xsd:string"
-                        default="SEQ_NAME" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence name
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                    <xsd:element name="counter-element"
-                        type="xsd:string" default="SEQ_COUNT" minOccurs="0">
-                        <xsd:annotation>
-                            <xsd:documentation>
-                                Define the name of the sequence counter
-                                field in the sequence table.
-                            </xsd:documentation>
-                        </xsd:annotation>
-                    </xsd:element>
-                </xsd:sequence>
-            </xsd:extension>
-        </xsd:complexContent>
-    </xsd:complexType>
-
-
-
-    <xsd:complexType name="document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		This element specifies which document preservation
-        		strategy will be used.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-    		<xsd:element name="node-ordering-policy"
-    			type="node-ordering-policy" maxOccurs="1" minOccurs="0">
-    		</xsd:element>
-    	</xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="node-ordering-policy">
-    	<xsd:annotation>
-    		<xsd:documentation>
-    			This element specifies which node ordering strategy will
-    			be used.
-    		</xsd:documentation>
-    	</xsd:annotation></xsd:complexType>
-
-    <xsd:complexType
-    	name="descriptor-level-document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of DocumentPreservation Policy that
-        		accesses the session cache to store Objects and their
-        		associated nodes.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="no-document-preservation-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		A DocumentPreservationPolicy to indicate that no
-        		document preservation work should be done.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="xml-binder-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of DocumentPreservationPolicy that
-        		maintains bidirectional relationships between Java
-        		Objects and the XMLNodes they originated from.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="document-preservation-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="append-new-elements-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that simply
-        		appends the new child element to the parent.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="ignore-new-elements-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that ignores any
-        		new elements when updating a cached document.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-
-    <xsd:complexType name="relative-position-ordering-policy">
-        <xsd:annotation>
-        	<xsd:documentation>
-        		An implementation of NodeOrderingPolicy that adds new
-        		elements to an XML Document based on the last updated
-        		sibling in their context.
-        	</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
-    		<xsd:extension base="node-ordering-policy"></xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
-</xsd:schema>
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/JptCommonEclipseLinkCorePlugin.java b/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/JptCommonEclipseLinkCorePlugin.java
deleted file mode 100644
index 60cb456..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/JptCommonEclipseLinkCorePlugin.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.eclipselink.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-
-public class JptCommonEclipseLinkCorePlugin
-		extends Plugin {
-	
-	// ********** public constants **********
-	
-	/**
-	 * The plug-in identifier of the jpt common core support
-	 * (value <code>"org.eclipse.jpt.common.core"</code>).
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jpt.common.eclipselink.core";  //$NON-NLS-1$
-	public static final String PLUGIN_ID_ = PLUGIN_ID + '.';
-	
-	
-	// ********** singleton **********
-	
-	private static JptCommonEclipseLinkCorePlugin INSTANCE;
-	
-	/**
-	 * Return the singleton jpt common eclipselink core plug-in.
-	 */
-	public static JptCommonEclipseLinkCorePlugin instance() {
-		return INSTANCE;
-	}
-	
-	
-	// ********** public static methods **********
-	
-	/**
-	 * Log the specified status.
-	 */
-	public static void log(IStatus status) {
-        INSTANCE.getLog().log(status);
-    }
-	
-	/**
-	 * Log the specified message.
-	 */
-	public static void log(String msg) {
-        log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null));
-    }
-	
-	/**
-	 * Log the specified exception or error.
-	 */
-	public static void log(Throwable throwable) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, throwable.getLocalizedMessage(), throwable));
-	}
-	
-	
-	// ********** plug-in implementation **********
-	
-	public JptCommonEclipseLinkCorePlugin() {
-		super();
-		if (INSTANCE != null) {
-			throw new IllegalStateException();
-		}
-		// this convention is *wack*...  ~bjv
-		INSTANCE = this;
-	}
-	
-	
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		// nothing yet...
-	}
-	
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		// nothing yet...		
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/internal/JptCommonEclipseLinkCoreMessages.java b/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/internal/JptCommonEclipseLinkCoreMessages.java
deleted file mode 100644
index 64af708..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/internal/JptCommonEclipseLinkCoreMessages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.eclipselink.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class JptCommonEclipseLinkCoreMessages {
-	
-	public static String EclipseLinkLibraryValidator_noEclipseLinkVersion;
-	public static String EclipseLinkLibraryValidator_multipleEclipseLinkVersions;
-	public static String EclipseLinkLibraryValidator_improperEclipseLinkVersion;
-	
-	// TODO - move to jpt.jaxb.eclipselink.core when there are messages there
-	public static String ELJaxbUserLibraryValidator_noXjcClasses;
-	
-	
-	private static final String BUNDLE_NAME = "jpt_common_eclipselink_core"; //$NON-NLS-1$
-	
-	private static final Class<?> BUNDLE_CLASS = JptCommonEclipseLinkCoreMessages.class;
-	
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, BUNDLE_CLASS);
-	}
-	
-	private JptCommonEclipseLinkCoreMessages() {
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/internal/libval/EclipseLinkLibValUtil.java b/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/internal/libval/EclipseLinkLibValUtil.java
deleted file mode 100644
index 1ad52ab..0000000
--- a/common/plugins/org.eclipse.jpt.common.eclipselink.core/src/org/eclipse/jpt/common/eclipselink/core/internal/libval/EclipseLinkLibValUtil.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.eclipselink.core.internal.libval;
-
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ToolFactory;
-import org.eclipse.jdt.core.util.IClassFileReader;
-import org.eclipse.jdt.core.util.IFieldInfo;
-import org.eclipse.jpt.common.eclipselink.core.JptCommonEclipseLinkCorePlugin;
-import org.eclipse.jpt.common.eclipselink.core.internal.JptCommonEclipseLinkCoreMessages;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-
-public class EclipseLinkLibValUtil {
-	
-	private final static String VERSION_CLASS_PATH = "org/eclipse/persistence/Version.class"; //$NON-NLS-1$
-	
-	private final static String VERSION_FIELD_NAME = "version"; //$NON-NLS-1$
-	
-	
-	public static IStatus validate(Iterable<IClasspathEntry> libraryEntries, Set<VersionRange> versionRanges) {
-		Version version = null;
-		for (IClasspathEntry entry : libraryEntries) {
-			String versionString = null;
-			if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
-				IClassFileReader classReader = 
-						ToolFactory.createDefaultClassFileReader(
-							entry.getPath().toFile().getAbsolutePath(), VERSION_CLASS_PATH, IClassFileReader.FIELD_INFOS);
-				if (classReader != null) {
-					for (IFieldInfo field : classReader.getFieldInfos()) {
-						if (StringTools.stringsAreEqual(field.getName(), VERSION_FIELD_NAME.toCharArray())) {
-							try {
-								versionString = field.getConstantValueAttribute().getConstantValue().getStringValue();
-							}
-							catch (Exception e) {
-								// potentially a bit could go wrong with that last line, but if any
-								// assumptions aren't met, there's no value
-							}
-							break;
-						}
-					}
-				}
-				if (versionString != null) {
-					if (version != null) {
-						return new Status(
-								IStatus.ERROR, JptCommonEclipseLinkCorePlugin.PLUGIN_ID,
-								JptCommonEclipseLinkCoreMessages.EclipseLinkLibraryValidator_multipleEclipseLinkVersions);
-					}
-					else {
-						version = new Version(versionString);
-					}
-				}
-			}
-		}
-		
-		if (version == null) {
-			return new Status(
-					IStatus.ERROR, JptCommonEclipseLinkCorePlugin.PLUGIN_ID, 
-					JptCommonEclipseLinkCoreMessages.EclipseLinkLibraryValidator_noEclipseLinkVersion);
-		}
-		
-		for (VersionRange versionRange : versionRanges) {
-			if (! versionRange.isIncluded(version)) {
-				return new Status(
-						IStatus.ERROR, JptCommonEclipseLinkCorePlugin.PLUGIN_ID, 
-						JptCommonEclipseLinkCoreMessages.EclipseLinkLibraryValidator_improperEclipseLinkVersion);
-			}
-		}
-		
-		return Status.OK_STATUS;
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/.classpath b/common/tests/org.eclipse.jpt.common.core.tests/.classpath
deleted file mode 100644
index 1e53039..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/core/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/wst/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/.cvsignore b/common/tests/org.eclipse.jpt.common.core.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/.project b/common/tests/org.eclipse.jpt.common.core.tests/.project
deleted file mode 100644
index 0839d13..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.core.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/.settings/org.eclipse.jdt.core.prefs b/common/tests/org.eclipse.jpt.common.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 294090b..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:06:24 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/META-INF/MANIFEST.MF b/common/tests/org.eclipse.jpt.common.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 8e6e217..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.common.core.tests;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.common.utility.tests;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.junit;bundle-version="3.8.0"
-Export-Package: org.eclipse.jpt.common.core.tests.internal;x-internal:=true,
- org.eclipse.jpt.common.core.tests.internal.projects;x-internal:=true,
- org.eclipse.jpt.common.core.tests.internal.resource.java;x-internal:=true,
- org.eclipse.jpt.common.core.tests.internal.utility.jdt;x-internal:=true
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/about.html b/common/tests/org.eclipse.jpt.common.core.tests/about.html
deleted file mode 100644
index be534ba..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/build.properties b/common/tests/org.eclipse.jpt.common.core.tests/build.properties
deleted file mode 100644
index 9cd29bc..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               test.xml,\
-               plugin.properties
-source.. = src/
-output.. = bin/
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/plugin.properties b/common/tests/org.eclipse.jpt.common.core.tests/plugin.properties
deleted file mode 100644
index b22b820..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName=Dali Java Persistence Tools - Common Core Tests
-providerName=Eclipse Web Tools Platform
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/JptCommonCoreTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/JptCommonCoreTests.java
deleted file mode 100644
index b53253a..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/JptCommonCoreTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.jpt.common.core.tests.internal.resource.java.JptCommonCoreResourceJavaTests;
-import org.eclipse.jpt.common.core.tests.internal.utility.jdt.JptCommonCoreUtilityJdtTests;
-
-public class JptCommonCoreTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(JptCommonCoreTests.class.getPackage().getName());
-		suite.addTest(JptCommonCoreResourceJavaTests.suite());
-		suite.addTest(JptCommonCoreUtilityJdtTests.suite());
-		return suite;
-	}
-	
-	private JptCommonCoreTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestFacetedProject.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestFacetedProject.java
deleted file mode 100644
index a2ba74b..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestFacetedProject.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.projects;
-
-import org.eclipse.core.runtime.CoreException;
-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;
-
-/**
- * This builds and holds a "faceted" project.
- * Support for installing facets.
- */
-public class TestFacetedProject extends TestPlatformProject {
-	private final IFacetedProject facetedProject;
-
-
-	// ********** builders *****************************
-	
-	public static TestFacetedProject buildFacetedProject(String baseProjectName, boolean autoBuild)
-			throws CoreException {
-		return new TestFacetedProject(baseProjectName, autoBuild);
-	}
-	
-	
-	// ********** constructors/initialization **********
-
-	public TestFacetedProject(String projectName) throws CoreException {
-		this(projectName, true);
-	}
-	
-	public TestFacetedProject(String projectName, boolean autoBuild) throws CoreException {
-		super(projectName, autoBuild);
-		this.facetedProject = this.createFacetedProject();
-	}
-
-	private IFacetedProject createFacetedProject() throws CoreException {
-		return ProjectFacetsManager.create(this.getProject(), true, null);		// true = "convert if necessary"
-	}
-
-
-	// ********** public methods **********
-
-	public IFacetedProject getFacetedProject() {
-		return this.facetedProject;
-	}
-
-	public void installFacet(String facetName, String versionName) throws CoreException {
-		this.installFacet(facetName, versionName, null);
-	}
-
-	public void uninstallFacet(String facetName, String versionName) throws CoreException {
-		this.uninstallFacet(facetName, versionName, null);
-	}
-
-	/**
-	 * if 'config' is null (and 'facetName' is "jpt.jpa"), the JPA project will be built with the defaults
-	 * defined in JpaFacetInstallDataModelProvider#getDefaultProperty(String)
-	 * In JPA the config object will be an IDataModel
-	 * In JAXB the config object will be a JaxbFacetInstallConfig
-	 */
-	public void installFacet(String facetName, String versionName, Object config) throws CoreException {
-		this.facetedProject.installProjectFacet(this.facetVersion(facetName, versionName), config, null);
-	}
-
-	/**
-	 * In JPA the config object will be an IDataModel
-	 * In JAXB the config object will be a JaxbFacetUninstallConfig
-	 */
-	public void uninstallFacet(String facetName, String versionName, Object config) throws CoreException {
-		this.facetedProject.uninstallProjectFacet(this.facetVersion(facetName, versionName), config, null);
-	}
-
-	private IProjectFacetVersion facetVersion(String facetName, String versionName) {
-		return ProjectFacetsManager.getProjectFacet(facetName).getVersion(versionName);
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestJavaProject.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestJavaProject.java
deleted file mode 100644
index 7ea7e38..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestJavaProject.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.projects;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-
-/**
- * This builds and holds a "Java" project.
- * Support for adding packages and types.
- * 
- * "Java" projects aren't required to be "faceted" projects, but for JPA
- * testing they are.
- */
-@SuppressWarnings("nls")
-public class TestJavaProject extends TestFacetedProject {
-	private final IJavaProject javaProject;
-	private final IPackageFragmentRoot sourceFolder;
-
-
-	// ********** builders *****************************
-	
-	public static TestJavaProject buildJavaProject(String baseProjectName, boolean autoBuild)
-			throws CoreException {
-		return new TestJavaProject(baseProjectName, autoBuild);
-	}
-	
-	
-	// ********** constructors/initialization **********
-
-	public TestJavaProject(String projectName) throws CoreException {
-		this(projectName, false);
-	}
-
-	public TestJavaProject(String projectName, boolean autoBuild) throws CoreException {
-		super(projectName, autoBuild);
-		this.installFacet("jst.java", "5.0");
-		this.javaProject = JavaCore.create(this.getProject());
-		this.sourceFolder = this.javaProject.getPackageFragmentRoot(this.getProject().getFolder("src"));
-	}
-
-	public void addJar(String jarPath) throws JavaModelException {
-		this.addClasspathEntry(JavaCore.newLibraryEntry(new Path(jarPath), null, null));
-	}
-
-	private void addClasspathEntry(IClasspathEntry entry) throws JavaModelException {
-		this.javaProject.setRawClasspath(ArrayTools.add(this.javaProject.getRawClasspath(), entry), null);
-	}
-	
-
-	// ********** public methods **********
-
-	public IJavaProject getJavaProject() {
-		return this.javaProject;
-	}
-
-	public IPackageFragment createPackage(String packageName) throws CoreException {
-		return this.sourceFolder.createPackageFragment(packageName, false, null);	// false = "no force"
-	}
-
-	/**
-	 * The source should NOT contain a package declaration;
-	 * it will be added here.
-	 */
-	public ICompilationUnit createCompilationUnit(String packageName, String compilationUnitName, String source) throws CoreException {
-		return this.createCompilationUnit(this.createPackage(packageName), compilationUnitName, new SimpleSourceWriter(source));
-	}
-
-	/**
-	 * The source should NOT contain a package declaration;
-	 * it will be added here.
-	 */
-	public ICompilationUnit createCompilationUnit(String packageName, String compilationUnitName, SourceWriter sourceWriter) throws CoreException {
-		return this.createCompilationUnit(this.createPackage(packageName), compilationUnitName, sourceWriter);
-	}
-
-	/**
-	 * The source should NOT contain a package declaration;
-	 * it will be added here.
-	 */
-	public ICompilationUnit createCompilationUnit(IPackageFragment packageFragment, String compilationUnitName, SourceWriter sourceWriter) throws CoreException {
-		StringBuilder sb = new StringBuilder(2000);
-		sourceWriter.appendSourceTo(sb);
-		String source = sb.toString();
-		return packageFragment.createCompilationUnit(compilationUnitName, source, false, null);	// false = "no force"
-	}
-
-
-	// ********** member classes **********
-
-	public interface SourceWriter {
-		void appendSourceTo(StringBuilder sb);
-	}
-
-	public class SimpleSourceWriter implements SourceWriter {
-		private final String source;
-		public SimpleSourceWriter(String source) {
-			super();
-			this.source = source;
-		}
-		public void appendSourceTo(StringBuilder sb) {
-			sb.append(this.source);
-		}
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestPlatformProject.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestPlatformProject.java
deleted file mode 100644
index 22ea400..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/projects/TestPlatformProject.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.projects;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.tests.internal.TestCommand;
-import org.eclipse.jpt.common.utility.tests.internal.TestTools;
-
-/**
- * This builds and holds a "general" Eclipse project.
- * Support for adding natures, folders, and files.
- */
-public class TestPlatformProject {
-	private final IProject project;
-
-	/** carriage return */
-	public static final String CR = StringTools.CR;
-
-	
-	// ********** builders **********
-	
-	public static TestPlatformProject buildPlatformProject(String baseProjectName, boolean autoBuild)
-			throws CoreException {
-		return new TestPlatformProject(baseProjectName, autoBuild);
-	}
-	
-	
-	// ********** constructors/initialization **********
-	
-	public TestPlatformProject(String projectName, boolean autoBuild) throws CoreException {
-		super();
-		this.setAutoBuild(autoBuild);  // workspace-wide setting
-		this.project = this.buildPlatformProject(projectName);
-	}
-
-	private void setAutoBuild(boolean autoBuild) throws CoreException {
-		IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
-		description.setAutoBuilding(autoBuild);
-		ResourcesPlugin.getWorkspace().setDescription(description);
-	}
-
-	private IProject buildPlatformProject(String projectName) throws CoreException {
-		IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		this.createProject(p);
-		p.open(null);
-		return p;
-	}
-
-	private void createProject(IProject p) {
-		TestTools.execute(new CreateProjectCommand(p), 4);
-	}
-
-	protected static class CreateProjectCommand
-		implements TestCommand
-	{
-		private final IProject project;
-		protected CreateProjectCommand(IProject project) {
-			super();
-			this.project = project;
-		}
-		public void execute() throws Exception {
-			this.project.create(null);
-		}
-	}
-
-
-	// ********** public methods **********
-
-	public IProject getProject() {
-		return this.project;
-	}
-
-	public void addProjectNature(String natureID) throws CoreException {
-		IProjectDescription description = this.project.getDescription();
-		description.setNatureIds(ArrayTools.add(description.getNatureIds(), natureID));
-		this.project.setDescription(description, null);
-	}
-
-	public void removeProjectNature(String natureID) throws CoreException {
-		IProjectDescription description = this.project.getDescription();
-		description.setNatureIds(ArrayTools.removeAllOccurrences(description.getNatureIds(), natureID));
-		this.project.setDescription(description, null);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/JavaResourceModelTestCase.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/JavaResourceModelTestCase.java
deleted file mode 100644
index 6f952c5..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/JavaResourceModelTestCase.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.resource.java;
-
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.core.AnnotationProvider;
-import org.eclipse.jpt.common.core.GenericAnnotationProvider;
-import org.eclipse.jpt.common.core.internal.resource.java.source.SourcePackageInfoCompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.source.SourceTypeCompilationUnit;
-import org.eclipse.jpt.common.core.internal.utility.jdt.NullAnnotationEditFormatter;
-import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnum;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceEnumConstant;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceMethod;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackage;
-import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageInfoCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotationDefinition;
-import org.eclipse.jpt.common.core.tests.internal.utility.jdt.AnnotationTestCase;
-import org.eclipse.jpt.common.utility.command.CommandExecutor;
-import org.eclipse.jpt.common.utility.internal.BitTools;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-@SuppressWarnings("nls")
-public abstract class JavaResourceModelTestCase
-		extends AnnotationTestCase {
-	
-	private JavaElementChangeListener javaElementChangeListener;
-	protected JavaResourceCompilationUnit javaResourceCompilationUnit;
-	
-	
-	public JavaResourceModelTestCase(String name) {
-		super(name);
-	}
-	
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		this.javaElementChangeListener = new JavaElementChangeListener();
-		JavaCore.addElementChangedListener(this.javaElementChangeListener);
-	}
-	
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		JavaCore.removeElementChangedListener(this.javaElementChangeListener);
-		this.javaElementChangeListener = null;
-	}
-	
-	private class JavaElementChangeListener
-			implements IElementChangedListener {
-		
-		JavaElementChangeListener() {
-			super();
-		}
-		
-		public void elementChanged(ElementChangedEvent event) {
-			JavaResourceModelTestCase.this.javaElementChanged(event);
-		}
-		
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-	}
-	
-	void javaElementChanged(ElementChangedEvent event) {
-		if (this.javaResourceCompilationUnit == null) {
-			return;
-		}
-		this.syncWithJavaDelta(event.getDelta());
-	}
-	
-	/**
-	 * NB: this is copied from GenericJpaProject, so it might need to be
-	 * kept in synch with that code if it changes... yech...
-	 */
-	protected void syncWithJavaDelta(IJavaElementDelta delta) {
-		switch (delta.getElement().getElementType()) {
-			case IJavaElement.JAVA_MODEL :
-			case IJavaElement.JAVA_PROJECT :
-			case IJavaElement.PACKAGE_FRAGMENT_ROOT :
-			case IJavaElement.PACKAGE_FRAGMENT :
-				this.syncWithJavaDeltaChildren(delta);
-				break;
-			case IJavaElement.COMPILATION_UNIT :
-				this.javaCompilationUnitChanged(delta);
-				break;
-			default :
-				break; // ignore the elements inside a compilation unit
-		}
-	}
-
-	protected void syncWithJavaDeltaChildren(IJavaElementDelta delta) {
-		for (IJavaElementDelta child : delta.getAffectedChildren()) {
-			this.syncWithJavaDelta(child); // recurse
-		}
-	}
-
-	protected void javaCompilationUnitChanged(IJavaElementDelta delta) {
-		if (this.deltaIsRelevant(delta)) {
-			this.javaResourceCompilationUnit.synchronizeWithJavaSource();
-		}
-	}
-
-	protected boolean deltaIsRelevant(IJavaElementDelta delta) {
-		if (BitTools.onlyFlagIsSet(delta.getFlags(), IJavaElementDelta.F_PRIMARY_WORKING_COPY)) {
-			return false;
-		}
-		return delta.getKind() == IJavaElementDelta.CHANGED;
-	}
-	
-	protected ICompilationUnit createAnnotationAndMembers(String packageName, String annotationName, String annotationBody) throws Exception {
-		return this.javaProject.createCompilationUnit(packageName, annotationName + ".java", "public @interface " + annotationName + " { " + annotationBody + " }");
-	}
-	
-	protected ICompilationUnit createEnumAndMembers(String packageName, String enumName, String enumBody) throws Exception {
-		return this.javaProject.createCompilationUnit(packageName, enumName + ".java", "public enum " + enumName + " { " + enumBody + " }");
-	}
-	
-	protected JavaResourcePackage buildJavaResourcePackage(ICompilationUnit cu) {
-		JavaResourcePackageInfoCompilationUnit pkgCu = 
-				new SourcePackageInfoCompilationUnit(
-						cu,
-						this.buildAnnotationProvider(),
-						NullAnnotationEditFormatter.instance(),
-						CommandExecutor.Default.instance());
-		this.javaResourceCompilationUnit = pkgCu;
-		return pkgCu.getPackage();
-	}
-
-	protected JavaResourceType buildJavaResourceType(ICompilationUnit cu) {
-		return (JavaResourceType) this.buildJavaResourceType_(cu);
-	}
-
-	protected JavaResourceEnum buildJavaResourceEnum(ICompilationUnit cu) {
-		return (JavaResourceEnum) this.buildJavaResourceType_(cu);
-	}
-
-	private JavaResourceAbstractType buildJavaResourceType_(ICompilationUnit cu) {
-		this.javaResourceCompilationUnit = this.buildJavaResourceCompilationUnit(cu);
-		this.javaResourceCompilationUnit.resolveTypes();
-		return this.hackJavaResourceType();
-	}
-
-	protected JavaResourceField getField(JavaResourceType type, int index) {
-		return CollectionTools.get(type.getFields(), index);
-	}
-
-	protected JavaResourceMethod getMethod(JavaResourceType type, int index) {
-		return CollectionTools.get(type.getMethods(), index);
-	}
-
-	protected JavaResourceEnumConstant getEnumConstant(JavaResourceEnum resourceEnum, int index) {
-		return CollectionTools.get(resourceEnum.getEnumConstants(), index);
-	}
-
-	protected JavaResourceAbstractType hackJavaResourceType() {
-		return (JavaResourceAbstractType) ReflectionTools.getFieldValue(this.javaResourceCompilationUnit, "primaryType");
-	}
-
-	protected JavaResourceCompilationUnit buildJavaResourceCompilationUnit(ICompilationUnit cu) {
-		if (this.javaResourceCompilationUnit != null) {
-			throw new IllegalStateException();
-		}
-		return new SourceTypeCompilationUnit(
-				cu,
-				this.buildAnnotationProvider(),
-				NullAnnotationEditFormatter.instance(),
-				CommandExecutor.Default.instance());
-	}
-
-	protected AnnotationProvider buildAnnotationProvider() {
-		return new GenericAnnotationProvider(this.annotationDefinitions(), this.nestableAnnotationDefinitions());
-	}
-	
-	protected abstract AnnotationDefinition[] annotationDefinitions();
-	
-	protected abstract NestableAnnotationDefinition[] nestableAnnotationDefinitions();
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/JptCommonCoreResourceJavaTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/JptCommonCoreResourceJavaTests.java
deleted file mode 100644
index 34f6a68..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/JptCommonCoreResourceJavaTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.resource.java;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-
-public class JptCommonCoreResourceJavaTests {
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(JptCommonCoreResourceJavaTests.class.getPackage().getName());
-		suite.addTestSuite(SourceAttributeTests.class);
-		return suite;
-	}
-	
-	private JptCommonCoreResourceJavaTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/SourceAttributeTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/SourceAttributeTests.java
deleted file mode 100644
index d5cfc89..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/resource/java/SourceAttributeTests.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.eclipse.jpt.common.core.tests.internal.resource.java;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotationDefinition;
-import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
-
-
-public class SourceAttributeTests
-		extends JavaResourceModelTestCase {
-	
-	private static String TEST_CLASS_NAME = "TestClass";
-	
-	
-	public SourceAttributeTests(String name) {
-		super(name);
-	}
-	
-	
-	@Override
-	protected AnnotationDefinition[] annotationDefinitions() {
-		return new AnnotationDefinition[0];
-	}
-	
-	@Override
-	protected NestableAnnotationDefinition[] nestableAnnotationDefinitions() {
-		return new NestableAnnotationDefinition[0];
-	}
-	
-	
-	private ICompilationUnit createTestClassWithVariousAttributes() throws CoreException {
-		SourceWriter sourceWriter = new SourceWriter() {
-			public void appendSourceTo(StringBuilder sb) {
-				sb.append(CR);
-				sb.append("import java.util.List;").append(CR);
-				sb.append(CR);
-				sb.append("public class ").append(TEST_CLASS_NAME).append("<T extends Number> ").append("{").append(CR);
-				sb.append("    public String string;").append(CR);
-				sb.append("    public List<String> stringList;").append(CR);
-				sb.append("    public String[] stringArray;").append(CR);
-				sb.append("    public String[][] stringDoubleArray;").append(CR);
-				sb.append("    public T generic;").append(CR);
-				sb.append("    public List<T> genericList;").append(CR);
-				sb.append("    public T[] genericArray;").append(CR);
-				sb.append("    public List<?> wildcardList;").append(CR);
-				sb.append("}").append(CR);
-			}
-		};
-		return this.javaProject.createCompilationUnit(PACKAGE_NAME, TEST_CLASS_NAME + ".java", sourceWriter);
-	}
-	
-	
-	public void testAttributeTypes() throws Exception {
-		ICompilationUnit testClassCU = createTestClassWithVariousAttributes();
-		JavaResourceType testClass = buildJavaResourceType(testClassCU);
-		
-		// String string
-		JavaResourceField att = getField(testClass, 0);
-		assertEquals("string", att.getName());
-		assertEquals("java.lang.String", att.getTypeName());
-		assertEquals(false, att.typeIsArray());
-		assertEquals(null, att.getTypeArrayComponentTypeName());
-		assertEquals(0, att.getTypeArrayDimensionality());
-		assertEquals(0, att.getTypeTypeArgumentNamesSize());
-		
-		// List<String> stringList
-		att = getField(testClass, 1);
-		assertEquals("stringList", att.getName());
-		assertEquals("java.util.List", att.getTypeName());
-		assertEquals(false, att.typeIsArray());
-		assertEquals(null, att.getTypeArrayComponentTypeName());
-		assertEquals(0, att.getTypeArrayDimensionality());
-		assertEquals(1, att.getTypeTypeArgumentNamesSize());
-		assertEquals("java.lang.String", att.getTypeTypeArgumentName(0));
-		
-		// String[] stringArray
-		att = getField(testClass, 2);
-		assertEquals("stringArray", att.getName());
-		assertEquals("java.lang.String[]", att.getTypeName());
-		assertEquals(true, att.typeIsArray());
-		assertEquals("java.lang.String", att.getTypeArrayComponentTypeName());
-		assertEquals(1, att.getTypeArrayDimensionality());
-		assertEquals(0, att.getTypeTypeArgumentNamesSize());
-		
-		// String[] stringDoubleArray
-		att = getField(testClass, 3);
-		assertEquals("stringDoubleArray", att.getName());
-		assertEquals("java.lang.String[][]", att.getTypeName());
-		assertEquals(true, att.typeIsArray());
-		assertEquals("java.lang.String", att.getTypeArrayComponentTypeName());
-		assertEquals(2, att.getTypeArrayDimensionality());
-		assertEquals(0, att.getTypeTypeArgumentNamesSize());
-		
-		// T generic
-		att = getField(testClass, 4);
-		assertEquals("generic", att.getName());
-		assertEquals("java.lang.Number", att.getTypeName());
-		assertEquals(false, att.typeIsArray());
-		assertEquals(null, att.getTypeArrayComponentTypeName());
-		assertEquals(0, att.getTypeArrayDimensionality());
-		assertEquals(0, att.getTypeTypeArgumentNamesSize());
-		
-		// List<T> genericList
-		att = getField(testClass, 5);
-		assertEquals("genericList", att.getName());
-		assertEquals("java.util.List", att.getTypeName());
-		assertEquals(false, att.typeIsArray());
-		assertEquals(null, att.getTypeArrayComponentTypeName());
-		assertEquals(0, att.getTypeArrayDimensionality());
-		assertEquals(1, att.getTypeTypeArgumentNamesSize());
-		assertEquals("java.lang.Number", att.getTypeTypeArgumentName(0));
-		
-		// T[] genericArray
-		att = getField(testClass, 6);
-		assertEquals("genericArray", att.getName());
-		assertEquals("java.lang.Number[]", att.getTypeName());
-		assertEquals(true, att.typeIsArray());
-		assertEquals("java.lang.Number", att.getTypeArrayComponentTypeName());
-		assertEquals(1, att.getTypeArrayDimensionality());
-		assertEquals(0, att.getTypeTypeArgumentNamesSize());
-		
-		// List<?> wildcardList
-		att = getField(testClass, 7);
-		assertEquals("wildcardList", att.getName());
-		assertEquals("java.util.List", att.getTypeName());
-		assertEquals(false, att.typeIsArray());
-		assertEquals(null, att.getTypeArrayComponentTypeName());
-		assertEquals(0, att.getTypeArrayDimensionality());
-		assertEquals(1, att.getTypeTypeArgumentNamesSize());
-		assertEquals("java.lang.Object", att.getTypeTypeArgumentName(0));
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/ASTToolsTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/ASTToolsTests.java
deleted file mode 100644
index e8d2612..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/ASTToolsTests.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
-import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotationStringArrayExpressionConverter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTFieldAttribute;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-
-@SuppressWarnings("nls")
-public class ASTToolsTests
-		extends AnnotationTestCase {
-	
-	public ASTToolsTests(String name) {
-		super(name);
-	}
-	
-	
-	private void createClassAndMembers(String className, String classBody) throws Exception {
-		this.javaProject.createCompilationUnit("clazz", className + ".java", "public class " + className + " { " + classBody + " }");
-	}
-	
-	private void createEnumAndMembers(String enumName, String enumBody) throws Exception {
-		this.javaProject.createCompilationUnit("enums", enumName + ".java", "public enum " + enumName + " { " + enumBody + " }");
-	}
-	
-	private void createAnnotationAndMembers(String annotationName, String annotationBody) throws Exception {
-		this.javaProject.createCompilationUnit("annot", annotationName + ".java", "public @interface " + annotationName + " { " + annotationBody + " }");
-	}
-	
-	private ICompilationUnit createTestType(final Iterator<String> imports, final String idFieldAnnotation)
-			throws Exception {
-		return createTestType(
-				new DefaultAnnotationWriter() {
-					@Override
-					public Iterator<String> imports() {
-						return imports;
-					}
-					@Override
-					public void appendIdFieldAnnotationTo(StringBuilder sb) {
-						sb.append(idFieldAnnotation);
-					}
-				});
-	}
-
-	public void testResolveEnum1() throws Exception {
-		this.createEnumAndMembers("TestEnum", "FOO, BAR, BAZ");
-		this.createAnnotationAndMembers("TestAnnotation", "TestEnum foo();");
-
-		ICompilationUnit cu = this.createTestType("@annot.TestAnnotation(foo=enums.TestEnum.BAZ)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.TestAnnotation");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "foo");
-		JDTFieldAttribute field = this.idField(cu);
-
-		String actual = ASTTools.resolveEnum((Name) daea.getExpression(field.getModifiedDeclaration(this.buildASTRoot(cu))));
-		assertEquals("enums.TestEnum.BAZ", actual);
-	}
-
-	public void testResolveEnum2() throws Exception {
-		this.createEnumAndMembers("TestEnum", "FOO, BAR, BAZ");
-		this.createAnnotationAndMembers("TestAnnotation", "TestEnum foo();");
-
-		ICompilationUnit cu = this.createTestType("static enums.TestEnum.BAZ", "@annot.TestAnnotation(foo=BAZ)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.TestAnnotation");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "foo");
-		JDTFieldAttribute field = this.idField(cu);
-
-		String actual = ASTTools.resolveEnum((Name) daea.getExpression(field.getModifiedDeclaration(this.buildASTRoot(cu))));
-		assertEquals("enums.TestEnum.BAZ", actual);
-	}
-
-	public void testResolveEnum3() throws Exception {
-		this.createEnumAndMembers("TestEnum", "FOO, BAR, BAZ");
-		this.createAnnotationAndMembers("TestAnnotation", "TestEnum foo();");
-
-		ICompilationUnit cu = this.createTestType("static enums.TestEnum.*", "@annot.TestAnnotation(foo=BAZ)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.TestAnnotation");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "foo");
-		JDTFieldAttribute field = this.idField(cu);
-
-		String actual = ASTTools.resolveEnum((Name)daea.getExpression(field.getModifiedDeclaration(this.buildASTRoot(cu))));
-		assertEquals("enums.TestEnum.BAZ", actual);
-	}
-
-	public void testResolveEnum4() throws Exception {
-		this.createEnumAndMembers("TestEnum", "FOO, BAR, BAZ");
-		this.createAnnotationAndMembers("TestAnnotation", "TestEnum foo();");
-
-		ICompilationUnit cu = this.createTestType("enums.TestEnum", "@annot.TestAnnotation(foo=TestEnum.BAZ)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.TestAnnotation");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "foo");
-		JDTFieldAttribute field = this.idField(cu);
-
-		String actual = ASTTools.resolveEnum((Name) daea.getExpression(field.getModifiedDeclaration(this.buildASTRoot(cu))));
-		assertEquals("enums.TestEnum.BAZ", actual);
-	}
-	
-	public void testResolveFullyQualifiedNames() throws Exception {
-		final String otherClassName = "OtherClass";
-		final String otherClassName2 = "OtherClass2";
-		final String fqOtherClassName = "clazz.OtherClass";
-		final String fqOtherClassName2 = "clazz.OtherClass2";
-		final String annotationName = "TestAnnotation";
-		final String fqAnnotationName = "annot.TestAnnotation";
-		
-		createClassAndMembers(otherClassName, "");
-		createClassAndMembers(otherClassName2, "");
-		createAnnotationAndMembers(annotationName, "Class[] foo();");
-		
-		ICompilationUnit cu = createTestType(
-				new ArrayIterator<String>(new String[] {fqOtherClassName, fqOtherClassName2, fqAnnotationName}),
-				"@TestAnnotation(foo={" + otherClassName + ".class, " + otherClassName2 + ".class})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter(fqAnnotationName);
-		DeclarationAnnotationElementAdapter<String[]> daea = 
-				new ConversionDeclarationAnnotationElementAdapter<String[]>(
-						daa, "foo", AnnotationStringArrayExpressionConverter.forTypes());
-		JDTFieldAttribute field = idField(cu);
-		
-		Iterable<String> actual = ASTTools.resolveFullyQualifiedNames(daea.getExpression(field.getModifiedDeclaration(this.buildASTRoot(cu))));
-		
-		assertEquals(
-				CollectionTools.list(new String[] {fqOtherClassName, fqOtherClassName2}),
-				CollectionTools.list(actual));
-	}
-	
-	public void testResolveFullyQualifiedNames2() throws Exception {
-		final String otherClassName = "OtherClass";
-		final String otherClassName2 = "OtherClass2";
-		final String fqOtherClassName = "clazz.OtherClass";
-		final String fqOtherClassName2 = "clazz.OtherClass2";
-		final String annotationName = "TestAnnotation";
-		final String fqAnnotationName = "annot.TestAnnotation";
-		
-		createClassAndMembers(otherClassName, "");
-		createClassAndMembers(otherClassName2, "");
-		createAnnotationAndMembers(annotationName, "Class[] foo();");
-		
-		ICompilationUnit cu = createTestType(
-				new ArrayIterator<String>(new String[] {fqOtherClassName, fqOtherClassName2, fqAnnotationName}),
-				"@TestAnnotation(foo={1, " + otherClassName + ".class})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter(fqAnnotationName);
-		DeclarationAnnotationElementAdapter<String[]> daea = 
-				new ConversionDeclarationAnnotationElementAdapter<String[]>(
-						daa, "foo", AnnotationStringArrayExpressionConverter.forTypes());
-		JDTFieldAttribute field = idField(cu);
-		
-		Iterable<String> actual = ASTTools.resolveFullyQualifiedNames(daea.getExpression(field.getModifiedDeclaration(this.buildASTRoot(cu))));
-		
-		assertEquals(
-				CollectionTools.list(new String[] {null, fqOtherClassName}),
-				CollectionTools.list(actual));
-	}
-	
-	public void testResolveFullyQualifiedNames3() throws Exception {
-		final String otherClassName = "OtherClass";
-		final String otherClassName2 = "OtherClass2";
-		final String fqOtherClassName = "clazz.OtherClass";
-		final String fqOtherClassName2 = "clazz.OtherClass2";
-		final String annotationName = "TestAnnotation";
-		final String fqAnnotationName = "annot.TestAnnotation";
-		
-		createClassAndMembers(otherClassName, "");
-		createClassAndMembers(otherClassName2, "");
-		createAnnotationAndMembers(annotationName, "Class[] foo();");
-		
-		ICompilationUnit cu = createTestType(
-				new ArrayIterator<String>(new String[] {fqOtherClassName, fqOtherClassName2, fqAnnotationName}),
-				"@TestAnnotation(foo={@TestAnnotation(), " + otherClassName + ".class}");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter(fqAnnotationName);
-		DeclarationAnnotationElementAdapter<String[]> daea = 
-				new ConversionDeclarationAnnotationElementAdapter<String[]>(
-						daa, "foo", AnnotationStringArrayExpressionConverter.forTypes());
-		JDTFieldAttribute field = idField(cu);
-		
-		Iterable<String> actual = ASTTools.resolveFullyQualifiedNames(daea.getExpression(field.getModifiedDeclaration(this.buildASTRoot(cu))));
-		
-		assertEquals(
-				CollectionTools.list(new String[] {null, fqOtherClassName}),
-				CollectionTools.list(actual));
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/AnnotationTestCase.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/AnnotationTestCase.java
deleted file mode 100644
index 7eca5e2..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/AnnotationTestCase.java
+++ /dev/null
@@ -1,1099 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.ArrayInitializer;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.BooleanLiteral;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.IExtendedModifier;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.NumberLiteral;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-import org.eclipse.jdt.core.dom.SimpleName;
-import org.eclipse.jdt.core.dom.SimpleType;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jdt.core.dom.StringLiteral;
-import org.eclipse.jdt.core.dom.TypeLiteral;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTFieldAttribute;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTMethodAttribute;
-import org.eclipse.jpt.common.core.internal.utility.jdt.JDTType;
-import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject;
-import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.core.utility.jdt.Type;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.common.utility.internal.iterators.EmptyIterator;
-import org.eclipse.jpt.common.utility.internal.iterators.SingleElementIterator;
-import org.eclipse.jpt.common.utility.tests.internal.TestTools;
-
-/**
- * Provide an easy(?) way to build an annotated source file.
- * The type must be created by calling one of the {@link #createTestType()}
- * methods before calling any of the various helper methods (i.e. the type is
- * <em>not</em> created during {@link #setUp()}).
- */
-@SuppressWarnings("nls")
-public abstract class AnnotationTestCase
-	extends TestCase
-{
-	protected TestJavaProject javaProject;
-
-	public static final String CR = System.getProperty("line.separator");
-	public static final String SEP = File.separator;
-	public static final String PROJECT_NAME = "AnnotationTestProject";
-	public static final String PACKAGE_NAME = "test";
-	public static final String PACKAGE_NAME_ = PACKAGE_NAME + '.';
-	public static final String PACKAGE_INFO_FILE_NAME = "package-info.java";
-	public static final IPath PACKAGE_INFO_FILE_PATH = new Path("src" + SEP + PACKAGE_NAME + SEP + PACKAGE_INFO_FILE_NAME);
-	public static final String TYPE_NAME = "AnnotationTestType";
-	public static final String FULLY_QUALIFIED_TYPE_NAME = PACKAGE_NAME_ + TYPE_NAME;
-	public static final String FILE_NAME = TYPE_NAME + ".java";
-	public static final IPath FILE_PATH = new Path("src" + SEP + PACKAGE_NAME + SEP + FILE_NAME);
-
-	public static final String[] EMPTY_STRING_ARRAY = new String[0];
-
-
-	// ********** TestCase behavior **********
-
-	protected AnnotationTestCase(String name) {
-		super(name);
-	}
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		this.javaProject = this.buildJavaProject(false);  // false = no auto-build
-	}
-	
-	protected TestJavaProject buildJavaProject(boolean autoBuild) throws Exception {
-		return this.buildJavaProject(PROJECT_NAME, autoBuild);
-	}
-	
-	protected TestJavaProject buildJavaProject(String projectName, boolean autoBuild) throws Exception {
-		return new TestJavaProject(projectName, autoBuild);
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-//		this.dumpSource();
-		this.deleteProject();
-		TestTools.clear(this);
-		super.tearDown();
-	}
-	
-	protected void deleteProject() throws Exception {
-		int i = 1;
-		boolean deleted = false;
-		while ( ! deleted) {
-			try {
-				this.javaProject.getProject().delete(true, true, null);
-				deleted = true;
-			} catch (CoreException ex) {
-				if (i == 4) {
-					throw new RuntimeException(this.getName() + " - unable to delete project", ex);
-				}
-				Thread.sleep(1000);
-				i++;
-			}
-		}
-	}
-
-	protected void dumpSource(ICompilationUnit cu) throws Exception {
-		System.out.println("*** " + this.getName() + " ****");
-		System.out.println(this.getSource(cu));
-		System.out.println();
-	}
-	
-	
-	// ********** package creation *********
-	
-	/** 
-	 * create an un-annotated package-info
-	 */
-	protected ICompilationUnit createTestPackageInfo() throws CoreException {
-		return this.createTestPackageInfo(new DefaultAnnotationWriter());
-	}
-	
-	/** 
-	 * create an un-annotated package-info in a package the given name
-	 */
-	protected ICompilationUnit createTestPackageInfo(String packageName) throws CoreException {
-		return this.createTestPackageInfo(packageName, new DefaultAnnotationWriter());
-	}
-	
-	/**
-	 * shortcut for simply adding an annotation to the package declaration
-	 */
-	protected ICompilationUnit createTestPackageInfo(
-			final String packageAnnotation, final String ... imports) 
-			throws CoreException {
-		
-		return createTestPackageInfo(
-				new DefaultAnnotationWriter() {
-					@Override
-					public Iterator<String> imports() {
-						return new ArrayIterator<String>(imports);
-					}
-					
-					@Override
-					public void appendPackageAnnotationTo(StringBuilder sb) {
-						sb.append(packageAnnotation);
-					}
-				});
-	}
-	
-	protected ICompilationUnit createTestPackageInfo(AnnotationWriter annotationWriter) throws CoreException {
-		return this.createTestPackageInfo(PACKAGE_NAME, annotationWriter);
-	}
-	
-	protected ICompilationUnit createTestPackageInfo(String packageName, AnnotationWriter annotationWriter) throws CoreException {
-		return this.javaProject.createCompilationUnit(
-			packageName, PACKAGE_INFO_FILE_NAME, this.createSourceWriter(annotationWriter, packageName, null));
-	}
-	
-	
-	// ********** type creation **********
-	
-	/**
-	 * create an un-annotated type
-	 */
-	protected ICompilationUnit createTestType() throws CoreException {
-		return this.createTestType(new DefaultAnnotationWriter());
-	}
-	
-	/**
-	 * shortcut for simply adding an annotation to the 'id' field
-	 */
-	protected ICompilationUnit createTestType(final String annotationImport, final String idFieldAnnotation) throws CoreException {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return (annotationImport == null) ?
-					EmptyIterator.<String>instance() :
-					new SingleElementIterator<String>(annotationImport);
-			}
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append(idFieldAnnotation);
-			}
-		});
-	}
-	
-	/**
-	 * shortcut for simply adding a fully-qualified annotation to the 'id' field
-	 */
-	protected ICompilationUnit createTestType(final String idFieldAnnotation) throws CoreException {
-		return this.createTestType(null, idFieldAnnotation);
-	}
-	
-	protected ICompilationUnit createTestType(AnnotationWriter annotationWriter) throws CoreException {
-		return this.javaProject.createCompilationUnit(PACKAGE_NAME, FILE_NAME, this.createSourceWriter(annotationWriter));
-	}
-	
-	protected ICompilationUnit createTestType(String typeName, AnnotationWriter annotationWriter) throws CoreException {
-		return this.javaProject.createCompilationUnit(PACKAGE_NAME, typeName + ".java", createSourceWriter(annotationWriter, typeName));
-	}
-	
-	protected ICompilationUnit createTestType(String packageName, String fileName, String typeName, AnnotationWriter annotationWriter) throws CoreException {
-		return this.javaProject.createCompilationUnit(packageName, fileName, this.createSourceWriter(annotationWriter, typeName));
-	}
-	
-	protected SourceWriter createSourceWriter(AnnotationWriter annotationWriter) {
-		return new AnnotatedSourceWriter(annotationWriter);
-	}
-	
-	protected SourceWriter createSourceWriter(AnnotationWriter annotationWriter, String typeName) {
-		return new AnnotatedSourceWriter(annotationWriter, typeName);
-	}
-	
-	protected SourceWriter createSourceWriter(AnnotationWriter annotationWriter, String packageName, String typeName) {
-		return new AnnotatedSourceWriter(annotationWriter, packageName, typeName);
-	}
-	
-	protected ICompilationUnit createTestEnum(EnumAnnotationWriter annotationWriter) throws CoreException {
-		return this.javaProject.createCompilationUnit(PACKAGE_NAME, FILE_NAME, this.createEnumSourceWriter(annotationWriter));
-	}
-	
-	protected ICompilationUnit createTestEnum(String packageName, String fileName, String enumName, EnumAnnotationWriter annotationWriter) throws CoreException {
-		return this.javaProject.createCompilationUnit(packageName, fileName, this.createEnumSourceWriter(annotationWriter, enumName));
-	}
-	
-	protected SourceWriter createEnumSourceWriter(EnumAnnotationWriter annotationWriter) {
-		return new EnumAnnotatedSourceWriter(annotationWriter);
-	}
-	
-	protected SourceWriter createEnumSourceWriter(EnumAnnotationWriter annotationWriter, String enumName) {
-		return new EnumAnnotatedSourceWriter(annotationWriter, enumName);
-	}
-	
-	protected SourceWriter createEnumSourceWriter(EnumAnnotationWriter annotationWriter, String packageName, String enumName) {
-		return new EnumAnnotatedSourceWriter(annotationWriter, packageName, enumName);
-	}
-	
-	protected ICompilationUnit createAnnotatedEnumAndMembers(String enumName, String enumBody) throws Exception {
-		StringBuilder sb = new StringBuilder();
-		sb.append("package ").append(PACKAGE_NAME).append(";").append(CR);
-		sb.append(CR);
-		sb.append("import javax.xml.bind.annotation.XmlEnum;");
-		sb.append(CR);
-		sb.append(CR);
-		sb.append("@XmlEnum");
-		sb.append(CR);
-		sb.append("public enum ").append(enumName).append(" { ").append(enumBody).append(" }");
-		
-		return this.javaProject.createCompilationUnit(PACKAGE_NAME, enumName + ".java", sb.toString());
-	}
-	
-	/**
-	 * writes source for package-info java files
-	 */
-	protected void appendSourceTo(
-			StringBuilder sb, AnnotationWriter annotationWriter, String packageName) {
-		
-		annotationWriter.appendPackageAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("package ").append(packageName).append(";").append(CR);
-		sb.append(CR);
-		for (Iterator<String> stream = annotationWriter.imports(); stream.hasNext(); ) {
-			sb.append("import ").append(stream.next()).append(";").append(CR);
-		}
-	}
-	
-	/**
-	 * writes source for typical java files
-	 */
-	protected void appendSourceTo(
-			StringBuilder sb, AnnotationWriter annotationWriter, 
-			String packageName, String typeName) {
-		
-		sb.append("package ").append(packageName).append(";").append(CR);
-		sb.append(CR);
-		for (Iterator<String> stream = annotationWriter.imports(); stream.hasNext(); ) {
-			sb.append("import ");
-			sb.append(stream.next());
-			sb.append(";");
-			sb.append(CR);
-		}
-		sb.append(CR);
-		annotationWriter.appendTypeAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("public class ").append(typeName).append(" ");
-		annotationWriter.appendExtendsImplementsTo(sb);
-		sb.append("{").append(CR);
-		sb.append(CR);
-		sb.append("    ");
-		annotationWriter.appendIdFieldAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("    private int id;").append(CR);
-		sb.append(CR);
-		sb.append("    ");
-		annotationWriter.appendNameFieldAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("    private String name;").append(CR);
-		sb.append(CR);
-		sb.append("    ");
-		annotationWriter.appendGetIdMethodAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("    public int getId() {").append(CR);
-		sb.append("        return this.id;").append(CR);
-		sb.append("    }").append(CR);
-		sb.append(CR);
-		sb.append("    ");
-		annotationWriter.appendSetIdMethodAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("    public void setId(int id) {").append(CR);
-		sb.append("        this.id = id;").append(CR);
-		sb.append("    }").append(CR);
-		sb.append(CR);
-		sb.append("    ");
-		annotationWriter.appendGetNameMethodAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("    public String getName() {").append(CR);
-		sb.append("        return this.name;").append(CR);
-		sb.append("    }").append(CR);
-		sb.append(CR);
-		sb.append("    ");
-		annotationWriter.appendSetNameMethodAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("    public void setTestField(String testField) {").append(CR);
-		sb.append("        this.testField = testField;").append(CR);
-		sb.append("    }").append(CR);
-		sb.append(CR);
-		annotationWriter.appendMemberTypeTo(sb);
-		sb.append(CR);		
-		sb.append("}").append(CR);
-		annotationWriter.appendTopLevelTypesTo(sb);
-		sb.append(CR);
-	}
-
-	
-	/**
-	 * writes source for typical java enum files
-	 */
-	protected void appendEnumSourceTo(
-			StringBuilder sb, EnumAnnotationWriter annotationWriter, 
-			String packageName, String enumName) {
-		
-		sb.append("package ").append(packageName).append(";").append(CR);
-		sb.append(CR);
-		for (Iterator<String> stream = annotationWriter.imports(); stream.hasNext(); ) {
-			sb.append("import ");
-			sb.append(stream.next());
-			sb.append(";");
-			sb.append(CR);
-		}
-		sb.append(CR);
-		annotationWriter.appendEnumAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("public enum ").append(enumName).append(" {").append(CR);
-		sb.append(CR);
-		sb.append("    ");
-		annotationWriter.appendSundayEnumConstantAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("    SUNDAY, ").append(CR);
-		sb.append(CR);
-		sb.append("    ");
-		annotationWriter.appendMondayEnumConstantAnnotationTo(sb);
-		sb.append(CR);
-		sb.append("    MONDAY").append(CR);
-		sb.append(CR);
-		sb.append("}").append(CR);
-		sb.append(CR);
-	}
-
-
-	// ********** queries **********
-
-	protected TestJavaProject getJavaProject() {
-		return this.javaProject;
-	}
-
-	protected JDTType testType(ICompilationUnit cu) {
-		return this.buildType(TYPE_NAME, cu);
-	}
-
-	protected JDTType buildType(String name, ICompilationUnit cu) {
-		return this.buildType(name, 1, cu);
-	}
-
-	protected JDTType buildType(String name, int occurrence, ICompilationUnit cu) {
-		return this.buildType(null, name, occurrence, cu);
-	}
-
-	protected JDTType buildType(Type declaringType, String name, int occurrence, ICompilationUnit cu) {
-		return new JDTType(declaringType, name, occurrence, cu);
-	}
-
-	protected JDTFieldAttribute idField(ICompilationUnit cu) {
-		return this.buildField("id", cu);
-	}
-
-	protected JDTFieldAttribute nameField(ICompilationUnit cu) {
-		return this.buildField("name", cu);
-	}
-
-	protected JDTFieldAttribute buildField(String name, ICompilationUnit cu) {
-		return this.buildField(name, 1, cu);
-	}
-
-	protected JDTFieldAttribute buildField(String name, int occurrence, ICompilationUnit cu) {
-		return this.buildField(this.testType(cu), name, occurrence, cu);
-	}
-
-	protected JDTFieldAttribute buildField(Type declaringType, String name, int occurrence, ICompilationUnit cu) {
-		return new JDTFieldAttribute(declaringType, name, occurrence, cu);
-	}
-
-	protected JDTMethodAttribute idGetMethod(ICompilationUnit cu) {
-		return this.buildMethod("getId", cu);
-	}
-	
-	protected JDTMethodAttribute idSetMethod(ICompilationUnit cu) {
-		return this.buildMethod("setId", new String[] {"int"}, cu);
-	}
-
-	protected JDTMethodAttribute nameGetMethod(ICompilationUnit cu) {
-		return this.buildMethod("getName", cu);
-	}
-
-	protected JDTMethodAttribute buildMethod(String name, ICompilationUnit cu) {
-		return this.buildMethod(name, EMPTY_STRING_ARRAY, cu);
-	}
-
-	protected JDTMethodAttribute buildMethod(String name, String[] parameterTypeNames, ICompilationUnit cu) {
-		return this.buildMethod(name, parameterTypeNames, 1, cu);
-	}
-
-	protected JDTMethodAttribute buildMethod(String name, String[] parameterTypeNames, int occurrence, ICompilationUnit cu) {
-		return new JDTMethodAttribute(this.testType(cu), name, parameterTypeNames, occurrence, cu);
-	}
-
-	protected JDTMethodAttribute buildMethod(Type declaringType, String name, String[] parameterTypeNames, int occurrence, ICompilationUnit cu) {
-		return new JDTMethodAttribute(declaringType, name, parameterTypeNames, occurrence, cu);
-	}
-
-	protected String getSource(ICompilationUnit cu) throws JavaModelException {
-		return cu.getBuffer().getContents();
-	}
-
-	protected CompilationUnit buildASTRoot(ICompilationUnit cu) {
-		return ASTTools.buildASTRoot(cu);
-	}
-
-
-	// ********** test validation **********
-
-	protected void assertSourceContains(String s, ICompilationUnit cu) throws JavaModelException {
-		String source = this.getSource(cu);
-		boolean found = source.indexOf(s) > -1;
-		if ( ! found) {
-			String msg = "source does not contain the expected string: " + s + " (see System console)";
-			System.out.println("*** " + this.getName() + " ****");
-			System.out.println(msg);
-			System.out.println(source);
-			System.out.println();
-			fail(msg);
-		}
-	}
-
-	protected void assertSourceDoesNotContain(String s, ICompilationUnit cu) throws JavaModelException {
-		String source = this.getSource(cu);
-		int pos = source.indexOf(s);
-		if (pos != -1) {
-			String msg = "unexpected string in source (position: " + pos + "): " + s + " (see System console)";
-			System.out.println("*** " + this.getName() + " ****");
-			System.out.println(msg);
-			System.out.println(source);
-			System.out.println();
-			fail(msg);
-		}
-	}
-
-
-	// ********** manipulate annotations **********
-
-	/**
-	 * Return the *first* member value pair for the specified annotation element
-	 * with the specified name.
-	 * Return null if the annotation has no such element.
-	 */
-	protected MemberValuePair memberValuePair(NormalAnnotation annotation, String elementName) {
-		for (MemberValuePair pair : this.values(annotation)) {
-			if (pair.getName().getFullyQualifiedName().equals(elementName)) {
-				return pair;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * minimize the scope of the suppressed warnings
-	 */
-	@SuppressWarnings("unchecked")
-	protected List<MemberValuePair> values(NormalAnnotation na) {
-		return na.values();
-	}
-
-	/**
-	 * minimize the scope of the suppressed warnings
-	 */
-	@SuppressWarnings("unchecked")
-	protected List<EnumConstantDeclaration> enumConstants(EnumDeclaration ed) {
-		return ed.enumConstants();
-	}
-
-	/**
-	 * check for null member value pair
-	 */
-	protected Expression value_(MemberValuePair pair) {
-		return (pair == null) ? null : pair.getValue();
-	}
-
-	/**
-	 * Return the value of the *first* annotation element
-	 * with the specified name.
-	 * Return null if the annotation has no such element.
-	 */
-	protected Expression annotationElementValue(NormalAnnotation annotation, String elementName) {
-		return this.value_(this.memberValuePair(annotation, elementName));
-	}
-
-	/**
-	 * Return the value of the *first* annotation element
-	 * with the specified name.
-	 * Return null if the annotation has no such element.
-	 */
-	protected Expression annotationElementValue(SingleMemberAnnotation annotation, String elementName) {
-		return elementName.equals("value") ? annotation.getValue() : null;
-	}
-
-	/**
-	 * Return the value of the *first* annotation element
-	 * with the specified name.
-	 * Return null if the annotation has no such element.
-	 * (An element name of "value" will return the value of a single
-	 * member annotation.)
-	 */
-	protected Expression annotationElementValue(Annotation annotation, String elementName) {
-		if (annotation.isNormalAnnotation()) {
-			return this.annotationElementValue((NormalAnnotation) annotation, elementName);
-		}
-		if (annotation.isSingleMemberAnnotation()) {
-			return this.annotationElementValue((SingleMemberAnnotation) annotation, elementName);
-		}
-		return null;
-	}
-	
-	protected ArrayInitializer newArrayInitializer(AST ast, Expression... expressions) {
-		ArrayInitializer arrayInitializer = ast.newArrayInitializer();
-		for (Expression expression : expressions) {
-			arrayInitializer.expressions().add(expression);
-		}
-		return arrayInitializer;
-	}
-	
-	/**
-	 * Build a number literal and set its initial value to the specified literal.
-	 */
-	protected NumberLiteral newNumberLiteral(AST ast, int value) {
-		return ast.newNumberLiteral(Integer.toString(value));
-	}
-
-	/**
-	 * Build a number literal and set its initial value to the specified literal.
-	 */
-	protected BooleanLiteral newBooleanLiteral(AST ast, boolean value) {
-		return ast.newBooleanLiteral(value);
-	}
-
-	/**
-	 * Build a string literal and set its initial value.
-	 */
-	protected StringLiteral newStringLiteral(AST ast, String value) {
-		StringLiteral stringLiteral = ast.newStringLiteral();
-		stringLiteral.setLiteralValue(value);
-		return stringLiteral;
-	}
-
-	protected TypeLiteral newTypeLiteral(AST ast, String typeName) {
-		TypeLiteral typeLiteral = ast.newTypeLiteral();
-		typeLiteral.setType(this.newSimpleType(ast, typeName));
-		return typeLiteral;
-	}
-
-	protected SimpleType newSimpleType(AST ast, String typeName) {
-		return this.newSimpleType(ast, ast.newName(typeName));
-	}
-
-	protected SimpleType newSimpleType(AST ast, Name typeName) {
-		return ast.newSimpleType(typeName);
-	}
-
-	protected MemberValuePair newMemberValuePair(AST ast, SimpleName name, Expression value) {
-		MemberValuePair pair = ast.newMemberValuePair();
-		pair.setName(name);
-		pair.setValue(value);
-		return pair;
-	}
-
-	protected MemberValuePair newMemberValuePair(AST ast, String name, Expression value) {
-		return this.newMemberValuePair(ast, ast.newSimpleName(name), value);
-	}
-
-	protected MemberValuePair newMemberValuePair(AST ast, String name, String value) {
-		return this.newMemberValuePair(ast, name, this.newStringLiteral(ast, value));
-	}
-
-	protected MemberValuePair newMemberValuePair(AST ast, String name, int value) {
-		return this.newMemberValuePair(ast, name, this.newNumberLiteral(ast, value));
-	}
-
-	protected MemberValuePair newMemberValuePair(AST ast, String name, boolean value) {
-		return this.newMemberValuePair(ast, name, this.newBooleanLiteral(ast, value));
-	}
-
-	protected EnumConstantDeclaration newEnumConstantDeclaration(AST ast, String enumConstantName) {
-		EnumConstantDeclaration enumConstantDeclaration = ast.newEnumConstantDeclaration();
-		enumConstantDeclaration.setName(ast.newSimpleName(enumConstantName));
-		return enumConstantDeclaration;
-	}
-	/**
-	 * Add the specified member value pair to the specified annotation.
-	 * Return the resulting annotation.
-	 */
-	protected NormalAnnotation addMemberValuePair(NormalAnnotation annotation, MemberValuePair pair) {
-		this.values(annotation).add(pair);
-		return annotation;
-	}
-
-	/**
-	 * Add the specified member value pair to the specified annotation.
-	 * Return the resulting annotation.
-	 */
-	protected NormalAnnotation addMemberValuePair(NormalAnnotation annotation, String name, int value) {
-		return this.addMemberValuePair(annotation, this.newMemberValuePair(annotation.getAST(), name, value));
-	}
-
-	/**
-	 * Add the specified member value pair to the specified annotation.
-	 * Return the resulting annotation.
-	 */
-	protected NormalAnnotation addMemberValuePair(NormalAnnotation annotation, String name, String value) {
-		return this.addMemberValuePair(annotation, this.newMemberValuePair(annotation.getAST(), name, value));
-	}
-
-	/**
-	 * Add the specified member value pair to the marker annotation
-	 * by first replacing it with a normal annotation.
-	 * Return the resulting normal annotation.
-	 */
-	protected NormalAnnotation addMemberValuePair(MarkerAnnotation annotation, String name, String value) {
-		NormalAnnotation normalAnnotation = this.replaceMarkerAnnotation(annotation);
-		this.addMemberValuePair(normalAnnotation, this.newMemberValuePair(annotation.getAST(), name, value));
-		return normalAnnotation;
-	}
-
-	protected NormalAnnotation addMemberValuePair(MarkerAnnotation annotation, String name, boolean value) {
-		NormalAnnotation normalAnnotation = this.replaceMarkerAnnotation(annotation);
-		this.addMemberValuePair(normalAnnotation, this.newMemberValuePair(annotation.getAST(), name, value));
-		return normalAnnotation;
-	}
-
-	/**
-	 * Add the specified member value pair to the marker annotation
-	 * by first replacing it with a normal annotation.
-	 * Return the resulting normal annotation.
-	 */
-	protected NormalAnnotation addMemberValuePair(MarkerAnnotation annotation, MemberValuePair pair) {
-		NormalAnnotation normalAnnotation = this.replaceMarkerAnnotation(annotation);
-		return this.addMemberValuePair(normalAnnotation, pair);
-	}
-	
-	protected void setMemberValuePair(ModifiedDeclaration declaration, String annotationName, String value) {
-		setMemberValuePair(declaration, annotationName, "value", value);
-	}
-		
-	protected void setMemberValuePair(ModifiedDeclaration declaration, String annotationName, String elementName, String value) {
-		Annotation annotation = declaration.getAnnotationNamed(annotationName);
-		if (annotation == null) {
-			annotation = addNormalAnnotation(declaration.getDeclaration(), annotationName);
-		}
-		else if (annotation instanceof MarkerAnnotation) {
-			annotation = replaceMarkerAnnotation((MarkerAnnotation) annotation);
-		}
-		setMemberValuePair((NormalAnnotation) annotation, elementName, value);
-	}
-	
-	protected void setMemberValuePair(NormalAnnotation annotation, String elementName, String value) {
-		MemberValuePair memberValuePair = this.memberValuePair(annotation, elementName);
-		if (memberValuePair == null) {
-			addMemberValuePair(annotation, elementName, value);
-		}
-		else {
-			memberValuePair.setValue(newStringLiteral(annotation.getAST(), value));
-		}
-	}
-	
-	protected void removeMemberValuePair(ModifiedDeclaration declaration, String annotationName) {
-		removeMemberValuePair(declaration, annotationName, "value");
-	}
-	
-	protected void removeMemberValuePair(ModifiedDeclaration declaration, String annotationName, String elementName) {
-		NormalAnnotation annotation = (NormalAnnotation) declaration.getAnnotationNamed(annotationName);
-		values(annotation).remove(memberValuePair(annotation, elementName));
-	}
-	
-	protected void setEnumMemberValuePair(ModifiedDeclaration declaration, String annotationName, String enumValue) {
-		NormalAnnotation annotation = (NormalAnnotation) declaration.getAnnotationNamed(annotationName);
-		if (annotation == null) {
-			annotation = addNormalAnnotation(declaration.getDeclaration(), annotationName);
-		}
-		this.setEnumMemberValuePair(annotation, "value", enumValue);
-	}
-
-	protected void setEnumMemberValuePair(NormalAnnotation annotation, String elementName, String enumValue) {
-		MemberValuePair memberValuePair = this.memberValuePair(annotation, elementName);
-		if (memberValuePair == null) {
-			this.addEnumMemberValuePair(annotation, elementName, enumValue);
-		}
-		else {
-			memberValuePair.setValue(annotation.getAST().newName(enumValue));
-		}
-	}
-
-	protected void addEnumMemberValuePair(MarkerAnnotation markerAnnotation, String elementName, String value) {
-		this.addEnumMemberValuePair(this.replaceMarkerAnnotation(markerAnnotation), elementName, value);
-	}
-
-	protected void addEnumMemberValuePair(NormalAnnotation annotation, String elementName, String value) {
-		this.addMemberValuePair(annotation, elementName, annotation.getAST().newName(value));
-	}
-
-	protected void addMemberValuePair(NormalAnnotation annotation, String elementName, Expression value) {
-		MemberValuePair memberValuePair = this.newMemberValuePair(annotation.getAST(), elementName, value);
-		this.addMemberValuePair(annotation, memberValuePair);
-	}
-
-	protected void addMemberValuePair(MarkerAnnotation annotation, String elementName, Expression value) {
-		MemberValuePair memberValuePair = this.newMemberValuePair(annotation.getAST(), elementName, value);
-		this.addMemberValuePair(annotation, memberValuePair);
-	}
-	
-	protected void addEnumConstant(EnumDeclaration enumDeclaration, String enumConstantName) {
-		EnumConstantDeclaration enumConstantDeclaration = this.newEnumConstantDeclaration(enumDeclaration.getAST(), enumConstantName);
-		this.enumConstants(enumDeclaration).add(enumConstantDeclaration);
-	}
-	
-	protected void removeEnumConstant(EnumDeclaration enumDeclaration, String enumConstantName) {
-		List<EnumConstantDeclaration> enumConstantsList = this.enumConstants(enumDeclaration);
-		for (EnumConstantDeclaration constant : enumConstantsList) {
-			if (constant.getName().getFullyQualifiedName().equals(enumConstantName)) {
-				enumConstantsList.remove(constant);
-				break;
-			}
-		}
-	}
-	
-	protected void changeEnumConstantName(EnumDeclaration enumDeclaration, String oldEnumConstantName, String newEnumConstantName) {
-		List<EnumConstantDeclaration> enumConstantsList = this.enumConstants(enumDeclaration);
-		for (EnumConstantDeclaration constant : enumConstantsList) {
-			if (constant.getName().getFullyQualifiedName().equals(oldEnumConstantName)) {
-				this.changeEnumConstantName(constant, newEnumConstantName);
-				break;
-			}
-		}
-	}
-	
-	protected void changeEnumConstantName(EnumConstantDeclaration enumConstantDeclaration, String newEnumConstantName) {
-		enumConstantDeclaration.setName(enumConstantDeclaration.getAST().newSimpleName(newEnumConstantName));
-	}
-
-	/**
-	 * Add the array element to an annotation that is either a normal annotation or a marker annotation.
-	 * If it is a marker annotation first make it a normal annotation.
-	 */
-	protected void addArrayElement(ModifiedDeclaration declaration, String annotationName, int index, String elementName, Expression arrayElement) {
-		Annotation annotation = declaration.getAnnotationNamed(annotationName);
-		NormalAnnotation normalAnnotation;
-		if (annotation == null) {
-			normalAnnotation = this.addNormalAnnotation(declaration.getDeclaration(), annotationName);
-		}
-		else if (annotation.getNodeType() == ASTNode.MARKER_ANNOTATION) {
-			normalAnnotation = this.replaceMarkerAnnotation((MarkerAnnotation) annotation);
-		}
-		else {
-			normalAnnotation = (NormalAnnotation) annotation;
-		}
-		this.addArrayElement(normalAnnotation, index, elementName, arrayElement);
-	}
-
-	/**
-	 * Add the array element to the given normal annotation's element named elementName.
-	 * Add a new member value pair if one does not exist.
-	 * If the member value pair exists but the value is not yet an array, make it an array.
-	 */
-	protected void addArrayElement(NormalAnnotation annotation, int index, String elementName, Expression arrayElement) {
-		MemberValuePair pair = this.memberValuePair(annotation, elementName);
-		if (pair == null) {
-			pair = this.newMemberValuePair(annotation.getAST(), elementName, arrayElement);
-			this.addMemberValuePair(annotation, pair);
-		}
-		else {
-			Expression value = pair.getValue();
-			if (value.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-				this.expressions((ArrayInitializer) value).add(index, arrayElement);
-			}
-			else {
-				ArrayInitializer arrayInitializer = annotation.getAST().newArrayInitializer();
-				pair.setValue(arrayInitializer);
-				this.expressions(arrayInitializer).add(value);
-				this.expressions(arrayInitializer).add(index, arrayElement);
-			}
-		}
-	}
-
-	/**
-	 * This assumes an element with name elementName exists with an array as its value.
-	 * Move the array element at sourceIndex to the targetIndex
-	 */
-	protected void moveArrayElement(NormalAnnotation annotation, String elementName, int targetIndex, int sourceIndex) {
-		MemberValuePair pair = this.memberValuePair(annotation, elementName);
-		ArrayInitializer array = (ArrayInitializer) pair.getValue();
-		CollectionTools.move(this.expressions(array), targetIndex, sourceIndex);
-	}
-
-	/**
-	 * This assumes an element with name elementName exists with potentially an array as its value.
-	 * If the value is not an array, then the member value pair is removed.
-	 * If the array element is removed and there is only 1 array element left, the array itself is removed
-	 * and the remaining element is set as the value of the member value pair
-	 */
-	protected void removeArrayElement(NormalAnnotation annotation, String elementName, int index) {
-		MemberValuePair pair = this.memberValuePair(annotation, elementName);
-		if (pair.getValue().getNodeType() == ASTNode.ARRAY_INITIALIZER) {
-			ArrayInitializer array = (ArrayInitializer) pair.getValue();
-			this.expressions(array).remove(index);
-			if (this.expressions(array).size() == 1) {
-				pair.setValue(this.expressions(array).remove(0));
-			}
-		}
-		else {
-			this.values(annotation).remove(pair);
-		}
-	}
-
-	/**
-	 * Replace the given marker annotation with a normal annotation.
-	 * Return the resulting normal annotation.
-	 */
-	protected NormalAnnotation replaceMarkerAnnotation(MarkerAnnotation annotation) {
-		List<IExtendedModifier> annotations = this.annotations(annotation.getParent());
-		int index = annotations.indexOf(annotation);
-		NormalAnnotation normalAnnotation = newNormalAnnotation(annotation.getAST(), annotation.getTypeName().getFullyQualifiedName());
-		annotations.set(index, normalAnnotation);
-		return normalAnnotation;
-	}
-
-	/**
-	 * Build a normal annotation and set its name.
-	 */
-	protected NormalAnnotation newNormalAnnotation(AST ast, String name) {
-		NormalAnnotation annotation = ast.newNormalAnnotation();
-		annotation.setTypeName(ast.newName(name));
-		return annotation;
-	}
-
-	/**
-	 * Add the normal annotation to the given AST node. 
-	 * This should be a PackageDeclaration or a BodyDeclaration.
-	 * Return the resulting normal annotation.
-	 */
-	protected NormalAnnotation addNormalAnnotation(ASTNode astNode, String name) {
-		NormalAnnotation annotation = this.newNormalAnnotation(astNode.getAST(), name);
-		this.addAnnotation(astNode, annotation);
-		return annotation;
-	}
-
-	/**
-	 * Add the annotation to the given AST node. 
-	 * This should be a PackageDeclaration or a BodyDeclaration.
-	 */
-	protected void addAnnotation(ASTNode astNode, Annotation annotation) {
-		this.annotations(astNode).add(annotation);
-	}
-
-	/**
-	 * Build a marker annotation and set its name.
-	 */
-	protected MarkerAnnotation newMarkerAnnotation(AST ast, String name) {
-		MarkerAnnotation annotation = ast.newMarkerAnnotation();
-		annotation.setTypeName(ast.newName(name));
-		return annotation;
-	}
-
-	/**
-	 * Add the normal annotation to the given AST node. 
-	 * This should be a PackageDeclaration or a BodyDeclaration.
-	 * Return the resulting normal annotation.
-	 */
-	protected MarkerAnnotation addMarkerAnnotation(ASTNode astNode, String name) {
-		MarkerAnnotation annotation = this.newMarkerAnnotation(astNode.getAST(), name);
-		this.addAnnotation(astNode, annotation);
-		return annotation;
-	}
-
-	/**
-	 * Remove the annotation with the specified name
-	 */
-	protected void removeAnnotation(ModifiedDeclaration declaration, String name) {
-		this.removeAnnotation(declaration.getDeclaration(), declaration.getAnnotationNamed(name));
-	}
-
-	/**
-	 * Remove the specified annotation from the AST node.
-	 * This should be a PackageDeclaration or a BodyDeclaration.
-	 */
-	protected void removeAnnotation(ASTNode astNode, Annotation annotation) {
-		this.annotations(astNode).remove(annotation);
-	}
-
-	/**
-	 * minimize the scope of the suppressed warnings
-	 */
-	@SuppressWarnings("unchecked")
-	protected List<IExtendedModifier> annotations(ASTNode astNode) {
-		if (astNode instanceof BodyDeclaration) {
-			return ((BodyDeclaration) astNode).modifiers();
-		}
-		else if (astNode instanceof PackageDeclaration) {
-			return ((PackageDeclaration) astNode).annotations();
-		}
-		return Collections.emptyList();
-	}
-
-	/**
-	 * minimize the scope of the suppressed warnings
-	 */
-	@SuppressWarnings("unchecked")
-	protected List<Expression> expressions(ArrayInitializer arrayInitializer) {
-		return arrayInitializer.expressions();
-	}
-
-
-	// ********** member classes **********
-
-	public interface AnnotationWriter {
-		Iterator<String> imports();
-		void appendPackageAnnotationTo(StringBuilder sb);
-		void appendTypeAnnotationTo(StringBuilder sb);
-		void appendExtendsImplementsTo(StringBuilder sb);
-		void appendIdFieldAnnotationTo(StringBuilder sb);
-		void appendNameFieldAnnotationTo(StringBuilder sb);
-		void appendGetIdMethodAnnotationTo(StringBuilder sb);
-		void appendSetIdMethodAnnotationTo(StringBuilder sb);
-		void appendGetNameMethodAnnotationTo(StringBuilder sb);
-		void appendSetNameMethodAnnotationTo(StringBuilder sb);
-		void appendMemberTypeTo(StringBuilder sb);
-		void appendTopLevelTypesTo(StringBuilder sb);
-	}
-
-	public static class DefaultAnnotationWriter implements AnnotationWriter {
-		public Iterator<String> imports() {return EmptyIterator.instance();}
-		public void appendPackageAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendTypeAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendExtendsImplementsTo(StringBuilder sb) {/* do nothing */}
-		public void appendIdFieldAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendNameFieldAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendGetIdMethodAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendSetIdMethodAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendGetNameMethodAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendSetNameMethodAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendMemberTypeTo(StringBuilder sb) {/* do nothing */}
-		public void appendTopLevelTypesTo(StringBuilder sb) {/* do nothing */}
-	}
-
-	public static class AnnotationWriterWrapper implements AnnotationWriter {
-		private final AnnotationWriter aw;
-		public AnnotationWriterWrapper(AnnotationWriter aw) {
-			super();
-			this.aw = aw;
-		}
-		public Iterator<String> imports() {return this.aw.imports();}
-		public void appendPackageAnnotationTo(StringBuilder sb) {this.aw.appendPackageAnnotationTo(sb);}
-		public void appendTypeAnnotationTo(StringBuilder sb) {this.aw.appendTypeAnnotationTo(sb);}
-		public void appendExtendsImplementsTo(StringBuilder sb) {this.aw.appendExtendsImplementsTo(sb);}
-		public void appendIdFieldAnnotationTo(StringBuilder sb) {this.aw.appendIdFieldAnnotationTo(sb);}
-		public void appendNameFieldAnnotationTo(StringBuilder sb) {this.aw.appendNameFieldAnnotationTo(sb);}
-		public void appendGetIdMethodAnnotationTo(StringBuilder sb) {this.aw.appendGetIdMethodAnnotationTo(sb);}
-		public void appendSetIdMethodAnnotationTo(StringBuilder sb) {this.aw.appendSetIdMethodAnnotationTo(sb);}
-		public void appendGetNameMethodAnnotationTo(StringBuilder sb) {this.aw.appendGetNameMethodAnnotationTo(sb);}
-		public void appendSetNameMethodAnnotationTo(StringBuilder sb) {this.aw.appendSetNameMethodAnnotationTo(sb);}
-		public void appendMemberTypeTo(StringBuilder sb) {this.aw.appendMemberTypeTo(sb);}
-		public void appendTopLevelTypesTo(StringBuilder sb) {this.aw.appendTopLevelTypesTo(sb);}
-	}
-
-	public class AnnotatedSourceWriter
-			implements SourceWriter {
-		
-		private AnnotationWriter annotationWriter;
-		private String packageName;
-		private String typeName;
-		
-		public AnnotatedSourceWriter(AnnotationWriter annotationWriter) {
-			this(annotationWriter, TYPE_NAME);
-		}
-		
-		public AnnotatedSourceWriter(AnnotationWriter annotationWriter, String typeName) {
-			this(annotationWriter, PACKAGE_NAME, typeName);
-		}
-		
-		public AnnotatedSourceWriter(AnnotationWriter annotationWriter, String packageName, String typeName) {
-			super();
-			this.annotationWriter = annotationWriter;
-			this.packageName = packageName;
-			this.typeName = typeName;
-		}
-		
-		public void appendSourceTo(StringBuilder sb) {
-			if (this.typeName != null) {
-				AnnotationTestCase.this.appendSourceTo(sb, this.annotationWriter, this.packageName, this.typeName);
-			}
-			else {
-				AnnotationTestCase.this.appendSourceTo(sb, this.annotationWriter, this.packageName);
-			}
-		}
-	}
-
-	public interface EnumAnnotationWriter {
-		Iterator<String> imports();
-		void appendPackageAnnotationTo(StringBuilder sb);
-		void appendEnumAnnotationTo(StringBuilder sb);
-		void appendSundayEnumConstantAnnotationTo(StringBuilder sb);
-		void appendMondayEnumConstantAnnotationTo(StringBuilder sb);
-	}
-
-	public static class DefaultEnumAnnotationWriter implements EnumAnnotationWriter {
-		public Iterator<String> imports() {return EmptyIterator.instance();}
-		public void appendPackageAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendEnumAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendSundayEnumConstantAnnotationTo(StringBuilder sb) {/* do nothing */}
-		public void appendMondayEnumConstantAnnotationTo(StringBuilder sb) {/* do nothing */}
-	}
-
-	public class EnumAnnotatedSourceWriter
-			implements SourceWriter {
-		
-		private EnumAnnotationWriter annotationWriter;
-		private String packageName;
-		private String enumName;
-		
-		public EnumAnnotatedSourceWriter(EnumAnnotationWriter annotationWriter) {
-			this(annotationWriter, TYPE_NAME);
-		}
-		
-		public EnumAnnotatedSourceWriter(EnumAnnotationWriter annotationWriter, String enumName) {
-			this(annotationWriter, PACKAGE_NAME, enumName);
-		}
-		
-		public EnumAnnotatedSourceWriter(EnumAnnotationWriter annotationWriter, String packageName, String enumName) {
-			super();
-			this.annotationWriter = annotationWriter;
-			this.packageName = packageName;
-			this.enumName = enumName;
-		}
-		
-		public void appendSourceTo(StringBuilder sb) {
-			AnnotationTestCase.this.appendEnumSourceTo(sb, this.annotationWriter, this.packageName, this.enumName);
-		}
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/CombinationIndexedDeclarationAnnotationAdapterTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/CombinationIndexedDeclarationAnnotationAdapterTests.java
deleted file mode 100644
index b4f92fa..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/CombinationIndexedDeclarationAnnotationAdapterTests.java
+++ /dev/null
@@ -1,744 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.StringLiteral;
-import org.eclipse.jpt.common.core.internal.utility.jdt.CombinationIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementIndexedAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.osgi.framework.Version;
-
-@SuppressWarnings("nls")
-public class CombinationIndexedDeclarationAnnotationAdapterTests extends AnnotationTestCase {
-
-	public CombinationIndexedDeclarationAnnotationAdapterTests(String name) {
-		super(name);
-	}
-
-	private void createAnnotationAndMembers(String annotationName, String annotationBody) throws Exception {
-		this.javaProject.createCompilationUnit("annot", annotationName + ".java", "public @interface " + annotationName + " { " + annotationBody + " }");
-	}
-
-	public void testAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(name=\"ADDRESS_ID\")");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 0);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.JoinColumn", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isNormalAnnotation());
-	}
-
-	public void testAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(name=\"ADDRESS_ID\")");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(@annot.JoinColumn(name=\"ADDRESS_ID\"))");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 0);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.JoinColumn", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isNormalAnnotation());
-	}
-
-	public void testAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(@annot.JoinColumn(name=\"ADDRESS_ID\"))");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.JoinColumn", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isNormalAnnotation());
-		String value = ((StringLiteral) this.values((NormalAnnotation) annotation).get(0).getValue()).getLiteralValue();
-		assertEquals("ADDRESS_ID2", value);
-	}
-
-	public void testAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.JoinColumn", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isNormalAnnotation());
-		String value = ((StringLiteral) this.values(((NormalAnnotation) annotation)).get(0).getValue()).getLiteralValue();
-		assertEquals("ADDRESS_ID2", value);
-	}
-
-	public void testAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testRemoveAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(name=\"ADDRESS_ID\")");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 0);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("JoinColumn", cu);
-	}
-
-	public void testRemoveAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(@annot.JoinColumn(name=\"ADDRESS_ID\"))");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 0);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("ADDRESS_ID", cu);
-	}
-
-	public void testRemoveAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("JoinColumns", cu);
-		this.assertSourceDoesNotContain("ADDRESS_ID2", cu);
-		this.assertSourceContains("@JoinColumn(name=\"ADDRESS_ID1\")", cu);
-	}
-
-	public void testRemoveAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("JoinColumns", cu);
-		this.assertSourceDoesNotContain("ADDRESS_ID2", cu);
-		this.assertSourceContains("@JoinColumn(name=\"ADDRESS_ID1\")", cu);
-	}
-
-	public void testRemoveAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "String comment(); JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(comment=\"test\",columns={@annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.removeAnnotation();
-		this.assertSourceContains("@annot.JoinColumns(comment=\"test\",columns=@annot.JoinColumn(name=\"ADDRESS_ID1\"))", cu);
-	}
-
-	public void testRemoveAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(null)");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", 0);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.removeAnnotation();
-		this.assertSourceContains("@annot.JoinColumns(null)", cu);
-	}
-
-	public void testRemoveAnnotation12() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), null, @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		String expected = "@JoinColumn(name=\"ADDRESS_ID0\")";
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 2);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(expected, cu);
-		this.assertSourceDoesNotContain("JoinColumns", cu);
-	}
-
-	public void testRemoveAnnotation13() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({null, @annot.JoinColumn(name=\"ADDRESS_ID1\")})");
-		this.assertSourceContains("@annot.JoinColumn", cu);
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("ADDRESS_ID", cu);
-	}
-
-	public void testRemoveAnnotation14() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), null, @annot.JoinColumn(name=\"ADDRESS_ID2\"), null})");
-		String expected = "@JoinColumn(name=\"ADDRESS_ID0\")";
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 2);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation15() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), null, @annot.JoinColumn(name=\"ADDRESS_ID2\"), @annot.JoinColumn(name=\"ADDRESS_ID3\")})");
-		String expected = "@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), null, null, @annot.JoinColumn(name=\"ADDRESS_ID3\")})";
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 2);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation16() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), null, @annot.JoinColumn(name=\"ADDRESS_ID2\"), @annot.JoinColumn(name=\"ADDRESS_ID3\")})");
-		String expected = "@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), null, @annot.JoinColumn(name=\"ADDRESS_ID2\")})";
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 3);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation17() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({null, null, @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		this.assertSourceContains("@annot.JoinColumn", cu);
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 2);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("ADDRESS_ID2", cu);
-	}
-
-	public void testNewMarkerAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("JoinColumn", cu);
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 0);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("JoinColumn", cu);
-		this.assertSourceDoesNotContain("JoinColumns", cu);
-	}
-
-	public void testNewMarkerAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn");
-		this.assertSourceDoesNotContain("JoinColumns", cu);
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@JoinColumns(columns = { @JoinColumn, @JoinColumn })", cu);
-	}
-
-	public void testNewMarkerAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn, @annot.JoinColumn})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 2);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@annot.JoinColumns(columns={@annot.JoinColumn, @annot.JoinColumn," + CR + "    @JoinColumn})", cu);
-	}
-
-	public void testNewMarkerAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(77)");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 0);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("JoinColumn", cu);
-		this.assertSourceDoesNotContain("JoinColumns", cu);
-		this.assertSourceDoesNotContain("77", cu);
-	}
-
-	public void testNewMarkerAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns=@annot.JoinColumn(77))");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 0);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@annot.JoinColumns(columns=@JoinColumn)", cu);
-		this.assertSourceDoesNotContain("77", cu);
-	}
-
-	public void testNewMarkerAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns=@annot.JoinColumn(77))");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@annot.JoinColumns(columns={@annot.JoinColumn(77),@JoinColumn})", cu);
-	}
-
-	public void testNewMarkerAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(77)");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@JoinColumns(columns = { @JoinColumn(77), @JoinColumn })", cu);
-	}
-
-	public void testNewMarkerAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(77),@annot.JoinColumn(88)})");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@annot.JoinColumns(columns={@annot.JoinColumn(77),@JoinColumn})", cu);
-	}
-
-	public void testNewMarkerAnnotation9() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name(); String text(); int num();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(text=\"blah\",num=42)");
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@JoinColumns(columns = { @JoinColumn(text = \"blah\", num = 42), @JoinColumn })", cu);
-	}
-
-	public void testNewMarkerAnnotation23() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name(); String text(); int num();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(text=\"b\",num=4)");
-		String expected1 = "@JoinColumns(columns = { @JoinColumn(text = \"b\", num = 4), null,";
-		String expected2 = "@JoinColumn })";
-		this.assertSourceDoesNotContain(expected1, cu);
-		this.assertSourceDoesNotContain(expected2, cu);
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 2);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-	}
-
-	public void testNewMarkerAnnotation24() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name(); String text(); int num();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(text=\"blah\",num=42)");	
-		
-		//Use old formatting if jdt core version is 3.5 or below - see bug 285604
-		Version version = Platform.getBundle("org.eclipse.jdt.core").getVersion();
-		int majorVersion = version.getMajor();
-		int minorVersion = version.getMinor();
-		//This condition should be removed and test updated after Dali 3.0 branches 
-		String expected1;
-		if (majorVersion == 3 && minorVersion <= 5) {
-			expected1 = "@JoinColumns( {";
-		}
-		else expected1 = "@JoinColumns({";
-		
-		String expected2 = "@JoinColumn(text = \"blah\", num = 42), null,";
-		String expected3 = "@JoinColumn " + CR + "    })";
-		this.assertSourceDoesNotContain(expected1, cu);
-		this.assertSourceDoesNotContain(expected2, cu);
-		this.assertSourceDoesNotContain(expected3, cu);
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 2);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-		this.assertSourceContains(expected3, cu);
-	}
-
-	public void testNewMarkerAnnotation25() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\")})");
-		String expected1 = "@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), null, null,";  // the line gets split
-		String expected2 = "@JoinColumn})";
-		this.assertSourceDoesNotContain(expected1, cu);
-		this.assertSourceDoesNotContain(expected2, cu);
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 4);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-	}
-
-	public void testNewMarkerAnnotation26() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\")})");
-		String expected1 = "@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), null, null,";  // the line gets split
-		String expected2 = "@JoinColumn})";
-		this.assertSourceDoesNotContain(expected1, cu);
-		this.assertSourceDoesNotContain(expected2, cu);
-		DeclarationAnnotationAdapter daa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 4);
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-	}
-
-	public void testMoveAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(name=\"ADDRESS_ID0\")");
-		String expected = "@JoinColumns(columns = { null, @JoinColumn(name = \"ADDRESS_ID0\") })";
-		this.assertSourceDoesNotContain(expected, cu);
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 0);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(1);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={null,@annot.JoinColumn(name=\"ADDRESS_ID1\")})");
-		String expected = "@JoinColumn(name=\"ADDRESS_ID1\")";
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-		this.assertSourceDoesNotContain("JoinColumns", cu);
-	}
-
-	public void testMoveAnnotation2a() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({null,@annot.JoinColumn(name=\"ADDRESS_ID1\")})");
-		String expected = "@JoinColumn(name=\"ADDRESS_ID1\")";
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 1);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-		this.assertSourceDoesNotContain("JoinColumns", cu);
-	}
-
-	public void testMoveAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\"), @annot.JoinColumn(name=\"ADDRESS_ID3\")})");
-		String expected = "@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID3\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})";
-		this.assertSourceDoesNotContain(expected, cu);
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 3);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\"), @annot.JoinColumn(name=\"ADDRESS_ID3\"), @annot.JoinColumn(name=\"ADDRESS_ID4\")})");
-		String expected = "@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID3\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\"), null, @annot.JoinColumn(name=\"ADDRESS_ID4\")})";
-		this.assertSourceDoesNotContain(expected, cu);
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 3);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		String expected = "@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), null, @annot.JoinColumn(name=\"ADDRESS_ID2\")})";
-		this.assertSourceDoesNotContain(expected, cu);
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 2);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(3);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		String expected = "@annot.JoinColumns(columns={null, @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\"), @annot.JoinColumn(name=\"ADDRESS_ID0\")})";
-		this.assertSourceDoesNotContain(expected, cu);
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 0);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(3);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		String expected = "@annot.JoinColumns(columns={null, @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})";
-		this.assertSourceDoesNotContain(expected, cu);
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 3);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\"), null, @annot.JoinColumn(name=\"ADDRESS_ID4\")})");
-		String expected = "@annot.JoinColumns(columns={null, @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\"), null, @annot.JoinColumn(name=\"ADDRESS_ID4\")})";
-		this.assertSourceDoesNotContain(expected, cu);
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 3);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation9() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		String expected = "@annot.JoinColumns(columns={null, @annot.JoinColumn(name=\"ADDRESS_ID1\"), @annot.JoinColumn(name=\"ADDRESS_ID2\")})";
-		ICompilationUnit cu = this.createTestType(expected);  // the source should be unchanged
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 0);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(3);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation10() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\")})");
-		String expected = "@JoinColumn(name=\"ADDRESS_ID0\")";
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 2);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(1);
-		this.assertSourceContains(expected, cu);
-		this.assertSourceDoesNotContain("@annot.JoinColumns", cu);
-	}
-
-	public void testMoveAnnotation10a() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns({@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\")})");
-		String expected = "@JoinColumn(name=\"ADDRESS_ID0\")";
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "value", 2);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(1);
-		this.assertSourceContains(expected, cu);
-		this.assertSourceDoesNotContain("@annot.JoinColumns", cu);
-	}
-
-	public void testMoveAnnotation11() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumn(name=\"ADDRESS_ID0\")");
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 1);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceDoesNotContain("JoinColumn", cu);
-	}
-
-	public void testMoveAnnotation12() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), null, @annot.JoinColumn(name=\"ADDRESS_ID2\")})");
-		String expected = "@JoinColumn(name=\"ADDRESS_ID2\")";
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 2);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-		this.assertSourceDoesNotContain("@annot.JoinColumns", cu);
-	}
-
-	public void testMoveAnnotation13() throws Exception {
-		this.createAnnotationAndMembers("JoinColumn", "String name();");
-		this.createAnnotationAndMembers("JoinColumns", "JoinColumn[] columns();");
-		ICompilationUnit cu = this.createTestType("@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID0\"), @annot.JoinColumn(name=\"ADDRESS_ID1\"), null, @annot.JoinColumn(name=\"ADDRESS_ID3\")})");
-		String expected = "@annot.JoinColumns(columns={@annot.JoinColumn(name=\"ADDRESS_ID3\"), @annot.JoinColumn(name=\"ADDRESS_ID1\")})";
-		IndexedDeclarationAnnotationAdapter cidaa = new CombinationIndexedDeclarationAnnotationAdapter(
-				"annot.JoinColumn", "annot.JoinColumns", "columns", 3);
-		IndexedAnnotationAdapter iaa  = new ElementIndexedAnnotationAdapter(this.idField(cu), cidaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/DefaultAnnotationEditFormatterTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/DefaultAnnotationEditFormatterTests.java
deleted file mode 100644
index 1237cc9..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/DefaultAnnotationEditFormatterTests.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import org.eclipse.jpt.common.core.internal.utility.jdt.DefaultAnnotationEditFormatter;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-
-@SuppressWarnings("nls")
-public class DefaultAnnotationEditFormatterTests extends AnnotationTestCase {
-
-
-	// ********** TestCase behavior **********
-
-	public DefaultAnnotationEditFormatterTests(String name) {
-		super(name);
-	}
-
-
-	// ********** tests **********
-
-	public void testCommaLength() throws Exception {
-		assertEquals(1, this.commaLength(","));
-		assertEquals(1, this.commaLength(", "));
-		assertEquals(1, this.commaLength(",   "));
-
-		assertEquals(2, this.commaLength(" ,"));
-		assertEquals(2, this.commaLength(" , "));
-		assertEquals(2, this.commaLength(" ,   "));
-
-		assertEquals(3, this.commaLength("  ,"));
-		assertEquals(3, this.commaLength("  , "));
-		assertEquals(3, this.commaLength("  ,   "));
-
-		assertEquals(0, this.commaLength("  ,,,"));
-		assertEquals(0, this.commaLength("  ,,, "));
-		assertEquals(0, this.commaLength("  ,   ,"));
-
-		assertEquals(0, this.commaLength("  ,x"));
-		assertEquals(0, this.commaLength("  ,x "));
-		assertEquals(0, this.commaLength("  ,   x"));
-
-		assertEquals(0, this.commaLength("x  ,"));
-		assertEquals(0, this.commaLength("x  , "));
-		assertEquals(0, this.commaLength("x  ,   "));
-	}
-
-	private int commaLength(String s) {
-		Integer len = (Integer) ReflectionTools.executeMethod(DefaultAnnotationEditFormatter.instance(), "commaLength", String.class, s);
-		return len.intValue();
-	}
-
-	public void testStringIsAnnotation() throws Exception {
-		assertTrue(this.stringIsAnnotation("@F"));
-		assertTrue(this.stringIsAnnotation("@Foo"));
-		assertTrue(this.stringIsAnnotation("@org.bar.Foo"));
-
-		assertFalse(this.stringIsAnnotation(""));
-		assertFalse(this.stringIsAnnotation("@"));
-		assertFalse(this.stringIsAnnotation("Foo"));
-		assertFalse(this.stringIsAnnotation("Foo@"));
-	}
-
-	private boolean stringIsAnnotation(String s) {
-		Boolean b = (Boolean) ReflectionTools.executeMethod(DefaultAnnotationEditFormatter.instance(), "stringIsAnnotation", String.class, s);
-		return b.booleanValue();
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/JDTToolsTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/JDTToolsTests.java
deleted file mode 100644
index 0fddcce..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/JDTToolsTests.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import java.util.AbstractCollection;
-import java.util.AbstractList;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.Vector;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.core.internal.utility.JDTTools;
-
-
-public class JDTToolsTests
-		extends AnnotationTestCase {
-	
-	public JDTToolsTests(String name) {
-		super(name);
-	}
-	
-	
-	public void testTypeIsSubtype() throws Exception {		
-		IJavaProject jProj = getJavaProject().getJavaProject();
-		
-		// same type
-		assertTrue(JDTTools.typeIsSubType(jProj, ArrayList.class.getName(), ArrayList.class.getName()));
-		assertTrue(JDTTools.typeIsSubType(jProj, List.class.getName(), List.class.getName()));
-		
-		// concrete type is subtype of interface
-		assertTrue(JDTTools.typeIsSubType(jProj, ArrayList.class.getName(), List.class.getName()));
-		assertTrue(JDTTools.typeIsSubType(jProj, TreeSet.class.getName(), Iterable.class.getName()));
-		
-		// concrete type is not subtype of interface
-		assertFalse(JDTTools.typeIsSubType(jProj, ArrayList.class.getName(), Map.class.getName()));
-		assertFalse(JDTTools.typeIsSubType(jProj, TreeSet.class.getName(), Map.class.getName()));
-		
-		// interface is subtype of interface
-		assertTrue(JDTTools.typeIsSubType(jProj, List.class.getName(), Collection.class.getName()));
-		assertTrue(JDTTools.typeIsSubType(jProj, SortedSet.class.getName(), Iterable.class.getName()));
-		
-		// interface is not subtype of interface
-		assertFalse(JDTTools.typeIsSubType(jProj, List.class.getName(), Map.class.getName()));
-		assertFalse(JDTTools.typeIsSubType(jProj, SortedSet.class.getName(), Map.class.getName()));
-		
-		// concrete type is subtype of concrete type
-		assertTrue(JDTTools.typeIsSubType(jProj, ArrayList.class.getName(), AbstractList.class.getName()));
-		assertTrue(JDTTools.typeIsSubType(jProj, LinkedList.class.getName(), AbstractCollection.class.getName()));
-		
-		// concrete type is not subtype of concrete type
-		assertFalse(JDTTools.typeIsSubType(jProj, ArrayList.class.getName(), Vector.class.getName()));
-		assertFalse(JDTTools.typeIsSubType(jProj, LinkedList.class.getName(), Vector.class.getName()));
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/JptCommonCoreUtilityJdtTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/JptCommonCoreUtilityJdtTests.java
deleted file mode 100644
index 0f48595..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/JptCommonCoreUtilityJdtTests.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class JptCommonCoreUtilityJdtTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(JptCommonCoreUtilityJdtTests.class.getPackage().getName());
-		suite.addTestSuite(CombinationIndexedDeclarationAnnotationAdapterTests.class);
-		suite.addTestSuite(DefaultAnnotationEditFormatterTests.class);
-		suite.addTestSuite(ASTToolsTests.class);
-		suite.addTestSuite(JDTToolsTests.class);
-		suite.addTestSuite(MemberAnnotationElementAdapterTests.class);
-		suite.addTestSuite(NestedDeclarationAnnotationAdapterTests.class);
-		suite.addTestSuite(NestedIndexedDeclarationAnnotationAdapterTests.class);
-		suite.addTestSuite(SimpleDeclarationAnnotationAdapterTests.class);
-		suite.addTestSuite(TypeTests.class);
-		return suite;
-	}
-
-	private JptCommonCoreUtilityJdtTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MemberAnnotationElementAdapterTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MemberAnnotationElementAdapterTests.java
deleted file mode 100644
index b4f2fa7..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MemberAnnotationElementAdapterTests.java
+++ /dev/null
@@ -1,1298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import java.util.Arrays;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
-import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotatedElementAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotationStringArrayExpressionConverter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.BooleanExpressionConverter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.CharacterStringExpressionConverter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.EnumArrayDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.IndexedConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.NestedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.NumberIntegerExpressionConverter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.PrimitiveTypeStringExpressionConverter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleTypeStringExpressionConverter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.StringExpressionConverter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.TypeStringExpressionConverter;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedExpressionConverter;
-
-@SuppressWarnings("nls")
-public class MemberAnnotationElementAdapterTests extends AnnotationTestCase {
-
-	public MemberAnnotationElementAdapterTests(String name) {
-		super(name);
-	}
-
-	private void createAnnotationAndMembers(String annotationName, String annotationBody) throws Exception {
-		this.javaProject.createCompilationUnit("annot", annotationName + ".java", "public @interface " + annotationName + " { " + annotationBody + " }");
-	}
-
-	private void createEnum(String enumName, String enumBody) throws Exception {
-		this.createEnum("enums", enumName, enumBody);
-	}
-
-	private void createEnum(String packageName, String enumName, String enumBody) throws Exception {
-		this.javaProject.createCompilationUnit(packageName, enumName + ".java", "public enum " + enumName + " { " + enumBody + " }");
-	}
-
-	public void testValue1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=\"xxx\")");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("xxx", aea.getValue());
-	}
-
-	public void testValue2() throws Exception {
-		this.createAnnotationAndMembers("Foo", "int bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=48)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Integer> daea = new ConversionDeclarationAnnotationElementAdapter<Integer>(daa, "bar", NumberIntegerExpressionConverter.instance());
-		AnnotationElementAdapter<Integer> aea = new AnnotatedElementAnnotationElementAdapter<Integer>(this.idField(cu), daea);
-		assertEquals(Integer.valueOf(48), aea.getValue());
-	}
-
-	public void testValue3() throws Exception {
-		this.createAnnotationAndMembers("Foo", "char bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar='c')");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", CharacterStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("c", aea.getValue());
-	}
-
-	public void testValue4() throws Exception {
-		this.createAnnotationAndMembers("Foo", "boolean bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=false)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa, "bar", BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertEquals(Boolean.FALSE, aea.getValue());
-	}
-
-	public void testValue5() throws Exception {
-		this.createAnnotationAndMembers("Baz", "boolean fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.Bar(jimmy=@annot.Baz(fred=false)))");
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "jimmy", "annot.Baz");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa3, "fred", BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertEquals(Boolean.FALSE, aea.getValue());
-	}
-
-	public void testValue6() throws Exception {
-		this.createAnnotationAndMembers("Foo", "boolean value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(false)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa, BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertEquals(Boolean.FALSE, aea.getValue());
-	}
-
-	public void testValueNull1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueNull2() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueNull3() throws Exception {
-		this.createAnnotationAndMembers("Baz", "String fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.Bar(jimmy=@annot.Baz))");
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "jimmy", "annot.Baz");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa3, "fred");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueStringConcatenation() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=\"xxx\" + \"yyy\" + \"zzz\")");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("xxxyyyzzz", aea.getValue());
-	}
-
-	public void testValueStringConstant() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		// just a bit hacky:
-		ICompilationUnit cu = this.createTestType("private static final String FOO_BAR = \"xxx\"; @annot.Foo(bar=FOO_BAR + \"yyy\" + \"zzz\")");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("xxxyyyzzz", aea.getValue());
-	}
-
-	public void testValueNumberArithmetic() throws Exception {
-		this.createAnnotationAndMembers("Foo", "int bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=47 - 7 + 2 * 1 / 1)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Integer> daea = ConversionDeclarationAnnotationElementAdapter.forNumbers(daa, "bar");
-		AnnotationElementAdapter<Integer> aea = new AnnotatedElementAnnotationElementAdapter<Integer>(this.idField(cu), daea);
-		assertEquals(Integer.valueOf(42), aea.getValue());
-	}
-
-	public void testValueNumberShift() throws Exception {
-		this.createAnnotationAndMembers("Foo", "int bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=2 << 2)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Integer> daea = ConversionDeclarationAnnotationElementAdapter.forNumbers(daa, "bar");
-		AnnotationElementAdapter<Integer> aea = new AnnotatedElementAnnotationElementAdapter<Integer>(this.idField(cu), daea);
-		assertEquals(Integer.valueOf(8), aea.getValue());
-	}
-
-	public void testValueNumberConstant() throws Exception {
-		this.createAnnotationAndMembers("Foo", "int bar();");
-		// just a bit hacky:
-		ICompilationUnit cu = this.createTestType("private static final int FOO_BAR = 77; @annot.Foo(bar=FOO_BAR)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Integer> daea = ConversionDeclarationAnnotationElementAdapter.forNumbers(daa, "bar");
-		AnnotationElementAdapter<Integer> aea = new AnnotatedElementAnnotationElementAdapter<Integer>(this.idField(cu), daea);
-		assertEquals(Integer.valueOf(77), aea.getValue());
-	}
-
-	public void testValueCharacterConstant() throws Exception {
-		this.createAnnotationAndMembers("Foo", "char bar();");
-		// just a bit hacky:
-		ICompilationUnit cu = this.createTestType("private static final char FOO_BAR = 'Q'; @annot.Foo(bar=FOO_BAR)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forCharacters(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("Q", aea.getValue());
-	}
-
-	public void testValueCharacterCast() throws Exception {
-		this.createAnnotationAndMembers("Foo", "char bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=(char) 0x41)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forCharacters(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("A", aea.getValue());
-	}
-
-	public void testValueBooleanOperator1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "boolean bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=7 > 2)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Boolean> daea = ConversionDeclarationAnnotationElementAdapter.forBooleans(daa, "bar");
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertEquals(Boolean.TRUE, aea.getValue());
-	}
-
-	public void testValueBooleanOperator2() throws Exception {
-		this.createAnnotationAndMembers("Foo", "boolean bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=7 == 2)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Boolean> daea = ConversionDeclarationAnnotationElementAdapter.forBooleans(daa, "bar");
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertEquals(Boolean.FALSE, aea.getValue());
-	}
-
-	public void testValueBooleanOperator3() throws Exception {
-		this.createAnnotationAndMembers("Foo", "boolean bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=(7 != 2) && false)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Boolean> daea = ConversionDeclarationAnnotationElementAdapter.forBooleans(daa, "bar");
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertEquals(Boolean.FALSE, aea.getValue());
-	}
-
-	public void testValueBooleanOperator4() throws Exception {
-		this.createAnnotationAndMembers("Foo", "boolean bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=(7 != 2) ? false : true)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Boolean> daea = ConversionDeclarationAnnotationElementAdapter.forBooleans(daa, "bar");
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertEquals(Boolean.FALSE, aea.getValue());
-	}
-
-	public void testValueInvalidValue1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=77)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueInvalidValue2() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=bazzzz)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueInvalidValue3() throws Exception {
-		this.createAnnotationAndMembers("Foo", "boolean bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=bazzzz)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<Boolean> daea = ConversionDeclarationAnnotationElementAdapter.forBooleans(daa, "bar");
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueInvalidValue4() throws Exception {
-		this.createAnnotationAndMembers("Foo", "char bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=\"bazzzz\")");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forCharacters(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueInvalidValue5() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=\"java.lang.Object\")");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", SimpleTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueInvalidValue6() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=enums.TestEnum.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new EnumDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueInvalidValue7() throws Exception {
-		this.createAnnotationAndMembers("Baz", "boolean fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		String value = "\"false\"";
-		String element = "fred=" + value;
-		String annotation = "@annot.Foo(@annot.Bar(jimmy=@annot.Baz(" + element + ")))";
-		ICompilationUnit cu = this.createTestType(annotation);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "jimmy", "annot.Baz");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa3, "fred", BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueInvalidValue8() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar={true, false})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new ConversionDeclarationAnnotationElementAdapter<String[]>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[] {null, null}, aea.getValue()));
-	}
-
-	public void testValueInvalidValue9() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=77)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new ConversionDeclarationAnnotationElementAdapter<String[]>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[0], aea.getValue()));
-	}
-
-	public void testASTNode1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		String value = "\"xxx\"";
-		String element = "bar=" + value;
-		String annotation = "@annot.Foo(" + element + ")";
-		ICompilationUnit cu = this.createTestType(annotation);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		TextRange textRange = ASTTools.buildTextRange(aea.getAstNode(this.buildASTRoot(cu)));
-		assertEquals(this.getSource(cu).indexOf(value), textRange.getOffset());
-		assertEquals(value.length(), textRange.getLength());
-		assertEquals(7, textRange.getLineNumber());
-	}
-
-	public void testASTNode2() throws Exception {
-		this.createAnnotationAndMembers("Baz", "boolean fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		String value = "false";
-		String element = "fred=" + value;
-		String annotation = "@annot.Foo(@annot.Bar(jimmy=@annot.Baz(" + element + ")))";
-		ICompilationUnit cu = this.createTestType(annotation);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "jimmy", "annot.Baz");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa3, "fred", BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-		assertEquals(Boolean.FALSE, aea.getValue());
-		TextRange textRange = ASTTools.buildTextRange(aea.getAstNode(this.buildASTRoot(cu)));
-		assertEquals(value.length(), textRange.getLength());
-	}
-
-	public void testASTNode3() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String value();");
-		String element = "\"xxx\"";
-		String annotation = "@annot.Foo(" + element + ")";
-		ICompilationUnit cu = this.createTestType(annotation);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa);
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		TextRange textRange = ASTTools.buildTextRange(aea.getAstNode(this.buildASTRoot(cu)));
-		assertEquals(this.getSource(cu).indexOf(element), textRange.getOffset());
-		assertEquals(element.length(), textRange.getLength());
-	}
-
-	public void testASTNode4() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String value();");
-		String annotation = "@annot.Foo";
-		ICompilationUnit cu = this.createTestType(annotation);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa);
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		TextRange textRange = ASTTools.buildTextRange(aea.getAstNode(this.buildASTRoot(cu)));
-		assertEquals(this.getSource(cu).indexOf(annotation), textRange.getOffset());
-		assertEquals(annotation.length(), textRange.getLength());
-	}
-
-	public void testSetValue1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		String annotation = "@annot.Foo(bar=\"xxx\")";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue(null);
-		this.assertSourceDoesNotContain("bar", cu);
-	}
-
-	public void testSetValue2() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		String annotation = "@annot.Foo(bar=\"xxx\")";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue(null);
-		this.assertSourceDoesNotContain(annotation, cu);
-		this.assertSourceContains("@Foo", cu);
-	}
-
-	public void testSetValue3() throws Exception {
-		this.createAnnotationAndMembers("Baz", "boolean fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		String annotation = "@annot.Foo(@annot.Bar(jimmy=@annot.Baz(fred=false)))";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "jimmy", "annot.Baz");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa3, "fred", BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-
-		aea.setValue(null);
-		this.assertSourceDoesNotContain(annotation, cu);
-		this.assertSourceDoesNotContain("fred", cu);
-	}
-
-	public void testSetValue3a() throws Exception {
-		this.createAnnotationAndMembers("Baz", "boolean fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		String annotation = "@annot.Foo(@annot.Bar(jimmy=@annot.Baz(fred=false)))";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "jimmy", "annot.Baz");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa3, "fred", BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-
-		aea.setValue(null);
-		this.assertSourceDoesNotContain(annotation, cu);
-		this.assertSourceDoesNotContain("fred", cu);
-		this.assertSourceContains("@annot.Foo(@annot.Bar(jimmy=@Baz))", cu);
-	}
-
-	public void testSetValue4() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue("xxx");
-		this.assertSourceContains("@Foo(bar = \"xxx\")", cu);
-	}
-
-	public void testSetValue5() throws Exception {
-		this.createAnnotationAndMembers("Baz", "boolean fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		String annotation = "@annot.Foo(@annot.Bar(jimmy=@annot.Baz(fred=false)))";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "jimmy", "annot.Baz");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa3, "fred", BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-
-		aea.setValue(Boolean.TRUE);
-		this.assertSourceDoesNotContain(annotation, cu);
-		this.assertSourceContains("@annot.Foo(@annot.Bar(jimmy=@annot.Baz(fred=true)))", cu);
-	}
-
-	public void testSetValue6() throws Exception {
-		this.createAnnotationAndMembers("Baz", "boolean fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "jimmy", "annot.Baz");
-		DeclarationAnnotationElementAdapter<Boolean> daea = new ConversionDeclarationAnnotationElementAdapter<Boolean>(daa3, "fred", BooleanExpressionConverter.instance());
-		AnnotationElementAdapter<Boolean> aea = new AnnotatedElementAnnotationElementAdapter<Boolean>(this.idField(cu), daea);
-
-		aea.setValue(Boolean.TRUE);
-		this.assertSourceContains("@Foo(@Bar(jimmy = @Baz(fred = true)))", cu);
-	}
-
-	public void testSetValue7() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		String annotation = "@annot.Foo(bar=\"xxx\")";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue("yyy");
-		this.assertSourceDoesNotContain(annotation, cu);
-		this.assertSourceContains("@annot.Foo(bar=\"yyy\")", cu);
-	}
-
-	public void testSetValue8() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar();");
-		String annotation = "@annot.Foo";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue("xxx");
-		this.assertSourceContains("@Foo(bar = \"xxx\")", cu);
-	}
-
-	public void testSetValue9() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String value(); String bar();");
-		String annotation = "@annot.Foo(\"zzz\")";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue("xxx");
-		this.assertSourceDoesNotContain(annotation, cu);
-		this.assertSourceContains("@Foo(value = \"zzz\", bar = \"xxx\")", cu);
-	}
-
-	public void testSetValue10() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String bar(); String baz();");
-		String annotation = "@annot.Foo(bar=\"xxx\")";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "baz");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue("yyy");
-		this.assertSourceDoesNotContain(annotation, cu);
-		this.assertSourceContains("@annot.Foo(bar=\"xxx\", baz = \"yyy\")", cu);
-	}
-
-	public void testSetValue11() throws Exception {
-		this.createAnnotationAndMembers("Baz", "int fred();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz[] jimmy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		String annotation = "@annot.Foo(@annot.Bar(jimmy={@annot.Baz(fred=0), @annot.Baz(fred=1), @annot.Baz(fred=2), @annot.Baz(fred=3)}))";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "value", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedIndexedDeclarationAnnotationAdapter(daa2, "jimmy", 2, "annot.Baz");
-		DeclarationAnnotationElementAdapter<Integer> daea = new ConversionDeclarationAnnotationElementAdapter<Integer>(daa3, "fred", NumberIntegerExpressionConverter.instance());
-		AnnotationElementAdapter<Integer> aea = new AnnotatedElementAnnotationElementAdapter<Integer>(this.idField(cu), daea);
-
-		assertEquals(Integer.valueOf(2), aea.getValue());
-		aea.setValue(Integer.valueOf(48));
-		this.assertSourceContains("@annot.Foo(@annot.Bar(jimmy={@annot.Baz(fred=0), @annot.Baz(fred=1), @annot.Baz(fred=48), @annot.Baz(fred=3)}))", cu);
-	}
-
-	public void testSetValue12() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String value();");
-		String annotation = "@annot.Foo";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "value");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue("xxx");
-		this.assertSourceContains("@Foo(\"xxx\")", cu);
-	}
-
-	public void testSetValue13() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String value();");
-		String annotation = "@annot.Foo(\"zzz\")";
-		ICompilationUnit cu = this.createTestType(annotation);
-		this.assertSourceContains(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = ConversionDeclarationAnnotationElementAdapter.forStrings(daa, "value");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-
-		aea.setValue("xxx");
-		this.assertSourceDoesNotContain(annotation, cu);
-		this.assertSourceContains("@annot.Foo(\"xxx\")", cu);
-	}
-
-	public void testSimpleTypeLiteral1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=java.lang.Object.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", SimpleTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("java.lang.Object", aea.getValue());
-	}
-
-	public void testSimpleTypeLiteral2() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", SimpleTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		aea.setValue("java.lang.Object");
-		this.assertSourceContains("@Foo(bar = java.lang.Object.class)", cu);
-	}
-
-	public void testSimpleTypeLiteral3() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=int.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", SimpleTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testSimpleTypeLiteral4() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=java.util.Map.Entry.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", SimpleTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("java.util.Map.Entry", aea.getValue());
-	}
-
-	public void testPrimitiveTypeLiteral1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=int.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", PrimitiveTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("int", aea.getValue());
-	}
-
-	public void testPrimitiveTypeLiteral2() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", PrimitiveTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		aea.setValue("int");
-		this.assertSourceContains("@Foo(bar = int.class)", cu);
-	}
-
-	public void testPrimitiveTypeLiteral3() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=java.lang.Object.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", PrimitiveTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testPrimitiveTypeLiteral4() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=void.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", PrimitiveTypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("void", aea.getValue());
-	}
-
-	public void testTypeLiteral1() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=java.lang.Object.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", TypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("java.lang.Object", aea.getValue());
-	}
-
-	public void testTypeLiteral2() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", TypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		aea.setValue("java.lang.Object");
-		this.assertSourceContains("@Foo(bar = java.lang.Object.class)", cu);
-	}
-
-	public void testTypeLiteral3() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=java.util.Map.Entry.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", TypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("java.util.Map.Entry", aea.getValue());
-	}
-
-	public void testTypeLiteral14() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=int.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", TypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("int", aea.getValue());
-	}
-
-	public void testTypeLiteral5() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", TypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		aea.setValue("int");
-		this.assertSourceContains("@Foo(bar = int.class)", cu);
-	}
-
-	public void testTypeLiteral6() throws Exception {
-		this.createAnnotationAndMembers("Foo", "Class bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=void.class)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new ConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", TypeStringExpressionConverter.instance());
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("void", aea.getValue());
-	}
-
-	public void testValueEnum1() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=enums.TestEnum.XXX)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new EnumDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("enums.TestEnum.XXX", aea.getValue());
-	}
-
-	public void testValueEnum2() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum bar();");
-		ICompilationUnit cu = this.createTestType("static enums.TestEnum.XXX", "@annot.Foo(bar=XXX)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new EnumDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("enums.TestEnum.XXX", aea.getValue());
-	}
-
-	public void testValueEnum3() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new EnumDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertNull(aea.getValue());
-	}
-
-	public void testValueEnum4() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum bar();");
-		ICompilationUnit cu = this.createTestType("enums.TestEnum", "@annot.Foo(bar=TestEnum.XXX)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new EnumDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		assertEquals("enums.TestEnum.XXX", aea.getValue());
-	}
-
-	public void testSetValueEnum1() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum bar();");
-		String expected = "@annot.Foo(bar=XXX)";
-		ICompilationUnit cu = this.createTestType("static enums.TestEnum.XXX", expected);
-		this.assertSourceContains(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new EnumDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		aea.setValue(null);
-		this.assertSourceDoesNotContain("bar", cu);
-	}
-
-	public void testSetValueEnum2() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum bar();");
-		String expected = "@Foo(bar = XXX)";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String> daea = new EnumDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String> aea = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea);
-		aea.setValue("enums.TestEnum.XXX");
-		this.assertSourceContains("import static enums.TestEnum.XXX;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumImportCollision1() throws Exception {
-		this.createEnum("enums1", "TestEnum", "XXX, YYY, ZZZ");
-		this.createEnum("enums2", "TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums1.TestEnum bar1();  enums2.TestEnum bar2();");
-		String expected = "@Foo(bar1 = XXX, bar2 = TestEnum.XXX)";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String> daea1 = new EnumDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String> aea1 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea1);
-		aea1.setValue("enums1.TestEnum.XXX");
-
-		DeclarationAnnotationElementAdapter<String> daea2 = new EnumDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String> aea2 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea2);
-		aea2.setValue("enums2.TestEnum.XXX");
-
-		this.assertSourceContains("import static enums1.TestEnum.XXX;", cu);
-		this.assertSourceDoesNotContain("import static enums2.TestEnum.XXX;", cu);
-		this.assertSourceContains("import enums2.TestEnum;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumImportCollision2() throws Exception {
-		this.createEnum("enums1", "TestEnum", "XXX, YYY, ZZZ");
-		this.createEnum("enums2", "TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums1.TestEnum bar1();  enums2.TestEnum bar2();");
-		String expected = "@annot.Foo(bar1=XXX, bar2 = TestEnum.XXX)";
-		ICompilationUnit cu = this.createTestType("static enums1.TestEnum.*", "@annot.Foo(bar1=XXX)");
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String> daea1 = new EnumDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String> aea1 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea1);
-		assertNotNull(aea1.getValue());
-
-		DeclarationAnnotationElementAdapter<String> daea2 = new EnumDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String> aea2 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea2);
-		aea2.setValue("enums2.TestEnum.XXX");
-
-		this.assertSourceContains("import static enums1.TestEnum.*;", cu);
-		this.assertSourceDoesNotContain("import static enums2.TestEnum.XXX;", cu);
-		this.assertSourceContains("import enums2.TestEnum;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumImportCollision3() throws Exception {
-		this.createEnum("TestEnum1", "XXX, YYY, ZZZ");
-		this.createEnum("TestEnum2", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum1 bar1();  enums.TestEnum2 bar2();");
-		String expected = "@Foo(bar1 = XXX, bar2 = TestEnum2.XXX)";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String> daea1 = new EnumDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String> aea1 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea1);
-		aea1.setValue("enums.TestEnum1.XXX");
-
-		DeclarationAnnotationElementAdapter<String> daea2 = new EnumDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String> aea2 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea2);
-		aea2.setValue("enums.TestEnum2.XXX");
-
-		this.assertSourceContains("import static enums.TestEnum1.XXX;", cu);
-		this.assertSourceContains("import enums.TestEnum2;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumImportCollision4() throws Exception {
-		this.createEnum("TestEnum1", "XXX, YYY, ZZZ");
-		this.createEnum("TestEnum2", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum1 bar1();  enums.TestEnum2 bar2();");
-		String expected = "@annot.Foo(bar1=XXX, bar2 = TestEnum2.XXX)";
-		ICompilationUnit cu = this.createTestType("static enums.TestEnum1.*", "@annot.Foo(bar1=XXX)");
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String> daea1 = new EnumDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String> aea1 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea1);
-		assertNotNull(aea1.getValue());
-
-		DeclarationAnnotationElementAdapter<String> daea2 = new EnumDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String> aea2 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea2);
-		aea2.setValue("enums.TestEnum2.XXX");
-
-		this.assertSourceContains("import static enums.TestEnum1.*;", cu);
-		this.assertSourceContains("import enums.TestEnum2;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	/**
-	 * not sure this is exactly what we want...
-	 * it would be nice if we just skip the static import; but it's a matter of taste...
-	 */
-	public void testSetValueEnumImportCollision5() throws Exception {
-		this.createEnum("TestEnum1", "XXX, YYY, ZZZ");
-		this.createEnum("TestEnum2", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum1 bar1();  enums.TestEnum2 bar2();");
-		String expected = "@Foo(bar1 = XXX, bar2 = TestEnum2.XXX)";
-		ICompilationUnit cu = this.createTestType("enums.*", "");
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String> daea1 = new EnumDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String> aea1 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea1);
-		aea1.setValue("enums.TestEnum1.XXX");
-
-		DeclarationAnnotationElementAdapter<String> daea2 = new EnumDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String> aea2 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea2);
-		aea2.setValue("enums.TestEnum2.XXX");
-
-		this.assertSourceContains("import enums.*;", cu);
-		this.assertSourceContains("import static enums.TestEnum1.XXX;", cu);
-		this.assertSourceDoesNotContain("import enums.TestEnum2;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumImportCollision6() throws Exception {
-		this.createEnum("enums1", "TestEnum", "XXX, YYY, ZZZ");
-		this.createEnum("enums2", "TestEnum", "XXX, YYY, ZZZ");
-		this.createEnum("enums3", "TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums1.TestEnum bar1();  enums2.TestEnum bar2();  enums3.TestEnum bar3();");
-		String expected = "@Foo(bar1 = XXX, bar2 = TestEnum.XXX, bar3 = enums3.TestEnum.XXX)";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String> daea1 = new EnumDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String> aea1 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea1);
-		aea1.setValue("enums1.TestEnum.XXX");
-
-		DeclarationAnnotationElementAdapter<String> daea2 = new EnumDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String> aea2 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea2);
-		aea2.setValue("enums2.TestEnum.XXX");
-
-		DeclarationAnnotationElementAdapter<String> daea3 = new EnumDeclarationAnnotationElementAdapter(daa, "bar3");
-		AnnotationElementAdapter<String> aea3 = new AnnotatedElementAnnotationElementAdapter<String>(this.idField(cu), daea3);
-		aea3.setValue("enums3.TestEnum.XXX");
-
-		this.assertSourceContains("import static enums1.TestEnum.XXX;", cu);
-		this.assertSourceDoesNotContain("import static enums2.TestEnum.XXX;", cu);
-		this.assertSourceContains("import enums2.TestEnum;", cu);
-		this.assertSourceDoesNotContain("import static enums3", cu);
-		this.assertSourceDoesNotContain("import enums3", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testValueStringArray() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar={\"string0\", \"string1\"})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new ConversionDeclarationAnnotationElementAdapter<String[]>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[] {"string0", "string1"}, aea.getValue()));
-	}
-
-	public void testValueStringArrayConcatenation() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar={\"stri\" + \"ng0\", \"s\" + \"tring1\"})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new ConversionDeclarationAnnotationElementAdapter<String[]>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[] {"string0", "string1"}, aea.getValue()));
-	}
-
-	public void testValueStringArrayEmpty() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar={})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new ConversionDeclarationAnnotationElementAdapter<String[]>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[0], aea.getValue()));
-	}
-
-	public void testValueStringArraySingleElement() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=\"string0\")");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new ConversionDeclarationAnnotationElementAdapter<String[]>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[] {"string0"}, aea.getValue()));
-	}
-
-	public void testValueNullStringArray() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo()");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new IndexedConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[0], aea.getValue()));
-	}
-
-	public void testSetValueStringArray() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		String expected = "@Foo(bar = { \"string0\", \"string1\" })";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new IndexedConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		aea.setValue(new String[] {"string0", "string1"});
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueStringArrayEmptyRemove() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		String expected = "@Foo";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new IndexedConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		aea.setValue(new String[0]);
-		this.assertSourceDoesNotContain(expected, cu);
-	}
-
-	public void testSetValueStringArrayEmpty() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		String expected = "@Foo(bar = {})";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		IndexedExpressionConverter<String> expressionConverter = new AnnotationStringArrayExpressionConverter(StringExpressionConverter.instance(), false);
-		DeclarationAnnotationElementAdapter<String[]> daea = new IndexedConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", expressionConverter);
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		aea.setValue(new String[0]);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueStringArraySingleElement() throws Exception {
-		this.createAnnotationAndMembers("Foo", "String[] bar();");
-		String annotation = "@Foo(bar = \"string0\")";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(annotation, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new IndexedConversionDeclarationAnnotationElementAdapter<String>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		aea.setValue(new String[] {"string0"});
-		this.assertSourceContains(annotation, cu);
-	}
-
-	public void testValueEnumArray() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar={enums.TestEnum.XXX, enums.TestEnum.YYY})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[] {"enums.TestEnum.XXX", "enums.TestEnum.YYY"}, aea.getValue()));
-	}
-
-	public void testValueEnumArrayInvalidEntry() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar={enums.TestEnum.XXX, 88})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[] {"enums.TestEnum.XXX", null}, aea.getValue()));
-	}
-
-	public void testValueEnumArrayEmpty() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar={})");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[0], aea.getValue()));
-	}
-
-	public void testValueEnumArraySingleElement() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=enums.TestEnum.XXX)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[] {"enums.TestEnum.XXX"}, aea.getValue()));
-	}
-
-	public void testValueEnumArraySingleElementInvalid() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(bar=\"\")");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[] {null}, aea.getValue()));
-	}
-
-	public void testValueNullEnumArray() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo()");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		assertTrue(Arrays.equals(new String[0], aea.getValue()));
-	}
-
-	public void testSetValueEnumArray() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		String expected = "@Foo(bar = { XXX, YYY })";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		aea.setValue(new String[] {"enums.TestEnum.XXX", "enums.TestEnum.YYY"});
-		this.assertSourceContains("import static enums.TestEnum.XXX;", cu);
-		this.assertSourceContains("import static enums.TestEnum.YYY;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumArrayEmptyRemove() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		String expected = "@Foo";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		aea.setValue(new String[0]);
-		this.assertSourceDoesNotContain(expected, cu);
-	}
-
-	public void testSetValueEnumArrayEmpty() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		String expected = "@Foo(bar = {})";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar", false);
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		aea.setValue(new String[0]);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumArraySingleElement() throws Exception {
-		this.createEnum("TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum[] bar();");
-		String expected = "@Foo(bar = XXX)";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationElementAdapter<String[]> daea = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar");
-		AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
-		aea.setValue(new String[] {"enums.TestEnum.XXX"});
-		this.assertSourceContains("import static enums.TestEnum.XXX;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumArrayImportCollision1() throws Exception {
-		this.createEnum("enums1", "TestEnum", "XXX, YYY, ZZZ");
-		this.createEnum("enums2", "TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums1.TestEnum[] bar1();  enums2.TestEnum[] bar2();");
-		String expected = "@Foo(bar1 = { XXX, YYY }, bar2 = { TestEnum.XXX, TestEnum.YYY })";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String[]> daea1 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String[]> aea1 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea1);
-		aea1.setValue(new String[] {"enums1.TestEnum.XXX", "enums1.TestEnum.YYY"});
-
-		DeclarationAnnotationElementAdapter<String[]> daea2 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String[]> aea2 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea2);
-		aea2.setValue(new String[] {"enums2.TestEnum.XXX", "enums2.TestEnum.YYY"});
-
-		this.assertSourceContains("import static enums1.TestEnum.XXX;", cu);
-		this.assertSourceContains("import static enums1.TestEnum.YYY;", cu);
-		this.assertSourceDoesNotContain("import static enums2.TestEnum.XXX;", cu);
-		this.assertSourceDoesNotContain("import static enums2.TestEnum.YYY;", cu);
-		this.assertSourceContains("import enums2.TestEnum;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumArrayImportCollision2() throws Exception {
-		this.createEnum("enums1", "TestEnum", "XXX, YYY, ZZZ");
-		this.createEnum("enums2", "TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums1.TestEnum[] bar1();  enums2.TestEnum[] bar2();");
-		String expected = "@annot.Foo(bar1={XXX,YYY}, bar2 = { TestEnum.XXX, TestEnum.YYY })";
-		ICompilationUnit cu = this.createTestType("static enums1.TestEnum.*", "@annot.Foo(bar1={XXX,YYY})");
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String[]> daea1 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String[]> aea1 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea1);
-		assertNotNull(aea1.getValue());
-
-		DeclarationAnnotationElementAdapter<String[]> daea2 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String[]> aea2 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea2);
-		aea2.setValue(new String[] {"enums2.TestEnum.XXX", "enums2.TestEnum.YYY"});
-
-		this.assertSourceContains("import static enums1.TestEnum.*;", cu);
-		this.assertSourceDoesNotContain("import static enums2.TestEnum.XXX;", cu);
-		this.assertSourceDoesNotContain("import static enums2.TestEnum.YYY;", cu);
-		this.assertSourceContains("import enums2.TestEnum;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumArrayImportCollision3() throws Exception {
-		this.createEnum("TestEnum1", "XXX, YYY, ZZZ");
-		this.createEnum("TestEnum2", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum1[] bar1();  enums.TestEnum2[] bar2();");
-		String expected = "@Foo(bar1 = { XXX, YYY }, bar2 = { TestEnum2.XXX, TestEnum2.YYY })";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String[]> daea1 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String[]> aea1 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea1);
-		aea1.setValue(new String[] {"enums.TestEnum1.XXX", "enums.TestEnum1.YYY"});
-
-		DeclarationAnnotationElementAdapter<String[]> daea2 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String[]> aea2 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea2);
-		aea2.setValue(new String[] {"enums.TestEnum2.XXX", "enums.TestEnum2.YYY"});
-
-		this.assertSourceContains("import static enums.TestEnum1.XXX;", cu);
-		this.assertSourceContains("import static enums.TestEnum1.YYY;", cu);
-		this.assertSourceDoesNotContain("import static enums.TestEnum2.XXX;", cu);
-		this.assertSourceDoesNotContain("import static enums.TestEnum2.YYY;", cu);
-		this.assertSourceContains("import enums.TestEnum2;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumArrayImportCollision4() throws Exception {
-		this.createEnum("TestEnum1", "XXX, YYY, ZZZ");
-		this.createEnum("TestEnum2", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums.TestEnum1[] bar1();  enums.TestEnum2[] bar2();");
-		String expected = "@annot.Foo(bar1={XXX,YYY}, bar2 = { TestEnum2.XXX, TestEnum2.YYY })";
-		ICompilationUnit cu = this.createTestType("static enums.TestEnum1.*", "@annot.Foo(bar1={XXX,YYY})");
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String[]> daea1 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String[]> aea1 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea1);
-		assertNotNull(aea1.getValue());
-
-		DeclarationAnnotationElementAdapter<String[]> daea2 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String[]> aea2 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea2);
-		aea2.setValue(new String[] {"enums.TestEnum2.XXX", "enums.TestEnum2.YYY"});
-
-		this.assertSourceContains("import static enums.TestEnum1.*;", cu);
-		this.assertSourceDoesNotContain("import static enums.TestEnum2.XXX;", cu);
-		this.assertSourceDoesNotContain("import static enums.TestEnum2.YYY;", cu);
-		this.assertSourceContains("import enums.TestEnum2;", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testSetValueEnumArrayImportCollision6() throws Exception {
-		this.createEnum("enums1", "TestEnum", "XXX, YYY, ZZZ");
-		this.createEnum("enums2", "TestEnum", "XXX, YYY, ZZZ");
-		this.createEnum("enums3", "TestEnum", "XXX, YYY, ZZZ");
-		this.createAnnotationAndMembers("Foo", "enums1.TestEnum[] bar1();  enums2.TestEnum[] bar2();  enums3.TestEnum[] bar3();");
-		String expected = "@Foo(bar1 = { XXX, YYY }, bar2 = { TestEnum.XXX, TestEnum.YYY }, bar3 = { enums3.TestEnum.XXX, enums3.TestEnum.YYY })";
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		DeclarationAnnotationElementAdapter<String[]> daea1 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar1");
-		AnnotationElementAdapter<String[]> aea1 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea1);
-		aea1.setValue(new String[] {"enums1.TestEnum.XXX", "enums1.TestEnum.YYY"});
-
-		DeclarationAnnotationElementAdapter<String[]> daea2 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar2");
-		AnnotationElementAdapter<String[]> aea2 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea2);
-		aea2.setValue(new String[] {"enums2.TestEnum.XXX", "enums2.TestEnum.YYY"});
-
-		DeclarationAnnotationElementAdapter<String[]> daea3 = new EnumArrayDeclarationAnnotationElementAdapter(daa, "bar3");
-		AnnotationElementAdapter<String[]> aea3 = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea3);
-		aea3.setValue(new String[] {"enums3.TestEnum.XXX", "enums3.TestEnum.YYY"});
-
-		this.assertSourceContains("import static enums1.TestEnum.XXX;", cu);
-		this.assertSourceContains("import static enums1.TestEnum.YYY;", cu);
-		this.assertSourceDoesNotContain("import static enums2", cu);
-		this.assertSourceContains("import enums2.TestEnum;", cu);
-		this.assertSourceDoesNotContain("import static enums3", cu);
-		this.assertSourceDoesNotContain("import enums3", cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MiscTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MiscTests.java
deleted file mode 100644
index 77ef53a..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MiscTests.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.Signature;
-
-@SuppressWarnings("nls")
-public class MiscTests extends AnnotationTestCase {
-
-	public MiscTests(String name) {
-		super(name);
-	}
-
-	/*
-	 * Signature.toString(...) returns a dot-qualified name for member types
-	 */
-	public void testSignature() throws Exception {
-		IType hashTableType = this.getJavaProject().getJavaProject().findType("java.util.Hashtable");
-		IField tableField = hashTableType.getField("table");
-		String tableFieldTypeSignature = tableField.getTypeSignature();
-		String tableFieldTypeName = Signature.toString(tableFieldTypeSignature);
-		assertEquals(tableFieldTypeName, "java.util.Hashtable.Entry[]");
-	}
-
-	/*
-	 * IType.getFullyQualifiedName() returns a dollar-qualified name for member types
-	 * (but the lookup on IJavaProject takes a dot-qualified name!)
-	 */
-	public void testITypeName() throws Exception {
-		IType hashTableEntryType = this.getJavaProject().getJavaProject().findType("java.util.Hashtable.Entry");
-		assertEquals(hashTableEntryType.getFullyQualifiedName(), "java.util.Hashtable$Entry");
-	}
-
-	public void testITypeParameterizedName() throws Exception {
-		IType mapType = this.getJavaProject().getJavaProject().findType("java.util.Map");
-		assertEquals(mapType.getFullyQualifiedParameterizedName(), "java.util.Map<K extends java.lang.Object, V extends java.lang.Object>");
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/NestedDeclarationAnnotationAdapterTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/NestedDeclarationAnnotationAdapterTests.java
deleted file mode 100644
index f92e2d8..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/NestedDeclarationAnnotationAdapterTests.java
+++ /dev/null
@@ -1,763 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jdt.core.dom.StringLiteral;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.NestedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-@SuppressWarnings("nls")
-public class NestedDeclarationAnnotationAdapterTests extends AnnotationTestCase {
-
-	public NestedDeclarationAnnotationAdapterTests(String name) {
-		super(name);
-	}
-
-	private void createAnnotationAndMembers(String annotationName, String annotationBody) throws Exception {
-		this.javaProject.createCompilationUnit("annot", annotationName + ".java", "public @interface " + annotationName + " { " + annotationBody + " }");
-	}
-
-	public void testAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotation=@annot.Bar)");
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.Bar", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isMarkerAnnotation());
-	}
-
-	public void testAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Baz", "String value();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz yana();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotation=@annot.Bar(yana=@annot.Baz))");
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedDeclarationAnnotationAdapter(daa1, "nestedAnnotation", "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedDeclarationAnnotationAdapter(daa2, "yana", "annot.Baz");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa3);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.Baz", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isMarkerAnnotation());
-	}
-
-	public void testAnnotationNull1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo()");
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType();
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "String nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotation=\"annot.Bar\")");
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Bar2", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar2 nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotation=@annot.Bar2)");
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testRemoveAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		String na = "@annot.Foo(nestedAnnotation=@annot.Bar)";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceDoesNotContain("nestedAnnotation", cu);
-	}
-
-	public void testRemoveAnnotation1a() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		String na = "@annot.Foo(nestedAnnotation=@annot.Bar)";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains("Foo", cu);
-	}
-
-	public void testRemoveAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("Foo", cu);
-	}
-
-	public void testRemoveAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "String nestedAnnotation();");
-		String na = "@annot.Foo(nestedAnnotation=\"annot.Bar\")";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(na, cu);
-	}
-
-	public void testRemoveAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Bar2", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar2 nestedAnnotation();");
-		String na = "@annot.Foo(nestedAnnotation=@annot.Bar2)";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(na, cu);
-	}
-
-	public void testRemoveAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Baz", "String value();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz nestedAnnotation2();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation1();");
-		String na = "@annot.Foo(nestedAnnotation1=@annot.Bar(nestedAnnotation2=@annot.Baz))";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daaFoo = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daaBar = new NestedDeclarationAnnotationAdapter(daaFoo, "nestedAnnotation1", "annot.Bar");
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(daaBar, "nestedAnnotation2", "annot.Baz");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceDoesNotContain("Baz", cu);
-	}
-
-	public void testRemoveAnnotation5a() throws Exception {
-		this.createAnnotationAndMembers("Baz", "String value();");
-		this.createAnnotationAndMembers("Bar", "annot.Baz nestedAnnotation2();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation1();");
-		String na = "@annot.Foo(nestedAnnotation1=@annot.Bar(nestedAnnotation2=@annot.Baz))";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daaFoo = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daaBar = new NestedDeclarationAnnotationAdapter(daaFoo, "nestedAnnotation1", "annot.Bar");
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(daaBar, "nestedAnnotation2", "annot.Baz");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains("@annot.Foo(nestedAnnotation1=@Bar)", cu);
-	}
-
-	public void testNewMarkerAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@Foo(nestedAnnotation = @Bar)", cu);
-	}
-
-	public void testNewMarkerAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@Foo(@Bar)", cu);
-	}
-
-	public void testNewMarkerAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(nestedAnnotation = @Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation(); String value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@Foo(value = \"something\", nestedAnnotation = @Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "Object value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@annot.Foo(@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "String xxx(); annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", nestedAnnotation = @Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "String xxx(); annot.Bar value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", value = @Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewSingleMemberAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation1(declaration);
-			}
-		});
-		this.assertSourceContains("@Foo(nestedAnnotation = @Bar(\"test string literal\"))", cu);
-	}
-
-	void editNewSingleMemberAnnotation1(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation2(declaration);
-			}
-		});
-		this.assertSourceContains("@Foo(@Bar(\"test string literal\"))", cu);
-	}
-
-	void editNewSingleMemberAnnotation2(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(nestedAnnotation = @Bar(\"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation3(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation3(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(@Bar(\"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation4(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation4(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation(); String value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@Foo(value = \"something\", nestedAnnotation = @Bar(\"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation5(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation5(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "Object value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@annot.Foo(@Bar(\"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation6(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation6(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation(); String xxx();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", nestedAnnotation = @Bar(\"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation7(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation7(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value(); String xxx();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", value = @Bar(\"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation8(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation8(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewNormalAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String yyy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation1(declaration);
-			}
-		});
-		this.assertSourceContains("@Foo(nestedAnnotation = @Bar(yyy = \"test string literal\"))", cu);
-	}
-
-	void editNewNormalAnnotation1(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "yyy", "test string literal");
-	}
-
-	public void testNewNormalAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String yyy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation2(declaration);
-			}
-		});
-		this.assertSourceContains("@Foo(@Bar(yyy = \"test string literal\"))", cu);
-	}
-
-	void editNewNormalAnnotation2(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "yyy", "test string literal");
-	}
-
-	public void testNewNormalAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String yyy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(nestedAnnotation = @Bar(yyy = \"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation3(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation3(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "yyy", "test string literal");
-	}
-
-	public void testNewNormalAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String yyy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(@Bar(yyy = \"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation4(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation4(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "yyy", "test string literal");
-	}
-
-	public void testNewNormalAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String yyy();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar nestedAnnotation(); String value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@Foo(value = \"something\", nestedAnnotation = @Bar(yyy = \"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation5(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation5(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "yyy", "test string literal");
-	}
-
-	public void testNewNormalAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String yyy();");
-		this.createAnnotationAndMembers("Foo", "Object value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@annot.Foo(@Bar(yyy = \"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation6(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation6(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "yyy", "test string literal");
-	}
-
-	public void testNewNormalAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String yyy();");
-		this.createAnnotationAndMembers("Foo", "String xxx(); annot.Bar nestedAnnotation();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", nestedAnnotation = @Bar(yyy = \"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation7(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation7(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotation", "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "yyy", "test string literal");
-	}
-
-	public void testNewNormalAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String yyy();");
-		this.createAnnotationAndMembers("Foo", "String xxx(); annot.Bar value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", value = @Bar(yyy = \"test string literal\"))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation8(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation8(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "yyy", "test string literal");
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/NestedIndexedDeclarationAnnotationAdapterTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/NestedIndexedDeclarationAnnotationAdapterTests.java
deleted file mode 100644
index ae4f0f9..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/NestedIndexedDeclarationAnnotationAdapterTests.java
+++ /dev/null
@@ -1,2229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.NumberLiteral;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementIndexedAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-@SuppressWarnings("nls")
-public class NestedIndexedDeclarationAnnotationAdapterTests extends AnnotationTestCase {
-
-	public NestedIndexedDeclarationAnnotationAdapterTests(String name) {
-		super(name);
-	}
-
-	private void createAnnotation(String annotationName) throws Exception {
-		this.createAnnotationAndMembers(annotationName, "");
-	}
-
-	private void createAnnotationAndMembers(String annotationName, String annotationBody) throws Exception {
-		this.javaProject.createCompilationUnit("annot", annotationName + ".java", "public @interface " + annotationName + " { " + annotationBody + " }");
-	}
-
-	public void testAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations={@annot.Bar, @annot.Bar(\"two\")})");
-		// 0
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		CompilationUnit astRoot = this.buildASTRoot(cu);
-		Annotation annotation = aa.getAnnotation(astRoot);
-		assertNotNull(annotation);
-		assertEquals("annot.Bar", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isMarkerAnnotation());
-
-		// 1
-		daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 1, "annot.Bar");
-		aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		annotation = aa.getAnnotation(astRoot);
-		assertNotNull(annotation);
-		assertEquals("annot.Bar", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isSingleMemberAnnotation());
-	}
-
-	public void testAnnotation2() throws Exception {
-		this.createAnnotation("Baz");
-		this.createAnnotationAndMembers("Bar", "annot.Baz[] yana();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.Bar(yana=@annot.Baz))");
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 0, "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedIndexedDeclarationAnnotationAdapter(daa2, "yana", 0, "annot.Baz");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa3);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.Baz", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isMarkerAnnotation());
-	}
-
-	public void testAnnotation3() throws Exception {
-		this.createAnnotation("Baz");
-		this.createAnnotationAndMembers("Bar", "annot.Baz[] yana();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.Bar(yana={@annot.Baz}))");
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 0, "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedIndexedDeclarationAnnotationAdapter(daa2, "yana", 0, "annot.Baz");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa3);
-		CompilationUnit astRoot = this.buildASTRoot(cu);
-		Annotation annotation = aa.getAnnotation(astRoot);
-		assertNotNull(annotation);
-		assertEquals("annot.Baz", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isMarkerAnnotation());
-
-		// name mismatch
-		daa3 = new NestedIndexedDeclarationAnnotationAdapter(daa2, "yana", 0, "annot.Xyz");
-		aa = new ElementAnnotationAdapter(this.idField(cu), daa3);
-		annotation = aa.getAnnotation(astRoot);
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull1() throws Exception {
-		this.createAnnotation("Bar");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo()");
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull2() throws Exception {
-		this.createAnnotation("Bar");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull3() throws Exception {
-		this.createAnnotation("Bar");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=\"annot.Bar\")");
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull4() throws Exception {
-		this.createAnnotation("NotBar");
-		this.createAnnotation("Bar");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.NotBar)");
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "String value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations={@annot.Bar, @annot.Bar(\"two\")})");
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 2, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull6() throws Exception {
-		this.createAnnotation("Xyz");
-		this.createAnnotation("Baz");
-		this.createAnnotationAndMembers("Bar", "annot.Baz[] yana();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.Bar(yana={@annot.Baz}))");
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 0, "annot.Bar");
-		DeclarationAnnotationAdapter daa3 = new NestedIndexedDeclarationAnnotationAdapter(daa2, "yana", 0, "annot.Xyz");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa3);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testRemoveAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={@annot.Bar(0), @annot.Bar(1)})";
-		String expected = "@annot.Foo(nestedAnnotations={null, @annot.Bar(1)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("Foo", cu);
-	}
-
-	public void testRemoveAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={\"annot.Bar1\", \"annot.Bar2\", \"annot.Bar3\"})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(na, cu);
-	}
-
-	public void testRemoveAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int value();");
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.NotBar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={@annot.NotBar(0), @annot.NotBar(1)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(na, cu);
-	}
-
-	public void testRemoveAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations=@annot.Bar)";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		assertNull(aa.getAnnotation(this.buildASTRoot(cu)));
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceDoesNotContain("nestedAnnotations", cu);
-	}
-
-	public void testRemoveAnnotation5a() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations=@annot.Bar)";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertTrue(aa1.getAnnotation(this.buildASTRoot(cu)).isMarkerAnnotation());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains("import annot.Foo;", cu);
-		this.assertSourceContains("@Foo", cu);
-	}
-
-	public void testRemoveAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations=\"annot.Bar\")";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(na, cu);
-	}
-
-	public void testRemoveAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int value();");
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.NotBar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations=@annot.NotBar)";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceContains(na, cu);
-	}
-
-	public void testRemoveAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={@annot.Bar(0), @annot.Bar(1), @annot.Bar(2), @annot.Bar(3)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 2, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		CompilationUnit astRoot = this.buildASTRoot(cu);
-		Annotation annotation = aa2.getAnnotation(astRoot);
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertTrue(aa1.getAnnotation(astRoot).isNormalAnnotation());
-		assertEquals(ASTNode.ARRAY_INITIALIZER, this.annotationElementValue(aa1.getAnnotation(astRoot), "nestedAnnotations").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains("@annot.Foo(nestedAnnotations={@annot.Bar(0), @annot.Bar(1), null, @annot.Bar(3)})", cu);
-	}
-
-	public void testRemoveAnnotation9() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String na = "@annot.Foo({@annot.Bar(0), @annot.Bar(1), @annot.Bar(2), @annot.Bar(3)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "value", 2, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		CompilationUnit astRoot = this.buildASTRoot(cu);
-		Annotation annotation = aa2.getAnnotation(astRoot);
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertTrue(aa1.getAnnotation(astRoot).isSingleMemberAnnotation());
-		assertEquals(ASTNode.ARRAY_INITIALIZER, this.annotationElementValue(aa1.getAnnotation(astRoot), "value").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains("@annot.Foo({@annot.Bar(0), @annot.Bar(1), null, @annot.Bar(3)})", cu);
-	}
-
-	public void testRemoveAnnotation10() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String na = "@annot.Foo({@annot.Bar(0), @annot.Bar(1)})";
-		String expected = "@annot.Foo({null, @annot.Bar(1)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "value", 0, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation11() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String na = "@annot.Foo({@annot.Bar(0), @annot.Bar(1)})";
-		String expected = "@annot.Foo(@annot.Bar(0))";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "value", 1, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.SINGLE_MEMBER_ANNOTATION, this.annotationElementValue(aa1.getAnnotation(this.buildASTRoot(cu)), "value").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation12() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String na = "@annot.Foo({@annot.Bar(0), null, @annot.Bar(2)})";
-		String expected = "@annot.Foo(@annot.Bar(0))";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "value", 2, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.SINGLE_MEMBER_ANNOTATION, this.annotationElementValue(aa1.getAnnotation(this.buildASTRoot(cu)), "value").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation13() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String na = "@annot.Foo({null, @annot.Bar(1)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "value", 1, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		this.assertSourceDoesNotContain("Bar", cu);
-	}
-
-	public void testRemoveAnnotation14() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String na = "@annot.Foo({@annot.Bar(0), null, @annot.Bar(2), null})";
-		String expected = "@annot.Foo(@annot.Bar(0))";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "value", 2, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.SINGLE_MEMBER_ANNOTATION, this.annotationElementValue(aa1.getAnnotation(this.buildASTRoot(cu)), "value").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation15() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String na = "@annot.Foo({@annot.Bar(0), null, @annot.Bar(2), @annot.Bar(3)})";
-		String expected = "@annot.Foo({@annot.Bar(0), null, null, @annot.Bar(3)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "value", 2, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		CompilationUnit astRoot = this.buildASTRoot(cu);
-		Annotation annotation = aa2.getAnnotation(astRoot);
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.ARRAY_INITIALIZER, this.annotationElementValue(aa1.getAnnotation(astRoot), "value").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation16() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String na = "@annot.Foo({@annot.Bar(0), null, @annot.Bar(2), @annot.Bar(3)})";
-		String expected = "@annot.Foo({@annot.Bar(0), null, @annot.Bar(2)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "value", 3, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		CompilationUnit astRoot = this.buildASTRoot(cu);
-		Annotation annotation = aa2.getAnnotation(astRoot);
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.ARRAY_INITIALIZER, this.annotationElementValue(aa1.getAnnotation(astRoot), "value").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation17() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={@annot.Bar(0), null, @annot.Bar(2)})";
-		String expected = "@annot.Foo(nestedAnnotations=@annot.Bar(0))";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 2, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.SINGLE_MEMBER_ANNOTATION, this.annotationElementValue(aa1.getAnnotation(this.buildASTRoot(cu)), "nestedAnnotations").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation18() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={null, @annot.Bar(1)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 1, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		this.assertSourceDoesNotContain("nestedAnnotations", cu);
-	}
-
-	public void testRemoveAnnotation19() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={@annot.Bar(0), null, @annot.Bar(2), null})";
-		String expected = "@annot.Foo(nestedAnnotations=@annot.Bar(0))";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 2, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.SINGLE_MEMBER_ANNOTATION, this.annotationElementValue(aa1.getAnnotation(this.buildASTRoot(cu)), "nestedAnnotations").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation20() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={@annot.Bar(0), null, @annot.Bar(2), @annot.Bar(3)})";
-		String expected = "@annot.Foo(nestedAnnotations={@annot.Bar(0), null, null, @annot.Bar(3)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 2, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		CompilationUnit astRoot = this.buildASTRoot(cu);
-		Annotation annotation = aa2.getAnnotation(astRoot);
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.ARRAY_INITIALIZER, this.annotationElementValue(aa1.getAnnotation(astRoot), "nestedAnnotations").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testRemoveAnnotation21() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		String na = "@annot.Foo(nestedAnnotations={@annot.Bar(0), null, @annot.Bar(2), @annot.Bar(3)})";
-		String expected = "@annot.Foo(nestedAnnotations={@annot.Bar(0), null, @annot.Bar(2)})";
-		ICompilationUnit cu = this.createTestType(na);
-		this.assertSourceDoesNotContain(expected, cu);
-		this.assertSourceContains(na, cu);
-
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		DeclarationAnnotationAdapter daa2 = new NestedIndexedDeclarationAnnotationAdapter(daa1, "nestedAnnotations", 3, "annot.Bar");
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		CompilationUnit astRoot = this.buildASTRoot(cu);
-		Annotation annotation = aa2.getAnnotation(astRoot);
-		assertNotNull(annotation);
-
-		aa2.removeAnnotation();
-		assertEquals(ASTNode.ARRAY_INITIALIZER, this.annotationElementValue(aa1.getAnnotation(astRoot), "nestedAnnotations").getNodeType());
-		this.assertSourceDoesNotContain(na, cu);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@Foo(nestedAnnotations = @Bar)", cu);
-	}
-
-	public void testNewMarkerAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("Foo", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@Foo(@Bar)", cu);
-	}
-
-	public void testNewMarkerAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(nestedAnnotations = @Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String value(); annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@Foo(value = \"something\", nestedAnnotations = @Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@annot.Foo(@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String xxx(); annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", nestedAnnotations = @Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String xxx(); annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", value = @Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation9() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType();
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		assertNull(aa.getAnnotation(this.buildASTRoot(cu)));
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@Foo(nestedAnnotations = { null, null, null, null, null, @Bar })", cu);
-	}
-
-	public void testNewMarkerAnnotation10() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String value(); annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected1 = "@Foo(value = \"something\", nestedAnnotations = { null, null, null, null,";
-		String expected2 = "null, @Bar })";
-		this.assertSourceDoesNotContain("Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-	}
-
-	public void testNewMarkerAnnotation11() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({\"one\", \"two\"})");
-		String expected = "@annot.Foo({@Bar, \"two\"})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation12() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({\"one\", \"two\"})");
-		this.assertSourceDoesNotContain("Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("Bar})", cu);  // split line
-	}
-
-	public void testNewMarkerAnnotation13() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(7)");
-		String expected = "@annot.Foo(@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation14() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(7)");
-		this.assertSourceDoesNotContain("Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@annot.Foo({7,null,null,null,null,@Bar})", cu);
-	}
-
-	public void testNewMarkerAnnotation15() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int value();");
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.NotBar)");
-		String expected = "@annot.Foo(@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation16() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.Bar(55))");
-		String expected = "@annot.Foo({@annot.Bar(55),@Bar})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 1, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation17() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations={\"something\"})");
-		String expected = "@annot.Foo(nestedAnnotations={@Bar})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation18() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations={\"something\"})");
-		this.assertSourceDoesNotContain("Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("Bar})", cu);  // split line
-	}
-
-	public void testNewMarkerAnnotation19() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=\"something\")");
-		String expected = "@annot.Foo(nestedAnnotations=@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation20() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int value();");
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.NotBar)");
-		String expected = "@annot.Foo(nestedAnnotations=@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation21() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int value();");
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.NotBar)");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("@annot.Foo(nestedAnnotations={@annot.NotBar,null,null,null,null,@Bar})", cu);
-	}
-
-	public void testNewMarkerAnnotation22() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.Bar(88))");
-		String expected = "@annot.Foo(nestedAnnotations=@Bar)";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation23() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.Bar(88))");
-		String expected = "@annot.Foo(nestedAnnotations={@annot.Bar(88),null,@Bar})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 2, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation24() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.Bar(88))");
-		String expected = "@annot.Foo({@annot.Bar(88),null,@Bar})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 2, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testNewMarkerAnnotation25() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations={@annot.Bar(88), @annot.Bar(77)})");
-		String expected1 = "@annot.Foo(nestedAnnotations={@annot.Bar(88), @annot.Bar(77), null, null,";  // the line gets split
-		String expected2 = "@Bar})";
-		this.assertSourceDoesNotContain(expected1, cu);
-		this.assertSourceDoesNotContain(expected2, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 4, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-	}
-
-	public void testNewMarkerAnnotation26() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(88), @annot.Bar(77)})");
-		String expected1 = "@annot.Foo({@annot.Bar(88), @annot.Bar(77), null, null,";  // the line gets split
-		String expected2 = "@Bar})";
-		this.assertSourceDoesNotContain(expected1, cu);
-		this.assertSourceDoesNotContain(expected2, cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 4, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		aa.newMarkerAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-	}
-
-	public void testNewSingleMemberAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation1(declaration);
-			}
-		});
-		this.assertSourceContains("@Foo(nestedAnnotations = @Bar(88))", cu);
-	}
-
-	void editNewSingleMemberAnnotation1(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation2(declaration);
-			}
-		});
-		this.assertSourceContains("@Foo(@Bar(88))", cu);
-	}
-
-	void editNewSingleMemberAnnotation2(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(nestedAnnotations = @Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation3(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation3(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(@Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation4(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation4(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String value(); annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@Foo(value = \"something\", nestedAnnotations = @Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation5(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation5(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@annot.Foo(@Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation6(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation6(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String xxx(); annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", nestedAnnotations = @Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation7(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation7(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String xxx(); annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", value = @Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation8(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation8(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation9() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newSingleMemberAnnotation();
-		this.assertSourceContains("@Foo(nestedAnnotations = { null, null, null, null, null, @Bar(MISSING) })", cu);  // ???
-	}
-
-	public void testNewSingleMemberAnnotation10() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "String value(); annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected1 = "@Foo(value = \"something\", nestedAnnotations = { null, null, null, null,";
-		String expected2 = "null, @Bar(MISSING) })";  // ???
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newSingleMemberAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-	}
-
-	public void testNewSingleMemberAnnotation11() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({\"one\", \"two\"})");
-		String expected = "@annot.Foo({@Bar(88), \"two\"})";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation11(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation11(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation12() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({\"one\", \"two\"})");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newSingleMemberAnnotation();
-		this.assertSourceContains("@Bar(MISSING)})", cu);  // split line
-	}
-
-	public void testNewSingleMemberAnnotation13() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(7)");
-		String expected = "@annot.Foo(@Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation13(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation13(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation14() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(7)");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newSingleMemberAnnotation();
-		this.assertSourceContains("@annot.Foo({7,null,null,null,null,@Bar(MISSING)})", cu);
-	}
-
-	public void testNewSingleMemberAnnotation15() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int value();");
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.NotBar)");
-		String expected = "@annot.Foo(@Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation15(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation15(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation16() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.Bar(55))");
-		String expected = "@annot.Foo({@annot.Bar(55),@Bar(88)})";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation16(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation16(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 1, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation17() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations={\"something\"})");
-		String expected = "@annot.Foo(nestedAnnotations={@Bar(88)})";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation17(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation17(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation18() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations={\"something\"})");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newSingleMemberAnnotation();
-		this.assertSourceContains("@Bar(MISSING)})", cu);  // ???
-	}
-
-	public void testNewSingleMemberAnnotation19() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=\"something\")");
-		String expected = "@annot.Foo(nestedAnnotations=@Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation19(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation19(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation20() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int value();");
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.NotBar)");
-		String expected = "@annot.Foo(nestedAnnotations=@Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation20(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation20(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewSingleMemberAnnotation21() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int value();");
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.NotBar)");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newSingleMemberAnnotation();
-		this.assertSourceContains("@annot.Foo(nestedAnnotations={@annot.NotBar,null,null,null,null,@Bar(MISSING)})", cu);
-	}
-
-	public void testNewSingleMemberAnnotation22() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.Bar(77))");
-		String expected = "@annot.Foo(nestedAnnotations=@Bar(88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation22(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewSingleMemberAnnotation22(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		SingleMemberAnnotation annotation = daa.newSingleMemberAnnotation(declaration);
-		NumberLiteral numberLiteral = annotation.getAST().newNumberLiteral();
-		numberLiteral.setToken("88");
-		annotation.setValue(numberLiteral);
-	}
-
-	public void testNewNormalAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation1(declaration);
-			}
-		});
-		this.assertSourceContains("@Foo(nestedAnnotations = @Bar(xxx = 88))", cu);
-	}
-
-	void editNewNormalAnnotation1(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation2(declaration);
-			}
-		});
-		this.assertSourceContains("@Foo(@Bar(xxx = 88))", cu);
-	}
-
-	void editNewNormalAnnotation2(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(nestedAnnotations = @Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation3(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation3(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		String expected = "@Foo(@Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation4(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation4(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations(); String value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@Foo(value = \"something\", nestedAnnotations = @Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation5(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation5(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected = "@annot.Foo(@Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation6(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation6(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations(); String xxx();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", nestedAnnotations = @Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation7(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation7(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value(); String xxx();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(xxx=\"something\")");
-		String expected = "@annot.Foo(xxx=\"something\", value = @Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation8(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation8(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation9() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations(); String xxx();");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newNormalAnnotation();
-		this.assertSourceContains("@Foo(nestedAnnotations = { null, null, null, null, null, @Bar() })", cu);
-	}
-
-	public void testNewNormalAnnotation10() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] nestedAnnotations(); String value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(\"something\")");
-		String expected1 = "@Foo(value = \"something\", nestedAnnotations = { null, null, null, null,";
-		String expected2 = "null, @Bar() })";
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newNormalAnnotation();
-		this.assertSourceContains(expected1, cu);
-		this.assertSourceContains(expected2, cu);
-	}
-
-	public void testNewNormalAnnotation11() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({ \"one\", \"two\" })");
-		String expected = "@annot.Foo({ @Bar(xxx = 88), \"two\" })";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation11(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation11(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation12() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({\"one\", \"two\"})");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newNormalAnnotation();
-		this.assertSourceContains("@Bar()})", cu);  // split line
-	}
-
-	public void testNewNormalAnnotation13() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(7)");
-		String expected = "@annot.Foo(@Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation13(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation13(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation14() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(7)");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newNormalAnnotation();
-		this.assertSourceContains("@annot.Foo({7,null,null,null,null,@Bar()})", cu);
-	}
-
-	public void testNewNormalAnnotation15() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int xxx();");
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.NotBar)");
-		String expected = "@annot.Foo(@Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation15(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation15(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation16() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.Bar(55))");
-		String expected = "@annot.Foo({@annot.Bar(55),@Bar(xxx=88)})";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation16(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation16(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 1, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation17() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations = { \"something\" })");
-		String expected = "@annot.Foo(nestedAnnotations = { @Bar(xxx = 88) })";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation17(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation17(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation18() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations={\"something\"})");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newNormalAnnotation();
-		this.assertSourceContains("@Bar()})", cu);  // split line
-	}
-
-	public void testNewNormalAnnotation19() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations = \"something\")");
-		String expected = "@annot.Foo(nestedAnnotations = @Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation19(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation19(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation20() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int xxx();");
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations = @annot.NotBar)");
-		String expected = "@annot.Foo(nestedAnnotations = @Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation20(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation20(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testNewNormalAnnotation21() throws Exception {
-		this.createAnnotationAndMembers("NotBar", "int xxx();");
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations=@annot.NotBar)");
-		this.assertSourceDoesNotContain("@Bar", cu);
-
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 5, "annot.Bar");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newNormalAnnotation();
-		this.assertSourceContains("@annot.Foo(nestedAnnotations={@annot.NotBar,null,null,null,null,@Bar()})", cu);
-	}
-
-	public void testNewNormalAnnotation22() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int xxx();");
-		this.createAnnotationAndMembers("Foo", "Object[] nestedAnnotations();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(nestedAnnotations = @annot.Bar(77))");
-		String expected = "@annot.Foo(nestedAnnotations = @Bar(xxx = 88))";
-		this.assertSourceDoesNotContain(expected, cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NestedIndexedDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation22(declaration);
-			}
-		});
-		this.assertSourceContains(expected, cu);
-	}
-
-	void editNewNormalAnnotation22(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "nestedAnnotations", 0, "annot.Bar");
-		NormalAnnotation annotation = daa.newNormalAnnotation(declaration);
-		this.addMemberValuePair(annotation, "xxx", 88);
-	}
-
-	public void testMoveAnnotation1() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.Bar(00))");
-		String expected = "@annot.Foo({null,@annot.Bar(00)})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(1);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation2() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({null, @annot.Bar(11)})");
-		String expected = "@annot.Foo(@annot.Bar(11))";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 1, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation3() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), @annot.Bar(11), @annot.Bar(22), @annot.Bar(33)})");
-		String expected = "@annot.Foo({@annot.Bar(33), @annot.Bar(11), @annot.Bar(22)})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 3, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation4() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), @annot.Bar(11), @annot.Bar(22), @annot.Bar(33), @annot.Bar(44)})");
-		String expected = "@annot.Foo({@annot.Bar(33), @annot.Bar(11), @annot.Bar(22), null, @annot.Bar(44)})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 3, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation5() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), @annot.Bar(11), @annot.Bar(22)})");
-		String expected = "@annot.Foo({@annot.Bar(00), @annot.Bar(11), null, @annot.Bar(22)})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 2, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(3);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation6() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), @annot.Bar(11), @annot.Bar(22)})");
-		String expected = "@annot.Foo({null, @annot.Bar(11), @annot.Bar(22), @annot.Bar(00)})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(3);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation7() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), @annot.Bar(11), @annot.Bar(22)})");
-		String expected = "@annot.Foo({null, @annot.Bar(11), @annot.Bar(22)})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 3, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation8() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), @annot.Bar(11), @annot.Bar(22), null, @annot.Bar(44)})");
-		String expected = "@annot.Foo({null, @annot.Bar(11), @annot.Bar(22), null, @annot.Bar(44)})";
-		this.assertSourceDoesNotContain(expected, cu);
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 3, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation9() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		String expected = "@annot.Foo({null, @annot.Bar(11), @annot.Bar(22)})";
-		ICompilationUnit cu = this.createTestType(expected);  // the source should be unchanged
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 0, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(3);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation10() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), @annot.Bar(11)})");
-		String expected = "@annot.Foo(@annot.Bar(00))";
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 2, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-		iaa.moveAnnotation(1);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation11() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(@annot.Bar(00))");
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 1, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceDoesNotContain("Bar", cu);
-	}
-
-	public void testMoveAnnotation12() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), null, @annot.Bar(22)})");
-		String expected = "@annot.Foo(@annot.Bar(22))";
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 2, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-	public void testMoveAnnotation13() throws Exception {
-		this.createAnnotationAndMembers("Bar", "int value();");
-		this.createAnnotationAndMembers("Foo", "annot.Bar[] value();");
-		ICompilationUnit cu = this.createTestType("@annot.Foo({@annot.Bar(00), @annot.Bar(11), null, @annot.Bar(33)})");
-		String expected = "@annot.Foo({@annot.Bar(33), @annot.Bar(11)})";
-
-		IndexedDeclarationAnnotationAdapter idaa = new NestedIndexedDeclarationAnnotationAdapter(
-				new SimpleDeclarationAnnotationAdapter("annot.Foo"), "value", 3, "annot.Bar");
-		IndexedAnnotationAdapter iaa = new ElementIndexedAnnotationAdapter(this.idField(cu), idaa);
-		Annotation annotation = iaa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		iaa.moveAnnotation(0);
-		this.assertSourceContains(expected, cu);
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/SimpleDeclarationAnnotationAdapterTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/SimpleDeclarationAnnotationAdapterTests.java
deleted file mode 100644
index 8c86b93..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/SimpleDeclarationAnnotationAdapterTests.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.MemberValuePair;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.NumberLiteral;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jdt.core.dom.StringLiteral;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-
-@SuppressWarnings("nls")
-public class SimpleDeclarationAnnotationAdapterTests extends AnnotationTestCase {
-
-	public SimpleDeclarationAnnotationAdapterTests(String name) {
-		super(name);
-	}
-
-	private void createAnnotation(String annotationName) throws Exception {
-		this.createAnnotation("annot", annotationName);
-	}
-
-	private void createAnnotation(String packageName, String annotationName) throws Exception {
-		this.javaProject.createCompilationUnit(packageName, annotationName + ".java", "public @interface " + annotationName + " {}");
-	}
-
-	public void testAnnotation1() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.Foo", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isMarkerAnnotation());
-	}
-
-	public void testAnnotation2() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(1) @annot.Foo(2)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("annot.Foo", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isSingleMemberAnnotation());
-		Expression value = ((SingleMemberAnnotation) annotation).getValue();
-		assertEquals(ASTNode.NUMBER_LITERAL, value.getNodeType());
-		assertEquals("1", ((NumberLiteral) value).getToken());
-	}
-
-	public void testAnnotation3() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType("annot.Foo", "@Foo");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-		assertEquals("Foo", annotation.getTypeName().getFullyQualifiedName());
-		assertTrue(annotation.isMarkerAnnotation());
-	}
-
-	public void testAnnotationNull1() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType();
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-	}
-
-	public void testAnnotationNull2() throws Exception {
-		this.createAnnotation("Foo");
-		this.createAnnotation("Fop");
-		ICompilationUnit cu = this.createTestType("@annot.Fop");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-		this.assertSourceContains("@annot.Fop", cu);
-	}
-
-	public void testAnnotationNull3() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		// un-qualified name
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-		this.assertSourceContains("@annot.Foo", cu);
-	}
-
-	public void testRemoveAnnotation1() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType("@annot.Foo");
-		this.assertSourceContains("@annot.Foo", cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("@annot.Foo", cu);
-	}
-
-	public void testRemoveAnnotation2() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(1) @annot.Foo(2)");
-		this.assertSourceContains("@annot.Foo(1) @annot.Foo(2)", cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.removeAnnotation();
-		this.assertSourceDoesNotContain("@annot.Foo(1)", cu);
-		this.assertSourceContains("@annot.Foo(2)", cu);
-	}
-
-	public void testNewMarkerAnnotation1() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("import annot.Foo;", cu);
-		this.assertSourceDoesNotContain("@Foo", cu);
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("import annot.Foo;", cu);
-		this.assertSourceContains("@Foo", cu);
-	}
-
-	public void testNewMarkerAnnotation2() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType("@annot.Foo(88)");
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		AnnotationAdapter aa = new ElementAnnotationAdapter(this.idField(cu), daa);
-		Annotation annotation = aa.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation);
-
-		aa.newMarkerAnnotation();
-		this.assertSourceContains("import annot.Foo;", cu);
-		this.assertSourceContains("@Foo", cu);
-		this.assertSourceDoesNotContain("@annot.Foo(88)", cu);
-	}
-
-	public void testNewSingleMemberAnnotation() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				SimpleDeclarationAnnotationAdapterTests.this.editNewSingleMemberAnnotation(declaration);
-			}
-		});
-		this.assertSourceContains("import annot.Foo;", cu);
-		this.assertSourceContains("@Foo(\"test string literal\")", cu);
-	}
-
-	void editNewSingleMemberAnnotation(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		SingleMemberAnnotation annotation = (SingleMemberAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newSingleMemberAnnotation(declaration);
-		StringLiteral stringLiteral = annotation.getAST().newStringLiteral();
-		stringLiteral.setLiteralValue("test string literal");
-		annotation.setValue(stringLiteral);
-	}
-
-	public void testNewNormalAnnotation() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Foo", cu);
-		this.idField(cu).edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				SimpleDeclarationAnnotationAdapterTests.this.editNewNormalAnnotation(declaration);
-			}
-		});
-		this.assertSourceContains("import annot.Foo;", cu);
-		this.assertSourceContains("@Foo(bar = \"test string literal\")", cu);
-	}
-
-	void editNewNormalAnnotation(ModifiedDeclaration declaration) {
-		DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-		NormalAnnotation annotation = (NormalAnnotation) daa.getAnnotation(declaration);
-		assertNull(annotation);
-		annotation = daa.newNormalAnnotation(declaration);
-		MemberValuePair mvp = this.newMemberValuePair(annotation.getAST(), "bar", "test string literal");
-		this.values(annotation).add(mvp);
-	}
-
-	public void testImportCollision1() throws Exception {
-		this.createAnnotation("annot1", "Foo");
-		this.createAnnotation("annot2", "Foo");
-		ICompilationUnit cu = this.createTestType();
-		this.assertSourceDoesNotContain("@Foo", cu);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot1.Foo");
-		DeclarationAnnotationAdapter daa2 = new SimpleDeclarationAnnotationAdapter("annot2.Foo");
-
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		Annotation annotation1 = aa1.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation1);
-
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation2 = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation2);
-
-		aa1.newMarkerAnnotation();
-		this.assertSourceContains("import annot1.Foo;", cu);
-		this.assertSourceContains("@Foo", cu);
-
-		aa2.newMarkerAnnotation();
-		this.assertSourceDoesNotContain("import annot2.Foo;", cu);
-		this.assertSourceContains("@annot2.Foo", cu);
-	}
-
-	public void testImportCollision2() throws Exception {
-		this.createAnnotation("annot1", "Foo");
-		this.createAnnotation("annot2", "Foo");
-		ICompilationUnit cu = this.createTestType("annot1.*", "@Foo");
-		this.assertSourceContains("import annot1.*;", cu);
-		this.assertSourceContains("@Foo", cu);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot1.Foo");
-		DeclarationAnnotationAdapter daa2 = new SimpleDeclarationAnnotationAdapter("annot2.Foo");
-
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		Annotation annotation1 = aa1.getAnnotation(this.buildASTRoot(cu));
-		assertNotNull(annotation1);
-
-		AnnotationAdapter aa2 = new ElementAnnotationAdapter(this.idField(cu), daa2);
-		Annotation annotation2 = aa2.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation2);
-
-		aa2.newMarkerAnnotation();
-		this.assertSourceDoesNotContain("import annot2.Foo;", cu);
-		this.assertSourceContains("@annot2.Foo", cu);
-	}
-
-	public void testImportWildCard() throws Exception {
-		this.createAnnotation("Foo");
-		ICompilationUnit cu = this.createTestType("annot.*", "");
-		this.assertSourceContains("import annot.*;", cu);
-		this.assertSourceDoesNotContain("@Foo", cu);
-		DeclarationAnnotationAdapter daa1 = new SimpleDeclarationAnnotationAdapter("annot.Foo");
-
-		AnnotationAdapter aa1 = new ElementAnnotationAdapter(this.idField(cu), daa1);
-		Annotation annotation1 = aa1.getAnnotation(this.buildASTRoot(cu));
-		assertNull(annotation1);
-
-		aa1.newMarkerAnnotation();
-		this.assertSourceDoesNotContain("import annot.Foo;", cu);
-		this.assertSourceContains("@Foo", cu);
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/TypeTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/TypeTests.java
deleted file mode 100644
index ebd80a4..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/TypeTests.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.core.tests.internal.utility.jdt;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.ICompilationUnit;
-
-@SuppressWarnings("nls")
-public class TypeTests extends AnnotationTestCase {
-
-	public TypeTests(String name) {
-		super(name);
-	}
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	protected ICompilationUnit createCompilationUnit(String source) throws CoreException {
-		return this.javaProject.createCompilationUnit(PACKAGE_NAME, FILE_NAME, source);
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	public void test1() throws Exception {
-		ICompilationUnit jdtCompilationUnit = this.createCompilationUnit(this.buildTest1Source());
-		assertNotNull(jdtCompilationUnit);
-	}
-
-	private String buildTest1Source() {
-		StringBuilder sb = new StringBuilder();
-		sb.append("public class ").append(TYPE_NAME).append(" {").append(CR);
-		sb.append("    private int id;").append(CR);
-		sb.append("    public int getId() {").append(CR);
-		sb.append("        return this.id;").append(CR);
-		sb.append("    }").append(CR);
-		sb.append("}").append(CR);
-		return sb.toString();
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/test.xml b/common/tests/org.eclipse.jpt.common.core.tests/test.xml
deleted file mode 100644
index 0034685..0000000
--- a/common/tests/org.eclipse.jpt.common.core.tests/test.xml
+++ /dev/null
Binary files differ
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/.classpath b/common/tests/org.eclipse.jpt.common.ui.tests/.classpath
deleted file mode 100644
index 62dd151..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/ui/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/.cvsignore b/common/tests/org.eclipse.jpt.common.ui.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/.project b/common/tests/org.eclipse.jpt.common.ui.tests/.project
deleted file mode 100644
index 0e0633e..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.common.ui.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/.settings/org.eclipse.jdt.core.prefs b/common/tests/org.eclipse.jpt.common.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 1da1cd1..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:06:44 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/META-INF/MANIFEST.MF b/common/tests/org.eclipse.jpt.common.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 8aa4fa0..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.common.ui.tests
-Bundle-Version: 1.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: 
- org.junit;bundle-version="4.3.1",
- org.eclipse.core.runtime;bundle-version="[3.6.100,4.0.0)",
- org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.common.ui;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.ui.forms;bundle-version="[3.5.100,4.0.0)",
- org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.ui.navigator;bundle-version="[3.5.0,4.0.0)"
-Export-Package: org.eclipse.jpt.common.ui.tests;x-internal:=true,
- org.eclipse.jpt.common.ui.tests.internal.jface;x-internal:=true,
- org.eclipse.jpt.common.ui.tests.internal.swt;x-internal:=true,
- org.eclipse.jpt.common.ui.tests.internal.util;x-internal:=true,
- org.eclipse.jpt.common.ui.tests.internal.utility.swt;x-internal:=true
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/build.properties b/common/tests/org.eclipse.jpt.common.ui.tests/build.properties
deleted file mode 100644
index 4dce676..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/plugin.properties b/common/tests/org.eclipse.jpt.common.ui.tests/plugin.properties
deleted file mode 100644
index 7b81997..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName=Dali Java Persistence Tools - Common UI Tests
-providerName=Eclipse Web Tools Platform
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/JptCommonUiTests.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/JptCommonUiTests.java
deleted file mode 100644
index bb3b72f..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/JptCommonUiTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.jpt.common.ui.tests.internal.swt.JptUiSWTTests;
-import org.eclipse.jpt.common.ui.tests.internal.util.JptUiUtilTests;
-
-/**
- * Runs all JPT UI Tests
- */
-public class JptCommonUiTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(JptCommonUiTests.class.getPackage().getName());
-		suite.addTest(JptUiSWTTests.suite());
-		suite.addTest(JptUiUtilTests.suite());
-		return suite;
-	}
-
-	private JptCommonUiTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java
deleted file mode 100644
index 74891f3..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java
+++ /dev/null
@@ -1,565 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.jface;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.BaseLabelProvider;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.jface.AbstractItemExtendedLabelProvider;
-import org.eclipse.jpt.common.ui.internal.jface.ItemTreeStateProviderManager;
-import org.eclipse.jpt.common.ui.internal.jface.StaticItemTreeContentProvider;
-import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProvider;
-import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProviderFactory;
-import org.eclipse.jpt.common.ui.jface.ItemLabelProvider;
-import org.eclipse.jpt.common.ui.jface.ItemTreeContentProvider;
-import org.eclipse.jpt.common.ui.jface.ItemTreeContentProviderFactory;
-import org.eclipse.jpt.common.ui.jface.TreeStateProvider;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
-import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-public class DelegatingLabelProviderUiTest extends ApplicationWindow
-{
-	private TreeViewer tree;
-	
-	private ModifiablePropertyValueModel<Vehicle> selectedVehicle;
-	
-	
-	public static void main(String[] args) {
-		Window window = new DelegatingLabelProviderUiTest(args);
-		window.setBlockOnOpen(true);
-		window.open();
-		Display.getCurrent().dispose();
-		System.exit(0);
-	}
-	
-	
-	private DelegatingLabelProviderUiTest(String[] args) {
-		super(null);
-		this.selectedVehicle = new SimplePropertyValueModel<Vehicle>();
-	}
-	
-	
-	@Override
-	protected Control createContents(Composite parent) {
-		((Shell) parent).setText(this.getClass().getSimpleName());
-		parent.setSize(400, 400);
-		parent.setLayout(new GridLayout());
-		Composite mainPanel = new Composite(parent, SWT.NONE);
-		mainPanel.setLayoutData(new GridData(GridData.FILL_BOTH));
-		mainPanel.setLayout(new GridLayout());
-		buildTreePanel(mainPanel);
-		buildControlPanel(mainPanel);
-		return mainPanel;
-	}
-	
-	private void buildTreePanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayoutData(new GridData(GridData.FILL_BOTH));
-		panel.setLayout(new GridLayout());
-		
-		Label label = new Label(panel, SWT.NONE);
-		label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
-		label.setText("My Vehicles");
-		
-		tree = new TreeViewer(panel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		tree.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
-		TreeStateProvider contentAndLabelProvider = 
-			new ItemTreeStateProviderManager(
-				new VehicleContentProviderFactory(),
-				new VehicleLabelProviderFactory());
-		tree.setContentProvider(contentAndLabelProvider);
-		tree.setLabelProvider(contentAndLabelProvider);
-		tree.setInput(new Root());
-		tree.addSelectionChangedListener(buildTreeSelectionChangedListener());
-	}
-	
-	private ISelectionChangedListener buildTreeSelectionChangedListener() {
-		return new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				selectedVehicle.setValue((Vehicle) ((IStructuredSelection) event.getSelection()).getFirstElement());
-			}
-		};
-	}
-	
-	private void buildControlPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-		panel.setLayout(new GridLayout());
-		buildUpperControlPanel(panel);
-		buildLowerControlPanel(panel);
-	}
-	
-	private void buildUpperControlPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-		panel.setLayout(new GridLayout(2, true));
-		buildVehicleCombo(panel);
-		buildColorCombo(panel);
-	}
-	
-	private void buildVehicleCombo(Composite parent) {
-		final ComboViewer combo = new ComboViewer(parent, SWT.READ_ONLY);
-		combo.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-		combo.setContentProvider(new ArrayContentProvider());
-		combo.setLabelProvider(new VehicleTypeLabelProvider());
-		combo.setInput(
-			new VehicleType[] {
-				VehicleType.BICYCLE, VehicleType.CAR, 
-				VehicleType.TRUCK, VehicleType.BOAT
-			});
-		combo.getCombo().setEnabled(false);
-		combo.addSelectionChangedListener(
-			new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					selectedVehicle().setVehicleType((VehicleType) ((StructuredSelection) event.getSelection()).getFirstElement()); 
-				}
-			});
-		selectedVehicle.addPropertyChangeListener(
-			PropertyValueModel.VALUE, 
-			new PropertyChangeListener() {
-				public void propertyChanged(PropertyChangeEvent event) {
-					Vehicle vehicle = selectedVehicle();
-					combo.getCombo().setEnabled(vehicle != null);
-					combo.setSelection(new StructuredSelection((vehicle == null) ? null : vehicle.vehicleType()));
-				}
-			});
-	}
-	
-	private void buildColorCombo(Composite parent) {
-		final ComboViewer combo = new ComboViewer(parent, SWT.READ_ONLY);
-		combo.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-		combo.setContentProvider(new ArrayContentProvider());
-		combo.setLabelProvider(new ColorLabelProvider());
-		combo.setInput(new Color[] {Color.RED, Color.BLUE, Color.YELLOW, Color.GREEN});
-		combo.addSelectionChangedListener(
-			new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					selectedVehicle().setColor((Color) ((StructuredSelection) event.getSelection()).getFirstElement()); 
-				}
-			});
-		selectedVehicle.addPropertyChangeListener(
-			PropertyValueModel.VALUE, 
-			new PropertyChangeListener() {
-				public void propertyChanged(PropertyChangeEvent event) {
-					Vehicle vehicle = selectedVehicle();
-					combo.getCombo().setEnabled(vehicle != null);
-					combo.setSelection(new StructuredSelection((vehicle == null) ? null : vehicle.color()));
-				}
-			});
-	}
-	
-	private void buildLowerControlPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-		panel.setLayout(new GridLayout(3, false));
-		buildEffectsLabel(panel);
-		buildGreyedCheckBox(panel);
-		buildTranslucentCheckBox(panel);
-		buildActionPanel(panel);
-	}
-	
-	private void buildEffectsLabel(Composite parent) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText("Color effects: ");
-		label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 3, 1));
-	}
-	
-	private void buildGreyedCheckBox(Composite parent) {
-		final Button button = new Button(parent, SWT.CHECK);
-		button.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
-		button.setText("greyed");
-		button.setEnabled(false);
-		button.addSelectionListener(
-			new SelectionAdapter() {
-				@Override
-				public void widgetSelected(SelectionEvent e) {
-					selectedVehicle().setGreyed(button.getSelection());
-				}
-			});
-		selectedVehicle.addPropertyChangeListener(
-			PropertyValueModel.VALUE, 
-			new PropertyChangeListener() {
-				public void propertyChanged(PropertyChangeEvent event) {
-					Vehicle vehicle = selectedVehicle();
-					button.setEnabled(vehicle != null);
-					button.setSelection(vehicle != null && vehicle.isGreyed());
-				}
-			});
-	}
-	
-	private void buildTranslucentCheckBox(Composite parent) {
-		final Button button = new Button(parent, SWT.CHECK);
-		button.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, true, false));
-		button.setText("translucent");
-		button.setEnabled(false);
-		button.addSelectionListener(
-			new SelectionAdapter() {
-				@Override
-				public void widgetSelected(SelectionEvent e) {
-					selectedVehicle().setTranslucent(button.getSelection());
-				}
-			});
-		selectedVehicle.addPropertyChangeListener(
-			PropertyValueModel.VALUE, 
-			new PropertyChangeListener() {
-				public void propertyChanged(PropertyChangeEvent event) {
-					Vehicle vehicle = selectedVehicle();
-					button.setEnabled(vehicle != null);
-					button.setSelection(vehicle != null && vehicle.isTranslucent());
-				}
-			});
-	}
-	
-	private void buildActionPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayoutData(new GridData(GridData.END, GridData.FILL, false, false));
-		panel.setLayout(new GridLayout());
-		buildRefreshTreeACI().fill(panel);
-	}
-	
-	private ActionContributionItem buildRefreshTreeACI() {
-		Action action = new Action("Refresh tree", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				refreshTree();
-			}
-		};
-		action.setToolTipText("Refresh the tree's labels");
-		return new ActionContributionItem(action);
-	}
-	
-	void refreshTree() {
-		tree.refresh();
-	}
-	
-	private Vehicle selectedVehicle() {
-		return selectedVehicle.getValue();
-	}
-	
-	
-	private static class VehicleTypeLabelProvider extends BaseLabelProvider
-		implements ILabelProvider
-	{
-		public Image getImage(Object element) {
-			return null;
-		}
-		
-		public String getText(Object element) {
-			return ((VehicleType) element).description();
-		}
-	}
-	
-	
-	private static class ColorLabelProvider extends BaseLabelProvider
-		implements ILabelProvider
-	{
-		public Image getImage(Object element) {
-			return null;
-		}
-		
-		public String getText(Object element) {
-			return ((Color) element).description();
-		}
-	}
-	
-	
-	private static class VehicleContentProviderFactory
-		implements ItemTreeContentProviderFactory
-	{
-		public ItemTreeContentProvider buildProvider(Object item, ItemTreeContentProvider.Manager manager) {
-			if (item instanceof Root) {
-				return this.buildRootProvider((Root) item);
-			}
-			return this.buildVehicleProvider((Vehicle) item);
-		}
-		protected ItemTreeContentProvider buildRootProvider(Root item) {
-			return new StaticItemTreeContentProvider(null, item.vehicles());
-		}
-		protected ItemTreeContentProvider buildVehicleProvider(Vehicle item) {
-			return new StaticItemTreeContentProvider(item.parent());
-		}
-	}
-	
-	
-	private static class VehicleLabelProviderFactory
-		implements ItemExtendedLabelProviderFactory
-	{
-		public ItemExtendedLabelProvider buildProvider(Object item, ItemExtendedLabelProvider.Manager manager) {
-			return new VehicleLabelProvider((Vehicle) item, manager);
-		}
-	}
-	
-	
-	private static class VehicleLabelProvider
-		extends AbstractItemExtendedLabelProvider<Vehicle>
-	{
-		public VehicleLabelProvider(Vehicle vehicle, ItemLabelProvider.Manager manager) {
-			super(vehicle, manager);
-		}
-		
-		@Override
-		protected PropertyValueModel<Image> buildImageModel() {
-			return new PropertyAspectAdapter<Vehicle, Image>(IMAGE_ASPECT_NAMES, this.item) {
-				@Override
-				protected Image buildValue_() {
-					return subject.image();
-				}
-			};
-		}
-		private static final String[] IMAGE_ASPECT_NAMES =
-				new String[] {
-					Vehicle.COLOR_PROPERTY,
-					Vehicle.GREYED_PROPERTY,
-					Vehicle.TRANSLUCENT_PROPERTY
-				};
-		
-		@Override
-		protected PropertyValueModel<String> buildTextModel() {
-			return new PropertyAspectAdapter<Vehicle, String>(TEXT_ASPECT_NAMES, this.item) {
-				@Override
-				protected String buildValue_() {
-					return subject.color().description() + ' ' + subject.vehicleType().description();
-				}
-			};
-		}
-		private static final String[] TEXT_ASPECT_NAMES =
-				new String[] {
-					Vehicle.VEHICLE_TYPE_PROPERTY,
-					Vehicle.COLOR_PROPERTY
-				};
-		
-		@Override
-		protected PropertyValueModel<String> buildDescriptionModel() {
-			return buildTextModel();
-		}
-	}
-	
-	
-	private static abstract class TreeNode extends AbstractModel
-	{
-		private TreeNode parent;
-		
-		
-		public TreeNode(TreeNode parent) {
-			this.parent = parent;
-		}
-		
-		
-		public TreeNode parent() {
-			return parent;
-		}
-	}
-	
-	
-	private static class Root extends TreeNode
-	{
-		protected final Vehicle[] vehicles;
-		
-		
-		public Root() {
-			super(null);
-			vehicles = new Vehicle[] {
-				new Vehicle(this, VehicleType.BICYCLE, Color.BLUE),
-				new Vehicle(this, VehicleType.CAR, Color.YELLOW),
-				new Vehicle(this, VehicleType.TRUCK, Color.RED),
-				new Vehicle(this, VehicleType.BOAT, Color.GREEN)};
-		}
-		
-		public Vehicle[] vehicles() {
-			return vehicles;
-		}
-	}
-	
-	
-	private static class Vehicle extends TreeNode
-	{
-		private VehicleType vehicleType;
-		public final static String VEHICLE_TYPE_PROPERTY = "vehicleType";
-		
-		private Color color;
-		public final static String COLOR_PROPERTY = "color";
-		
-		private boolean greyed = false;
-		public final static String GREYED_PROPERTY = "greyed";
-		
-		private boolean translucent = false;
-		public final static String TRANSLUCENT_PROPERTY = "translucent";
-		
-		private Image image;
-		
-			
-		public Vehicle(TreeNode parent, VehicleType vehicleType, Color color) {
-			super(parent);
-			this.vehicleType = vehicleType;
-			this.color = color;
-		}
-		
-		public VehicleType vehicleType() {
-			return vehicleType;
-		}
-		
-		public void setVehicleType(VehicleType newVehicleType) {
-			VehicleType oldVehicleType = vehicleType;
-			vehicleType = newVehicleType;
-			firePropertyChanged(VEHICLE_TYPE_PROPERTY, oldVehicleType, newVehicleType);
-		}
-		
-		public Color color() {
-			return color;
-		}
-		
-		public void setColor(Color newColor) {
-			Color oldColor = color;
-			color = newColor;
-			firePropertyChanged(COLOR_PROPERTY, oldColor, newColor);
-		}
-		
-		public boolean isGreyed() {
-			return greyed;
-		}
-		
-		public void setGreyed(boolean newGreyed) {
-			boolean oldGreyed = greyed;
-			greyed = newGreyed;
-			firePropertyChanged(GREYED_PROPERTY, oldGreyed, newGreyed);
-		}
-		
-		public boolean isTranslucent() {
-			return translucent;
-		}
-		
-		public void setTranslucent(boolean newTranslucent) {
-			boolean oldTranslucent = translucent;
-			translucent = newTranslucent;
-			firePropertyChanged(TRANSLUCENT_PROPERTY, oldTranslucent, newTranslucent);
-		}
-		
-		public Image image() {
-			if (image != null) {
-				image.dispose();
-			}
-			
-			return ImageFactory.image(color(), greyed, translucent);
-		}
-	}
-	
-	
-	private static enum VehicleType
-	{
-		BICYCLE("bicycle"),
-		CAR("car"),
-		TRUCK("truck"),
-		BOAT("boat");
-		
-		private final String description;
-		
-		private VehicleType(String description) {
-			this.description = description;
-		}
-		
-		public String description() {
-			return description;
-		}
-		
-		@Override
-		public String toString() {
-			return description();
-		}
-	}
-	
-	
-	private static enum Color
-	{
-		RED("red", new RGB(255, 0, 0)),
-		BLUE("blue", new RGB(0, 0, 255)),
-		YELLOW("yellow", new RGB(255, 255, 0)),
-		GREEN("green", new RGB(0, 255, 0));
-		
-		private final String description;
-		
-		private final RGB rgb;
-		
-		private Color(String description, RGB rgb) {
-			this.description = description;
-			this.rgb = rgb;
-		}
-		
-		public String description() {
-			return description;
-		}
-		
-		public RGB rgb() {
-			return rgb;
-		}
-		
-		@Override
-		public String toString() {
-			return description();
-		}
-	}
-	
-	
-	private static class ImageFactory
-	{
-		private static RGB rgb(Color color, boolean greyed, boolean translucent) {
-			RGB rgb = (greyed) ? new RGB(127, 127, 127) : color.rgb();
-			if (translucent) {
-				rgb = new RGB(translucify(rgb.red), translucify(rgb.green), translucify(rgb.blue));
-			}
-			return rgb;
-		}
-		
-		private static int translucify(int color) {
-			return 255 - (int) ((255 - color) * 0.3);
-		}
-		
-		public static Image image(Color color, boolean greyed, boolean translucent) {
-			PaletteData pd = new PaletteData(new RGB[] {rgb(color, greyed, translucent)});
-			ImageData id = new ImageData(20, 20, 1, pd);
-			for (int x = 0; x < 20; x ++) {
-				for (int y = 0; y < 20; y ++) {
-					id.setPixel(x, y, 0);
-				}
-			}
-			return new Image(Display.getCurrent(), id);
-		}
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingTreeContentProviderUiTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingTreeContentProviderUiTest.java
deleted file mode 100644
index fb8abd7..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingTreeContentProviderUiTest.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.jface;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.BaseLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.jface.AbstractItemTreeContentProvider;
-import org.eclipse.jpt.common.ui.internal.jface.ItemTreeStateProviderManager;
-import org.eclipse.jpt.common.ui.jface.ItemTreeContentProvider;
-import org.eclipse.jpt.common.ui.jface.ItemTreeContentProviderFactory;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.NotNullFilter;
-import org.eclipse.jpt.common.utility.internal.iterators.FilteringIterator;
-import org.eclipse.jpt.common.utility.internal.iterators.ReadOnlyListIterator;
-import org.eclipse.jpt.common.utility.internal.iterators.TransformationIterator;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.CompositeCollectionValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.ListCollectionValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.StaticCollectionValueModel;
-import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
-import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
-import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-@SuppressWarnings("nls")
-public class DelegatingTreeContentProviderUiTest extends ApplicationWindow
-{
-	private final Root root;
-
-	private ModifiablePropertyValueModel<TreeNode> selectedNode;
-
-	private TreeViewer controlTree;
-
-	private TreeViewer viewTree;
-
-	private Text nodeNameText;
-
-
-	public static void main(String[] args) {
-		Window window = new DelegatingTreeContentProviderUiTest(args);
-		window.setBlockOnOpen(true);
-		window.open();
-		Display.getCurrent().dispose();
-		System.exit(0);
-	}
-
-	private DelegatingTreeContentProviderUiTest(String[] args) {
-		super(null);
-		this.root = new Root();
-		this.root.addChild("Parent_1");
-		this.selectedNode = new SimplePropertyValueModel<TreeNode>(this.root);
-	}
-
-	@Override
-	protected Control createContents(Composite parent) {
-		((Shell) parent).setText(this.getClass().getSimpleName());
-		parent.setSize(800, 400);
-		parent.setLayout(new GridLayout());
-		Composite mainPanel = new Composite(parent, SWT.NONE);
-		mainPanel.setLayoutData(new GridData(GridData.FILL_BOTH));
-		mainPanel.setLayout(new GridLayout());
-		buildTreePanel(mainPanel);
-		buildControlPanel(mainPanel);
-		return mainPanel;
-	}
-
-	private void buildTreePanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayoutData(new GridData(GridData.FILL_BOTH));
-		panel.setLayout(new GridLayout(2, true));
-		buildControlTreePanel(panel);
-		buildViewTreePanel(panel);
-	}
-
-	private void buildControlTreePanel(Composite parent) {
-		controlTree = buildTreePanel(
-				parent, "Control tree",
-				new ItemTreeStateProviderManager(new ControlTreeItemContentProviderFactory()),
-				new LabelProvider());
-		controlTree.addSelectionChangedListener(buildTreeSelectionChangedListener());
-		selectedNode.addPropertyChangeListener(
-				PropertyValueModel.VALUE,
-				new PropertyChangeListener() {
-					public void propertyChanged(PropertyChangeEvent event) {
-						controlTree.setSelection(new StructuredSelection(event.getNewValue()));
-					}
-				}
-			);
-	}
-
-	private void buildViewTreePanel(Composite parent) {
-		viewTree = buildTreePanel(
-				parent, "View tree",
-				new ItemTreeStateProviderManager(new ViewItemTreeContentProviderFactory()),
-				new LabelProvider());
-	}
-
-	private TreeViewer buildTreePanel(Composite parent, String labelText, ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayoutData(new GridData(GridData.FILL_BOTH));
-		panel.setLayout(new GridLayout());
-
-		Label label = new Label(panel, SWT.LEFT);
-		label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
-		label.setText(labelText);
-
-		final TreeViewer tree = new TreeViewer(panel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		tree.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
-		tree.setContentProvider(contentProvider);
-		tree.setLabelProvider(labelProvider);
-		tree.setInput(root);
-
-		return tree;
-	}
-
-	private ISelectionChangedListener buildTreeSelectionChangedListener() {
-		return new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				TreeNode selection = (TreeNode) ((IStructuredSelection) event.getSelection()).getFirstElement();
-				selectedNode.setValue((selection == null) ? root : selection);
-			}
-		};
-	}
-
-	private void buildControlPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
-		panel.setLayout(new GridLayout(6, false));
-		buildNodeNameText(panel);
-		buildAddChildACI().fill(panel);
-		buildAddNestedChildACI().fill(panel);
-		buildRemoveACI().fill(panel);
-		buildClearModelACI().fill(panel);
-		buildRestoreModelACI().fill(panel);
-	}
-
-	private void buildNodeNameText(Composite parent) {
-		nodeNameText = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		nodeNameText.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-	}
-
-	private ActionContributionItem buildAddChildACI() {
-		final Action action = new Action("Add child", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				addChild();
-			}
-		};
-		action.setToolTipText("Add a child with the given name");
-		selectedNode.addPropertyChangeListener(
-				PropertyValueModel.VALUE,
-				new PropertyChangeListener() {
-					public void propertyChanged(PropertyChangeEvent event) {
-						action.setEnabled(((TreeNode) event.getNewValue()).canHaveChildren());
-					}
-				}
-			);
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildAddNestedChildACI() {
-		final Action action = new Action("Add nested child", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				addNestedChild();
-			}
-		};
-		action.setToolTipText("Add a nested child with the given name");
-		action.setEnabled(false);
-		selectedNode.addPropertyChangeListener(
-				PropertyValueModel.VALUE,
-				new PropertyChangeListener() {
-					public void propertyChanged(PropertyChangeEvent event) {
-						action.setEnabled(((TreeNode) event.getNewValue()).canHaveNestedChildren());
-					}
-				}
-			);
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildRemoveACI() {
-		final Action action = new Action("Remove", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				remove();
-			}
-		};
-		action.setToolTipText("Remove the selected node");
-		action.setEnabled(false);
-		selectedNode.addPropertyChangeListener(
-				PropertyValueModel.VALUE,
-				new PropertyChangeListener() {
-					public void propertyChanged(PropertyChangeEvent event) {
-						action.setEnabled(event.getNewValue() != root);
-					}
-				}
-			);
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildClearModelACI() {
-		Action action = new Action("Clear model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				clearModel();
-			}
-		};
-		action.setToolTipText("Clear the model");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildRestoreModelACI() {
-		Action action = new Action("Restore model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				restoreModel();
-			}
-		};
-		action.setToolTipText("Restore the model");
-		return new ActionContributionItem(action);
-	}
-
-	void addChild() {
-		String nodeName = nodeNameText.getText();
-		if (nodeName.length() != 0) {
-			selectedNode.getValue().addChild(nodeName);
-		}
-	}
-
-	void addNestedChild() {
-		String nodeName = nodeNameText.getText();
-		if (nodeName.length() != 0) {
-			selectedNode.getValue().addNestedChild(nodeName);
-		}
-	}
-
-	void remove() {
-		TreeNode node = selectedNode.getValue();
-		node.parent().removeChild(node);
-	}
-
-	void clearModel() {
-		controlTree.setInput(null);
-		viewTree.setInput(null);
-	}
-
-	void restoreModel() {
-		controlTree.setInput(root);
-		viewTree.setInput(root);
-	}
-
-
-	static abstract class AbstractTreeItemContentProviderFactory
-		implements ItemTreeContentProviderFactory
-	{
-		public ItemTreeContentProvider buildProvider(Object item, ItemTreeContentProvider.Manager manager) {
-			return new GenericItemTreeContentProvider((TreeNode) item, manager);
-		}
-	}
-
-
-	static class ControlTreeItemContentProviderFactory
-		extends AbstractTreeItemContentProviderFactory
-	{
-		// nothing
-	}
-
-
-	static class ViewItemTreeContentProviderFactory
-		extends AbstractTreeItemContentProviderFactory
-	{
-		@Override
-		public ItemTreeContentProvider buildProvider(Object item, ItemTreeContentProvider.Manager manager) {
-			if (item instanceof Parent) {
-				return new ViewParentItemTreeContentProvider((Parent) item, manager);
-			}
-			return super.buildProvider(item, manager);
-		}
-	}
-
-
-	static class GenericItemTreeContentProvider
-		extends AbstractItemTreeContentProvider<TreeNode, TreeNode>
-	{
-		public GenericItemTreeContentProvider(TreeNode treeNode, ItemTreeContentProvider.Manager manager) {
-			super(treeNode, manager);
-		}
-
-		public TreeNode getParent() {
-			return this.item.parent();
-		}
-
-		@Override
-		protected CollectionValueModel<TreeNode> buildChildrenModel() {
-			return new ListCollectionValueModelAdapter<TreeNode>(
-			new ListAspectAdapter<TreeNode, TreeNode>(TreeNode.CHILDREN_LIST, this.item) {
-				@Override
-				protected ListIterator<TreeNode> listIterator_() {
-					return this.subject.children();
-				}
-			});
-		}
-	}
-
-	static class ViewParentItemTreeContentProvider
-		extends GenericItemTreeContentProvider
-	{
-		public ViewParentItemTreeContentProvider(TreeNode treeNode, ItemTreeContentProvider.Manager manager) {
-			super(treeNode, manager);
-		}
-
-		@Override
-		public TreeNode getParent() {
-			TreeNode parent = super.getParent();
-			if (parent instanceof Nest) {
-				parent = parent.parent();
-			}
-			return parent;
-		}
-
-		@Override
-		protected CollectionValueModel<TreeNode> buildChildrenModel() {
-				return new CompositeCollectionValueModel<TreeNode, TreeNode>(super.buildChildrenModel()) {
-						@Override
-						protected CollectionValueModel<TreeNode> transform(TreeNode value) {
-							if (value instanceof Nest) {
-								final Nest nest = (Nest) value;
-								return new ListCollectionValueModelAdapter<TreeNode>(
-										new ListAspectAdapter<TreeNode, TreeNode>(TreeNode.CHILDREN_LIST, nest) {
-											@Override
-											protected ListIterator<TreeNode> listIterator_() {
-												return nest.children();
-											}
-										}
-									);
-							}
-							return new StaticCollectionValueModel<TreeNode>(CollectionTools.collection(value));
-						}
-					};
-		}
-	}
-
-
-	static class LabelProvider extends BaseLabelProvider
-		implements ILabelProvider
-	{
-		public Image getImage(Object element) {
-			return null;
-		}
-
-		public String getText(Object element) {
-			return ((TreeNode) element).getName();
-		}
-	}
-
-
-	static abstract class TreeNode extends AbstractModel
-	{
-		private TreeNode parent;
-
-		protected final List<TreeNode> children;
-		public final static String CHILDREN_LIST = "children";
-
-		protected String name;
-		public final static String NAME_PROPERTY = "name";
-
-
-		public TreeNode(TreeNode parent, String name) {
-			this.parent = parent;
-			this.children = new ArrayList<TreeNode>();
-			this.name = name;
-		}
-
-		public TreeNode parent() {
-			return parent;
-		}
-
-		public ListIterator<TreeNode> children() {
-			return new ReadOnlyListIterator<TreeNode>(children);
-		}
-
-		protected void addChild(TreeNode child) {
-			addItemToList(child, children, CHILDREN_LIST);
-		}
-
-		public void removeChild(TreeNode child) {
-			removeItemFromList(child, children, CHILDREN_LIST);
-		}
-
-		public void removeChild(int index) {
-			removeItemFromList(index, children, CHILDREN_LIST);
-		}
-
-		public String getName() {
-			return name;
-		}
-
-		public void setName(String newName) {
-			String oldName = name;
-			name = newName;
-			firePropertyChanged(NAME_PROPERTY, oldName, newName);
-		}
-
-		public boolean canHaveChildren() {
-			return false;
-		}
-
-		public void addChild(String name) {
-			throw new UnsupportedOperationException();
-		}
-
-		public boolean canHaveNestedChildren() {
-			return false;
-		}
-
-		public void addNestedChild(String name) {
-			throw new UnsupportedOperationException();
-		}
-
-		@Override
-		public void toString(StringBuilder sb) {
-			sb.append(getName());
-		}
-	}
-
-
-	static class Root extends TreeNode
-	{
-		public Root() {
-			super(null, null);
-		}
-
-		@Override
-		public boolean canHaveChildren() {
-			return true;
-		}
-
-		@Override
-		public void addChild(String name) {
-			addChild(new Parent(this, name));
-		}
-	}
-
-
-	static class Parent extends TreeNode
-	{
-		public Parent(TreeNode parent, String name) {
-			super(parent, name);
-		}
-
-		@Override
-		public boolean canHaveChildren() {
-			return true;
-		}
-
-		@Override
-		public void addChild(String name) {
-			addChild(new Child(this, name));
-		}
-
-		@Override
-		public boolean canHaveNestedChildren() {
-			return true;
-		}
-
-		@Override
-		public void addNestedChild(String name) {
-			TreeNode nest = new Nest(this);
-			addChild(nest);
-			nest.addChild(name);
-		}
-
-		public Iterator<Child> nestlessChildren() {
-			return new FilteringIterator<Child>(
-					new TransformationIterator<TreeNode, Child>(children()) {
-						@Override
-						protected Child transform(TreeNode next) {
-							if (next instanceof Nest) {
-								return ((Nest) next).child();
-							}
-							return (Child) next;
-						}
-					},
-					NotNullFilter.<Child>instance()
-				);
-		}
-	}
-
-
-	static class Nest extends TreeNode
-	{
-		public Nest(TreeNode parent) {
-			super(parent, "nest");
-		}
-
-		@Override
-		public boolean canHaveChildren() {
-			return children.size() == 0;
-		}
-
-		@Override
-		public void addChild(String name) {
-			addChild(new Child(this, name));
-		}
-
-		/* can only have one child */
-		public Child child() {
-			return (children.isEmpty()) ? null : (Child) children.get(0);
-		}
-	}
-
-
-	static class Child extends TreeNode
-	{
-		public Child(TreeNode parent, String name) {
-			super(parent, name);
-		}
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/AbstractComboModelAdapterTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/AbstractComboModelAdapterTest.java
deleted file mode 100644
index 5694020..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/AbstractComboModelAdapterTest.java
+++ /dev/null
@@ -1,777 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.swt;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jpt.common.ui.internal.swt.AbstractComboModelAdapter;
-import org.eclipse.jpt.common.ui.internal.swt.AbstractComboModelAdapter.SelectionChangeEvent;
-import org.eclipse.jpt.common.ui.internal.swt.AbstractComboModelAdapter.SelectionChangeListener;
-import org.eclipse.jpt.common.utility.internal.StringConverter;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimpleListValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.swing.SimpleDisplayable;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public abstract class AbstractComboModelAdapterTest {
-
-	private Model model;
-	private ModifiablePropertyValueModel<SimpleDisplayable> selectedItemHolder;
-	private Shell shell;
-	private ModifiablePropertyValueModel<Model> subjectHolder;
-
-	protected abstract AbstractComboModelAdapter<SimpleDisplayable> buildEditableComboModelAdapter();
-
-	protected final ListValueModel<SimpleDisplayable> buildEmptyListHolder() {
-		return new SimpleListValueModel<SimpleDisplayable>();
-	}
-
-	private List<SimpleDisplayable> buildList() {
-		List<SimpleDisplayable> list = new ArrayList<SimpleDisplayable>();
-		populateCollection(list);
-		return list;
-	}
-
-	protected final ListValueModel<SimpleDisplayable> buildListHolder() {
-		return new ListAspectAdapter<Model, SimpleDisplayable>(subjectHolder, Model.ITEMS_LIST) {
-			@Override
-			protected ListIterator<SimpleDisplayable> listIterator_() {
-				return subject.items();
-			}
-
-			@Override
-			protected int size_() {
-				return subject.itemsSize();
-			}
-		};
-	}
-
-	protected abstract AbstractComboModelAdapter<SimpleDisplayable> buildReadOnlyComboModelAdapter();
-
-	private SimpleDisplayable buildSelectedItem() {
-		return new SimpleDisplayable("baz");
-	}
-
-	private ModifiablePropertyValueModel<SimpleDisplayable> buildSelectedItemHolder() {
-		return new PropertyAspectAdapter<Model, SimpleDisplayable>(subjectHolder, Model.ITEM_PROPERTY) {
-			@Override
-			protected SimpleDisplayable buildValue_() {
-				return subject.getItem();
-			}
-
-			@Override
-			protected void setValue_(SimpleDisplayable value) {
-				subject.setItem(value);
-			}
-		};
-	}
-
-	protected final StringConverter<SimpleDisplayable> buildStringConverter() {
-		return new StringConverter<SimpleDisplayable>() {
-			public String convertToString(SimpleDisplayable value) {
-				return (value == null) ? "" : value.displayString();
-			}
-		};
-	}
-
-	private ModifiablePropertyValueModel<Model> buildSubjectHolder() {
-		return new SimplePropertyValueModel<Model>();
-	}
-
-	public abstract String comboSelectedItem();
-
-	protected abstract boolean emptyComboCanHaveSelectedValue();
-
-	protected abstract String itemAt(int index);
-
-	protected abstract int itemCounts();
-
-	private void populateCollection(Collection<SimpleDisplayable> c) {
-		c.add(new SimpleDisplayable("foo"));
-		c.add(new SimpleDisplayable("bar"));
-		c.add(new SimpleDisplayable("baz"));
-		c.add(new SimpleDisplayable("joo"));
-		c.add(new SimpleDisplayable("jar"));
-		c.add(new SimpleDisplayable("jaz"));
-	}
-
-	protected final ModifiablePropertyValueModel<SimpleDisplayable> selectedItemHolder() {
-		return selectedItemHolder;
-	}
-
-	@Before
-	public void setUp() throws Exception {
-
-		shell              = new Shell(Display.getCurrent());
-		model              = new Model();
-		subjectHolder      = buildSubjectHolder();
-		selectedItemHolder = buildSelectedItemHolder();
-	}
-
-	protected final Shell shell() {
-		return shell;
-	}
-
-	protected final ModifiablePropertyValueModel<Model> subjectHolder() {
-		return subjectHolder;
-	}
-
-	@After
-	public void tearDown() throws Exception {
-
-		if (!shell.isDisposed()) {
-			shell.dispose();
-		}
-
-		shell              = null;
-		subjectHolder      = null;
-		selectedItemHolder = null;
-	}
-
-	private void testItems() {
-
-		assertEquals(
-			"The count of items is not in sync with the model",
-			model.itemsSize(),
-			itemCounts()
-		);
-
-		for (int index = 0; index < model.itemsSize(); index++) {
-			assertEquals(
-				"The item at index " + index + " is not the same between the model and the combo",
-				model.itemAt(index).displayString(),
-				itemAt(index)
-			);
-		}
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_AddedAfter_ReadOnly() throws Exception {
-
-		buildReadOnlyComboModelAdapter();
-		testRemoveItems_AddedAfter();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_AddedAfter_RemoveItems_Editable() throws Exception {
-
-		buildEditableComboModelAdapter();
-		testRemoveItems_AddedAfter();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_AddedBefore_RemoveItems_Editable() throws Exception {
-
-		subjectHolder.setValue(model);
-		model.addItems(buildList());
-
-		buildEditableComboModelAdapter();
-		testSelectedItem(null);
-		testItems();
-
-		ArrayList<SimpleDisplayable> items = new ArrayList<SimpleDisplayable>();
-		items.add(model.itemAt(0));
-		items.add(model.itemAt(3));
-		model.removeItems(items.iterator());
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_AddedBefore_RemoveItems_ReadOnly() throws Exception {
-
-		subjectHolder.setValue(model);
-		model.addItems(buildList());
-
-		buildReadOnlyComboModelAdapter();
-		testSelectedItem(null);
-		testItems();
-
-		ArrayList<SimpleDisplayable> items = new ArrayList<SimpleDisplayable>();
-		items.add(model.itemAt(0));
-		items.add(model.itemAt(3));
-		model.removeItems(items.iterator());
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_NullSelectedItem_ItemsAfterAfter_Editable() throws Exception {
-
-		buildEditableComboModelAdapter();
-
-		subjectHolder.setValue(model);
-		model.addItems(buildList());
-
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_NullSelectedItem_ItemsAfterAfter_ReadOnly() throws Exception {
-
-		buildReadOnlyComboModelAdapter();
-
-		subjectHolder.setValue(model);
-		model.addItems(buildList());
-
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_NullSelectedItem_ItemsAfterBefore_Editable() throws Exception {
-
-		buildEditableComboModelAdapter();
-
-		model.addItems(buildList());
-		subjectHolder.setValue(model);
-
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_NullSelectedItem_ItemsAfterBefore_ReadOnly() throws Exception {
-
-		buildReadOnlyComboModelAdapter();
-
-		model.addItems(buildList());
-		subjectHolder.setValue(model);
-
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_NullSelectedItem_ItemsBefore_Editable() throws Exception {
-
-		model.addItems(buildList());
-		buildEditableComboModelAdapter();
-
-		subjectHolder.setValue(model);
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_NullSelectedItem_ItemsBefore_ReadOnly() throws Exception {
-
-		model.addItems(buildList());
-		buildReadOnlyComboModelAdapter();
-
-		subjectHolder.setValue(model);
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_NullSelectedItem_NoItems_Editable() throws Exception {
-
-		buildEditableComboModelAdapter();
-
-		subjectHolder.setValue(model);
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_NullSelectedItem_NoItems_ReadOnly() throws Exception {
-
-		buildReadOnlyComboModelAdapter();
-
-		subjectHolder.setValue(model);
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectAfter_SelectedItemChanged_ReadOnly() throws Exception {
-
-		subjectHolder.setValue(model);
-		model.addItems(buildList());
-
-		SimpleDisplayable selectedItem = model.itemAt(0);
-
-		AbstractComboModelAdapter<SimpleDisplayable> adapter = buildEditableComboModelAdapter();
-		SelectionListener selectionListener = new SelectionListener();
-		adapter.addSelectionChangeListener(selectionListener);
-
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-		testSelectedItem(null);
-
-		testSelectedItemChanged(selectedItem, selectionListener);
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NonNullSelectedItemAfter_Editable() throws Exception {
-
-		SimpleDisplayable selectedItem = buildSelectedItem();
-		subjectHolder.setValue(model);
-
-		buildEditableComboModelAdapter();
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-
-		testSelectedItem(selectedItem);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NonNullSelectedItemAfter_Items_Editable() throws Exception {
-
-		SimpleDisplayable selectedItem = buildSelectedItem();
-		subjectHolder.setValue(model);
-
-		buildEditableComboModelAdapter();
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-
-		testSelectedItem(selectedItem);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NonNullSelectedItemAfter_Items_ReadOnly() throws Exception {
-
-		List<SimpleDisplayable> list = buildList();
-		SimpleDisplayable selectedItem = list.get(0);
-		subjectHolder.setValue(model);
-
-		buildReadOnlyComboModelAdapter();
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-
-		testSelectedItem(selectedItem);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NonNullSelectedItemAfter_ReadOnly() throws Exception {
-
-		List<SimpleDisplayable> list = buildList();
-		SimpleDisplayable selectedItem = list.get(0);
-		subjectHolder.setValue(model);
-
-		buildReadOnlyComboModelAdapter();
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-
-		testSelectedItem(selectedItem);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NonNullSelectedItemBefore_Editable() throws Exception {
-
-		model.addItems(buildList());
-		SimpleDisplayable selectedItem = model.itemAt(0);
-		subjectHolder.setValue(model);
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-
-		model.clearItemCalledFlag();
-		buildEditableComboModelAdapter();
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-
-		testSelectedItem(selectedItem);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NonNullSelectedItemBefore_Items_Editable() throws Exception {
-
-		model.addItems(buildList());
-		SimpleDisplayable selectedItem = model.itemAt(0);
-		subjectHolder.setValue(model);
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-
-		model.clearItemCalledFlag();
-		buildEditableComboModelAdapter();
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-
-		testSelectedItem(selectedItem);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NonNullSelectedItemBefore_Items_ReadOnly() throws Exception {
-
-		List<SimpleDisplayable> list = buildList();
-		SimpleDisplayable selectedItem = list.get(0);
-		subjectHolder.setValue(model);
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-
-		model.clearItemCalledFlag();
-		buildReadOnlyComboModelAdapter();
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-
-		testSelectedItem(selectedItem);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NonNullSelectedItemBefore_ReadOnly() throws Exception {
-
-		List<SimpleDisplayable> list = buildList();
-		SimpleDisplayable selectedItem = list.get(0);
-		subjectHolder.setValue(model);
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-
-		model.clearItemCalledFlag();
-		buildReadOnlyComboModelAdapter();
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-
-		testSelectedItem(selectedItem);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NullSelectedItem_Items_Editable() throws Exception {
-
-		subjectHolder.setValue(model);
-
-		buildEditableComboModelAdapter();
-
-		assertFalse("The item wasn't supposed to be modified", model.isSetItemCalled());
-		assertNull("The selected item is supposed to remain null", model.getItem());
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NullSelectedItem_Items_ReadOnly() throws Exception {
-
-		subjectHolder.setValue(model);
-
-		buildEditableComboModelAdapter();
-
-		assertFalse("The item wasn't supposed to be modified", model.isSetItemCalled());
-		assertNull("The selected item is supposed to remain null", model.getItem());
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NullSelectedItem_NoItems_Editable() throws Exception {
-
-		subjectHolder.setValue(model);
-
-		buildEditableComboModelAdapter();
-
-		assertFalse("The item wasn't supposed to be modified", model.isSetItemCalled());
-		assertNull("The selected item is supposed to remain null", model.getItem());
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_NullSelectedItem_NoItems_ReadOnly() throws Exception {
-
-		subjectHolder.setValue(model);
-
-		buildEditableComboModelAdapter();
-
-		assertFalse("The item wasn't supposed to be modified", model.isSetItemCalled());
-		assertNull("The selected item is supposed to remain null", model.getItem());
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNonNullSubjectBefore_SelectedItemChanged_Editable() throws Exception {
-
-		model.addItems(buildList());
-
-		SimpleDisplayable selectedItem = model.itemAt(3);
-		subjectHolder.setValue(model);
-
-		AbstractComboModelAdapter<SimpleDisplayable> adapter = buildEditableComboModelAdapter();
-		SelectionListener selectionListener = new SelectionListener();
-		adapter.addSelectionChangeListener(selectionListener);
-
-		assertFalse("The selected item wasn't supposed to be modified", model.isSetItemCalled());
-		testSelectedItem(null);
-
-		testSelectedItemChanged(selectedItem, selectionListener);
-	}
-
-	private void testNullSubject() throws Exception {
-
-		assertNull("The selected item should be null", selectedItemHolder.getValue());
-
-		selectedItemHolder.setValue(buildSelectedItem());
-		assertFalse("The item wasn't supposed to be modified", model.isSetItemCalled());
-
-		// Null because the subject holder doesn't have the subject set
-		testSelectedItem(null);
-		testItems();
-	}
-
-	@Test
-	public void testNullSubject_NullSelectedItem_Items_Editable() throws Exception {
-		buildEditableComboModelAdapter();
-		testNullSubject();
-		testItems();
-		testSelectedItem(null);
-	}
-
-	@Test
-	public void testNullSubject_NullSelectedItem_Items_ReadOnly() throws Exception {
-		buildReadOnlyComboModelAdapter();
-		testNullSubject();
-		testItems();
-		testSelectedItem(null);
-	}
-
-	@Test
-	public void testNullSubject_NullSelectedItem_NoItems_Editable() throws Exception {
-		buildEditableComboModelAdapter();
-		testNullSubject();
-		testItems();
-		testSelectedItem(null);
-	}
-
-	@Test
-	public void testNullSubject_NullSelectedItem_NoItems_ReadOnly() throws Exception {
-		buildReadOnlyComboModelAdapter();
-		testNullSubject();
-		testItems();
-		testSelectedItem(null);
-	}
-
-	private void testRemoveItems_AddedAfter() {
-
-		subjectHolder.setValue(model);
-		model.addItems(buildList());
-
-		testSelectedItem(null);
-		testItems();
-		testSelectedItem(null);
-
-		ArrayList<SimpleDisplayable> items = new ArrayList<SimpleDisplayable>();
-		items.add(model.itemAt(0));
-		items.add(model.itemAt(3));
-		model.removeItems(items.iterator());
-
-		testItems();
-		testSelectedItem(null);
-	}
-
-	private void testSelectedItem(SimpleDisplayable selectedItem) {
-
-		if (selectedItem == null) {
-
-			assertNull(
-				"The selected item is supposed to be null",
-				model.getItem()
-			);
-
-			assertEquals(
-				"The combo's selected item should be null",
-				"",
-				comboSelectedItem()
-			);
-		}
-		else if (!emptyComboCanHaveSelectedValue()) {
-
-			assertEquals(
-				"The selected item wasn't set correctly",
-				selectedItem,
-				model.getItem()
-			);
-
-			assertEquals(
-				"The combo's selected item should be null",
-				"",
-				comboSelectedItem()
-			);
-		}
-		else {
-
-			assertEquals(
-				"The selected item wasn't set correctly",
-				selectedItem,
-				model.getItem()
-			);
-
-			assertEquals(
-				"The selected item wasn't set correctly",
-				selectedItem.displayString(),
-				comboSelectedItem()
-			);
-		}
-	}
-
-	private void testSelectedItemChanged(SimpleDisplayable selectedItem,
-	                                     SelectionListener selectionListener) {
-
-		// Test 1
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-		assertTrue("The SelectionListener was supposed to be notified", selectionListener.isListenerNotified());
-		assertSame("The SelectionListener was supposed to be notified", selectedItem, selectionListener.getItem());
-		testSelectedItem(selectedItem);
-
-		// Test 2
-		selectedItem = model.itemAt(1);
-		model.clearItemCalledFlag();
-		selectionListener.clearInfo();
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-		assertTrue("The SelectionListener was supposed to be notified", selectionListener.isListenerNotified());
-		assertSame("The SelectionListener was supposed to be notified", selectedItem, selectionListener.getItem());
-		testSelectedItem(selectedItem);
-
-		// Test 3
-		selectedItem = null;
-		model.clearItemCalledFlag();
-		selectionListener.clearInfo();
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertNull("The selected item wasn't set properly", model.getItem());
-		assertTrue("The SelectionListener was supposed to be notified", selectionListener.isListenerNotified());
-		assertSame("The SelectionListener was supposed to be notified", selectedItem, selectionListener.getItem());
-		testSelectedItem(selectedItem);
-
-		// Test 3
-		selectedItem = model.itemAt(2);
-		model.clearItemCalledFlag();
-		selectionListener.clearInfo();
-
-		model.setItem(selectedItem);
-		assertTrue("The selected item was supposed to be modified", model.isSetItemCalled());
-		assertSame("The selected item wasn't set properly", selectedItem, model.getItem());
-		assertTrue("The SelectionListener was supposed to be notified", selectionListener.isListenerNotified());
-		assertSame("The SelectionListener was supposed to be notified", selectedItem, selectionListener.getItem());
-		testSelectedItem(selectedItem);
-	}
-
-	private static class Model extends AbstractModel {
-
-		private SimpleDisplayable item;
-		private List<SimpleDisplayable> items = new ArrayList<SimpleDisplayable>();
-		private boolean setItemCalled;
-
-		static final String ITEM_PROPERTY = "item";
-		static final String ITEMS_LIST = "items";
-
-		void addItems(Iterator<SimpleDisplayable> items) {
-			addItemsToList(items, this.items, ITEMS_LIST);
-		}
-
-		void addItems(List<SimpleDisplayable> items) {
-			addItemsToList(items, this.items, ITEMS_LIST);
-		}
-
-		void clearItemCalledFlag() {
-			setItemCalled = false;
-		}
-
-		SimpleDisplayable getItem() {
-			return item;
-		}
-
-		boolean isSetItemCalled() {
-			return setItemCalled;
-		}
-
-		SimpleDisplayable itemAt(int index) {
-			return this.items.get(index);
-		}
-
-		ListIterator<SimpleDisplayable> items() {
-			return items.listIterator();
-		}
-
-		int itemsSize() {
-			return items.size();
-		}
-
-		void removeItems(Iterator<SimpleDisplayable> items) {
-			removeItemsFromList(items, this.items, ITEMS_LIST);
-		}
-
-		void setItem(SimpleDisplayable item) {
-			setItemCalled = true;
-
-			SimpleDisplayable oldItem = this.item;
-			this.item = item;
-			firePropertyChanged(ITEM_PROPERTY, oldItem, item);
-		}
-	}
-
-	private class SelectionListener implements SelectionChangeListener<SimpleDisplayable> {
-
-		private SimpleDisplayable item;
-		private boolean listenerNotified;
-
-		void clearInfo() {
-			this.listenerNotified = false;
-			this.item = null;
-		}
-
-		SimpleDisplayable getItem() {
-			return item;
-		}
-
-		public boolean isListenerNotified() {
-			return listenerNotified;
-		}
-
-		public void selectionChanged(SelectionChangeEvent<SimpleDisplayable> e) {
-			listenerNotified = true;
-			item = e.selectedItem();
-		}
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/ComboModelAdapterTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/ComboModelAdapterTest.java
deleted file mode 100644
index f237931..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/ComboModelAdapterTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.swt;
-
-import org.eclipse.jpt.common.ui.internal.swt.AbstractComboModelAdapter;
-import org.eclipse.jpt.common.ui.internal.swt.ComboModelAdapter;
-import org.eclipse.jpt.common.utility.internal.swing.SimpleDisplayable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.junit.After;
-
-public class ComboModelAdapterTest extends AbstractComboModelAdapterTest {
-
-	private Combo combo;
-	private boolean editable;
-
-	@Override
-	protected AbstractComboModelAdapter<SimpleDisplayable> buildEditableComboModelAdapter() {
-
-		combo = new Combo(shell(), SWT.NULL);
-		editable = true;
-
-		return ComboModelAdapter.adapt(
-			buildListHolder(),
-			selectedItemHolder(),
-			combo,
-			buildStringConverter()
-		);
-	}
-
-	@Override
-	protected AbstractComboModelAdapter<SimpleDisplayable> buildReadOnlyComboModelAdapter() {
-
-		combo = new Combo(shell(), SWT.READ_ONLY);
-		editable = false;
-
-		return ComboModelAdapter.adapt(
-			buildListHolder(),
-			selectedItemHolder(),
-			combo,
-			buildStringConverter()
-		);
-	}
-
-	@Override
-	public String comboSelectedItem() {
-		return combo.getText();
-	}
-
-	@Override
-	protected boolean emptyComboCanHaveSelectedValue() {
-		return editable;
-	}
-
-	@Override
-	protected String itemAt(int index) {
-		return this.combo.getItem(index);
-	}
-
-	@Override
-	protected int itemCounts() {
-		return combo.getItemCount();
-	}
-
-	@After
-	@Override
-	public void tearDown() throws Exception {
-		super.tearDown();
-		combo = null;
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/JptUiSWTTests.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/JptUiSWTTests.java
deleted file mode 100644
index fb7f5d3..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/JptUiSWTTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.swt;
-
-import junit.framework.JUnit4TestAdapter;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-@SuiteClasses
-({
-	ComboModelAdapterTest.class,
-	SpinnerModelAdapterTest.class,
-	TableModelAdapterTest.class
-})
-@RunWith(Suite.class)
-public final class JptUiSWTTests {
-
-	private JptUiSWTTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(new JUnit4TestAdapter(JptUiSWTTests.class));
-		return suite;
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/SpinnerModelAdapterTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/SpinnerModelAdapterTest.java
deleted file mode 100644
index 205d5bb..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/SpinnerModelAdapterTest.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.swt;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import org.eclipse.jpt.common.ui.internal.swt.SpinnerModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Spinner;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public class SpinnerModelAdapterTest {
-
-	private Model model;
-	private Shell shell;
-	private ModifiablePropertyValueModel<Model> subjectHolder;
-
-	private ModifiablePropertyValueModel<Model> buildSubjectHolder() {
-		return new SimplePropertyValueModel<Model>();
-	}
-
-	private ModifiablePropertyValueModel<Integer> buildValueHolder() {
-		return new PropertyAspectAdapter<Model, Integer>(subjectHolder, Model.VALUE_PROPERTY) {
-			@Override
-			protected Integer buildValue_() {
-				return subject.getValue();
-			}
-
-			@Override
-			protected void setValue_(Integer value) {
-				subject.setValue(value);
-			}
-		};
-	}
-
-	@Before
-	public void setUp() throws Exception {
-
-		shell              = new Shell(Display.getCurrent());
-		model              = new Model();
-		subjectHolder      = buildSubjectHolder();
-	}
-
-	@After
-	public void tearDown() throws Exception {
-
-		if (!shell.isDisposed()) {
-			shell.dispose();
-		}
-
-		shell         = null;
-		subjectHolder = null;
-	}
-
-	@Test
-	public void testDisposed() {
-
-		int value = 2;
-		model.setValue(value);
-		model.clearSetValueCalledFlag();
-		subjectHolder.setValue(model);
-
-		Spinner spinner = new Spinner(shell, SWT.NULL);
-		ModifiablePropertyValueModel<Integer> numberHolder = buildValueHolder();
-		int defaultValue = 1;
-
-		SpinnerModelAdapter.adapt(
-			numberHolder,
-			spinner,
-			defaultValue
-		);
-
-		assertEquals(
-			"The spinner's value should be coming from the model",
-			value,
-			spinner.getSelection()
-		);
-
-		assertEquals(
-			"The number holder's value should be the model's value",
-			model.getValue(),
-			numberHolder.getValue()
-		);
-
-		assertFalse(
-			"The model should not have received the value during initialization",
-			model.isSetValueCalled()
-		);
-
-		// Change the value in the model
-		spinner.dispose();
-
-		value = 4;
-		model.setValue(value);
-
-		assertEquals(
-			"The model's value was somehow changed",
-			Integer.valueOf(value),
-			model.getValue()
-		);
-	}
-
-	@Test
-	public void testInitialization_1() {
-
-		Spinner spinner = new Spinner(shell, SWT.NULL);
-		ModifiablePropertyValueModel<Integer> numberHolder = new SimplePropertyValueModel<Integer>();
-		int defaultValue = 1;
-
-		SpinnerModelAdapter.adapt(
-			numberHolder,
-			spinner,
-			defaultValue
-		);
-
-		assertEquals(
-			"The spinner's value should be the default value",
-			defaultValue,
-			spinner.getSelection()
-		);
-
-		assertNull(
-			"The number holder's value should be null",
-			numberHolder.getValue()
-		);
-	}
-
-	@Test
-	public void testInitialization_2() {
-
-		Spinner spinner = new Spinner(shell, SWT.NULL);
-		ModifiablePropertyValueModel<Integer> numberHolder = buildValueHolder();
-		int defaultValue = 1;
-
-		SpinnerModelAdapter.adapt(
-			numberHolder,
-			spinner,
-			defaultValue
-		);
-
-		assertEquals(
-			"The spinner's value should be the default value",
-			defaultValue,
-			spinner.getSelection()
-		);
-
-		assertNull(
-			"The number holder's value should be null",
-			numberHolder.getValue()
-		);
-	}
-
-	@Test
-	public void testInitialization_3() {
-
-		subjectHolder.setValue(model);
-
-		Spinner spinner = new Spinner(shell, SWT.NULL);
-		ModifiablePropertyValueModel<Integer> numberHolder = buildValueHolder();
-		int defaultValue = 1;
-
-		SpinnerModelAdapter.adapt(
-			numberHolder,
-			spinner,
-			defaultValue
-		);
-
-		assertEquals(
-			"The spinner's value should be the default value",
-			defaultValue,
-			spinner.getSelection()
-		);
-
-		assertNull(
-			"The number holder's value should be null",
-			numberHolder.getValue()
-		);
-
-		assertFalse(
-			"The model should not have received the value during initialization",
-			model.isSetValueCalled()
-		);
-	}
-
-	@Test
-	public void testInitialization_4() {
-
-		int value = 2;
-		model.setValue(value);
-		model.clearSetValueCalledFlag();
-		subjectHolder.setValue(model);
-
-		Spinner spinner = new Spinner(shell, SWT.NULL);
-		ModifiablePropertyValueModel<Integer> numberHolder = buildValueHolder();
-		int defaultValue = 1;
-
-		SpinnerModelAdapter.adapt(
-			numberHolder,
-			spinner,
-			defaultValue
-		);
-
-		assertEquals(
-			"The spinner's value should be the value coming from the model",
-			value,
-			spinner.getSelection()
-		);
-
-		assertEquals(
-			"The number holder's value should be " + value,
-			Integer.valueOf(value),
-			numberHolder.getValue()
-		);
-
-		assertFalse(
-			"The model should not have received the value during initialization",
-			model.isSetValueCalled()
-		);
-	}
-
-	@Test
-	public void testValueChanged() {
-
-		int value = 2;
-		model.setValue(value);
-		model.clearSetValueCalledFlag();
-		subjectHolder.setValue(model);
-
-		Spinner spinner = new Spinner(shell, SWT.NULL);
-		ModifiablePropertyValueModel<Integer> numberHolder = buildValueHolder();
-		int defaultValue = 1;
-
-		SpinnerModelAdapter.adapt(
-			numberHolder,
-			spinner,
-			defaultValue
-		);
-
-		assertEquals(
-			"The spinner's value should be coming from the model",
-			value,
-			spinner.getSelection()
-		);
-
-		assertEquals(
-			"The number holder's value should be the model's value",
-			model.getValue(),
-			numberHolder.getValue()
-		);
-
-		assertFalse(
-			"The model should not have received the value during initialization",
-			model.isSetValueCalled()
-		);
-
-		// Change the value in the model
-		value = 4;
-		model.setValue(value);
-
-		assertEquals(
-			"The spinner's value should be coming from the model",
-			value,
-			spinner.getSelection()
-		);
-
-		assertEquals(
-			"The model's value was somehow changed",
-			Integer.valueOf(value),
-			model.getValue()
-		);
-
-		// Change the value from the spinner
-		value = 6;
-		spinner.setSelection(value);
-
-		assertEquals(
-			"The spinner's value should be the new value set",
-			value,
-			spinner.getSelection()
-		);
-
-		assertEquals(
-			"The model's value was supposed to be updated",
-			Integer.valueOf(value),
-			model.getValue()
-		);
-
-		// Disconnect from model
-		subjectHolder.setValue(null);
-
-		assertEquals(
-			"The spinner's value should be the default value",
-			defaultValue,
-			spinner.getSelection()
-		);
-	}
-
-	private static class Model extends AbstractModel {
-
-		private boolean setValueCalled;
-		private Integer value;
-
-		static final String VALUE_PROPERTY = "value";
-
-		void clearSetValueCalledFlag() {
-			setValueCalled = false;
-		}
-
-		Integer getValue() {
-			return value;
-		}
-
-		boolean isSetValueCalled() {
-			return setValueCalled;
-		}
-
-		void setValue(Integer value) {
-			setValueCalled = true;
-
-			Integer oldValue = this.value;
-			this.value = value;
-			firePropertyChanged(VALUE_PROPERTY, oldValue, value);
-		}
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/TableModelAdapterTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/TableModelAdapterTest.java
deleted file mode 100644
index 6e102a9..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/TableModelAdapterTest.java
+++ /dev/null
@@ -1,1201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.swt;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jpt.common.ui.internal.swt.ColumnAdapter;
-import org.eclipse.jpt.common.ui.internal.swt.TableModelAdapter;
-import org.eclipse.jpt.common.ui.internal.swt.TableModelAdapter.SelectionChangeEvent;
-import org.eclipse.jpt.common.ui.internal.swt.TableModelAdapter.SelectionChangeListener;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyCollectionValueModelAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.CollectionValueModel;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public class TableModelAdapterTest {
-
-	private Shell shell;
-	private ModifiablePropertyValueModel<Manager> subjectHolder;
-
-	private ColumnAdapter<Employee> buildColumnAdapter() {
-		return new TableColumnAdapter();
-	}
-
-	private ModifiablePropertyValueModel<Employee> buildEmployeeHolder() {
-		return new SimplePropertyValueModel<Employee>();
-	}
-
-	private SimpleCollectionValueModel<Employee> buildEmployeeHolders() {
-		return new SimpleCollectionValueModel<Employee>();
-	}
-
-	private ListValueModel<Employee> buildEmployeeListHolder() {
-		return new ListAspectAdapter<Manager, Employee>(subjectHolder, Manager.EMPLOYEES_LIST) {
-			@Override
-			protected ListIterator<Employee> listIterator_() {
-				return subject.employees();
-			}
-
-			@Override
-			protected int size_() {
-				return subject.employeesSize();
-			}
-		};
-	}
-
-	private ITableLabelProvider buildLabelProvider() {
-		return new TableLabelProvider();
-	}
-
-	private SelectionChangeListener<Employee> buildSelectionChangeListener(final Collection<Employee> employees) {
-		return new SelectionChangeListener<Employee>() {
-			public void selectionChanged(SelectionChangeEvent<Employee> e) {
-				employees.clear();
-				CollectionTools.addAll(employees, e.selection());
-			}
-		};
-	}
-
-	private ModifiablePropertyValueModel<Manager> buildSubjectHolder() {
-		return new SimplePropertyValueModel<Manager>();
-	}
-
-	@Before
-	public void setUp() throws Exception {
-
-		shell         = new Shell(Display.getCurrent());
-		subjectHolder = buildSubjectHolder();
-	}
-
-	@After
-	public void tearDown() throws Exception {
-
-		if (!shell.isDisposed()) {
-			shell.dispose();
-		}
-
-		shell         = null;
-		subjectHolder = null;
-	}
-
-	@Test
-	public void testChanged() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-
-		// Make sure the Table was populated
-		Assert.assertEquals("The number of TableItems should be 3", 3, table.getItemCount());
-
-		// Change the list of Employees
-		ArrayList<Employee> employees = new ArrayList<Employee>(3);
-		employees.add(employee3);
-		employees.add(employee2);
-		employees.add(employee1);
-		manager.changeEmployees(employees);
-
-		Assert.assertEquals("The number of TableItems should be 3", 3, table.getItemCount());
-
-		testTableItemProperties(table, 0, expectedName3, expectedManager3, expectedTitle3);
-		testTableItemProperties(table, 1, expectedName2, expectedManager2, expectedTitle2);
-		testTableItemProperties(table, 2, expectedName1, expectedManager1, expectedTitle1);
-	}
-
-	@Test
-	public void testCleared() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-
-		// Make sure the Table was populated
-		Assert.assertEquals("The number of TableItems should be 3", 3, table.getItemCount());
-
-		// Test removing them all
-		manager.removeAllEmployees();
-
-		Assert.assertEquals("The list holder should have been cleared", 0, listHolder.size());
-		Assert.assertEquals("The Table should have been cleared", 0, table.getItemCount());
-	}
-
-	@Test
-	public void testItemAdded() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create a new Employee
-		String expectedName    = "Dali";
-		String expectedManager = "WTP";
-		String expectedTitle   = "plug-in";
-
-		Employee employee = manager.addEmployee(expectedName, expectedTitle, expectedManager);
-		Assert.assertNotNull("The new Employee was not created", employee);
-
-		// Retrieve the TableItem representing the new Employee
-		int index = tableModel.indexOf(employee);
-		Assert.assertEquals("The new Employee was not added to the table model", 0, index);
-		Assert.assertEquals("The number of TableItem should be 1", 1, table.getItemCount());
-
-		testTableItemProperties(table, index, expectedName, expectedManager, expectedTitle);
-	}
-
-	@Test
-	public void testItemMoved() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-
-		// Make sure the Employees were added to the Table
-		Assert.assertEquals("The number of TableItem should be 3", 3, table.getItemCount());
-
-		// Move an Employee up the list
-		manager.moveEmployeeUp(employee2);
-
-		int index1 = tableModel.indexOf(employee1);
-		Assert.assertEquals("The Employee 1 was not moved in the table model", 1, index1);
-
-		int index2 = tableModel.indexOf(employee2);
-		Assert.assertEquals("The Employee 2 was not moved in the table model", 0, index2);
-
-		int index3 = tableModel.indexOf(employee3);
-		Assert.assertEquals("The Employee 3 should not have been moved in the table model", 2, index3);
-
-		testTableItemProperties(table, index1, expectedName1, expectedManager1, expectedTitle1);
-		testTableItemProperties(table, index2, expectedName2, expectedManager2, expectedTitle2);
-		testTableItemProperties(table, index3, expectedName3, expectedManager3, expectedTitle3);
-
-		// Move an Employee down the list
-		manager.moveEmployeeDown(employee1);
-
-		index1 = tableModel.indexOf(employee1);
-		Assert.assertEquals("The Employee 1 should not have been moved in the table model", 2, index1);
-
-		index2 = tableModel.indexOf(employee2);
-		Assert.assertEquals("The Employee 2 was not moved in the table model", 0, index2);
-
-		index3 = tableModel.indexOf(employee3);
-		Assert.assertEquals("The Employee 3 was not moved in the table model", 1, index3);
-
-		testTableItemProperties(table, index1, expectedName1, expectedManager1, expectedTitle1);
-		testTableItemProperties(table, index2, expectedName2, expectedManager2, expectedTitle2);
-		testTableItemProperties(table, index3, expectedName3, expectedManager3, expectedTitle3);
-	}
-
-	@Test
-	public void testItemRemoved() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create a new Employee
-		String expectedName    = "Dali";
-		String expectedManager = "WTP";
-		String expectedTitle   = "plug-in";
-
-		Employee employee = manager.addEmployee(expectedName, expectedTitle, expectedManager);
-		Assert.assertNotNull("The new Employee was not created", employee);
-		Assert.assertEquals("The number of TableItem should be 1", 1, table.getItemCount());
-
-		// Make sure it was added to the model
-		int index = tableModel.indexOf(employee);
-		Assert.assertEquals("The new Employee was not added to the table model", 0, index);
-		testTableItemProperties(table, index, expectedName, expectedManager, expectedTitle);
-
-		// Retrieve the TableItem representing the new Employee
-		TableItem tableItem = table.getItem(index);
-		Assert.assertNotNull("No TableItem was found for the new Employee", tableItem);
-
-		// Now test the item being removed
-		manager.removeEmployee(employee);
-		index = tableModel.indexOf(employee);
-		Assert.assertEquals("The Employee was not removed from the table model", -1, index);
-		Assert.assertEquals("The number of TableItem should be 0", 0, table.getItemCount());
-	}
-
-	@Test
-	public void testItemReplaced() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create a new Employee
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		Employee employee1 = manager.addEmployee(expectedName1, expectedTitle1, expectedManager1);
-		Assert.assertNotNull("The new Employee was not created", employee1);
-
-		// Make sure it was added to the model
-		int index1 = tableModel.indexOf(employee1);
-		Assert.assertEquals("The new Employee was not added to the table model", 0, index1);
-		Assert.assertEquals("The number of TableItem should be 1", 1, table.getItemCount());
-
-		// Retrieve the TableItem representing the new Employee
-		TableItem tableItem = table.getItem(index1);
-		Assert.assertNotNull("No TableItem was found for the new Employee", tableItem);
-
-		testTableItemProperties(table, index1, expectedName1, expectedManager1, expectedTitle1);
-
-		// Replace the Employee
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		manager.replace(employee1, employee2);
-
-		int index2 = tableModel.indexOf(employee2);
-		Assert.assertSame("The Employee that got replaced should be at index " + index1, index1, index2);
-		Assert.assertEquals("The number of TableItem should be 1", 1, table.getItemCount());
-
-		testTableItemProperties(table, index2, expectedName2, expectedManager2, expectedTitle2);
-	}
-
-	@Test
-	public void testItemsAdded() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-
-		// Retrieve the TableItems representing the employees
-		Assert.assertEquals("The number of TableItem should be 3", 3, table.getItemCount());
-
-		int index = tableModel.indexOf(employee1);
-		Assert.assertEquals("The Employee 1 was not added to the table model", 0, index);
-
-		index = tableModel.indexOf(employee2);
-		Assert.assertEquals("The Employee 2 was not added to the table model", 1, index);
-
-		index = tableModel.indexOf(employee3);
-		Assert.assertEquals("The Employee 3 was not added to the table model", 2, index);
-
-		// Make sure the TableItem was correctly populated
-		testTableItemProperties(table, 0, expectedName1, expectedManager1, expectedTitle1);
-		testTableItemProperties(table, 1, expectedName2, expectedManager2, expectedTitle2);
-		testTableItemProperties(table, 2, expectedName3, expectedManager3, expectedTitle3);
-	}
-
-	@Test
-	public void testItemsMoved() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		String expectedName4    = "Dali_4";
-		String expectedManager4 = "WTP_4";
-		String expectedTitle4   = "plug-in_4";
-
-		String expectedName5    = "Dali_5";
-		String expectedManager5 = "WTP_5";
-		String expectedTitle5   = "plug-in_5";
-
-		String expectedName6    = "Dali_6";
-		String expectedManager6 = "WTP_6";
-		String expectedTitle6   = "plug-in_6";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-		Employee employee4 = new Employee(expectedName4, expectedTitle4, expectedManager4);
-		Employee employee5 = new Employee(expectedName5, expectedTitle5, expectedManager5);
-		Employee employee6 = new Employee(expectedName6, expectedTitle6, expectedManager6);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-		manager.addEmployee(employee4);
-		manager.addEmployee(employee5);
-		manager.addEmployee(employee6);
-
-		// Make sure the Employees were added to the Table
-		Assert.assertEquals("The number of TableItem should be 6", 6, table.getItemCount());
-
-		// Move an Employee up the list
-		ArrayList<Employee> employees = new ArrayList<Employee>(3);
-		employees.add(employee3);
-		employees.add(employee4);
-		employees.add(employee5);
-		manager.moveEmployees(employees, 0);
-
-		int index1 = tableModel.indexOf(employee1);
-		int index2 = tableModel.indexOf(employee2);
-		int index3 = tableModel.indexOf(employee3);
-		int index4 = tableModel.indexOf(employee4);
-		int index5 = tableModel.indexOf(employee5);
-		int index6 = tableModel.indexOf(employee6);
-
-		Assert.assertEquals("The Employee 1 is not at the right index", 3, index1);
-		Assert.assertEquals("The Employee 2 is not at the right index", 4, index2);
-		Assert.assertEquals("The Employee 3 is not at the right index", 0, index3);
-		Assert.assertEquals("The Employee 4 is not at the right index", 1, index4);
-		Assert.assertEquals("The Employee 5 is not at the right index", 2, index5);
-		Assert.assertEquals("The Employee 6 is not at the right index", 5, index6);
-
-		testTableItemProperties(table, index1, expectedName1, expectedManager1, expectedTitle1);
-		testTableItemProperties(table, index2, expectedName2, expectedManager2, expectedTitle2);
-		testTableItemProperties(table, index3, expectedName3, expectedManager3, expectedTitle3);
-		testTableItemProperties(table, index4, expectedName4, expectedManager4, expectedTitle4);
-		testTableItemProperties(table, index5, expectedName5, expectedManager5, expectedTitle5);
-		testTableItemProperties(table, index6, expectedName6, expectedManager6, expectedTitle6);
-
-		// Move an Employee down the list
-		employees = new ArrayList<Employee>(2);
-		employees.add(employee1);
-		employees.add(employee2);
-		manager.moveEmployees(employees, 4);
-
-		index1 = tableModel.indexOf(employee1);
-		index2 = tableModel.indexOf(employee2);
-		index3 = tableModel.indexOf(employee3);
-		index4 = tableModel.indexOf(employee4);
-		index5 = tableModel.indexOf(employee5);
-		index6 = tableModel.indexOf(employee6);
-
-		Assert.assertEquals("The Employee 1 is not at the right index", 4, index1);
-		Assert.assertEquals("The Employee 2 is not at the right index", 5, index2);
-		Assert.assertEquals("The Employee 3 is not at the right index", 0, index3);
-		Assert.assertEquals("The Employee 4 is not at the right index", 1, index4);
-		Assert.assertEquals("The Employee 5 is not at the right index", 2, index5);
-		Assert.assertEquals("The Employee 6 is not at the right index", 3, index6);
-
-		testTableItemProperties(table, index1, expectedName1, expectedManager1, expectedTitle1);
-		testTableItemProperties(table, index2, expectedName2, expectedManager2, expectedTitle2);
-		testTableItemProperties(table, index3, expectedName3, expectedManager3, expectedTitle3);
-		testTableItemProperties(table, index4, expectedName4, expectedManager4, expectedTitle4);
-		testTableItemProperties(table, index5, expectedName5, expectedManager5, expectedTitle5);
-		testTableItemProperties(table, index6, expectedName6, expectedManager6, expectedTitle6);
-	}
-
-	@Test
-	public void testItemsRemoved() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-
-		// Retrieve the TableItems representing the employees
-		Assert.assertEquals("The number of TableItem should be 3", 3, table.getItemCount());
-
-		int index = tableModel.indexOf(employee1);
-		Assert.assertEquals("The Employee 1 was not added to the table model", 0, index);
-
-		index = tableModel.indexOf(employee2);
-		Assert.assertEquals("The Employee 2 was not added to the table model", 1, index);
-
-		index = tableModel.indexOf(employee3);
-		Assert.assertEquals("The Employee 3 was not added to the table model", 2, index);
-
-		// Remove 2 items
-		ArrayList<Employee> employees = new ArrayList<Employee>(2);
-		employees.add(employee1);
-		employees.add(employee3);
-		manager.removeEmployees(employees);
-
-		Assert.assertEquals("The number of TableItem should be 1", 1, table.getItemCount());
-	}
-
-	@Test
-	public void testPropertyChanged() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		ModifiablePropertyValueModel<Employee> selectedItemHolder = buildEmployeeHolder();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create a new Employee
-		String expectedName    = "Dali";
-		String expectedManager = "WTP";
-		String expectedTitle   = "plug-in";
-
-		Employee employee = manager.addEmployee(expectedName, expectedTitle, expectedManager);
-		Assert.assertNotNull("The new Employee was not created", employee);
-
-		// Make sure it was added to the model
-		int index = tableModel.indexOf(employee);
-		Assert.assertEquals("The new Employee was not added to the table model", 0, index);
-		Assert.assertEquals("The number of TableItem should be 1", 1, table.getItemCount());
-
-		// Retrieve the TableItem representing the new Employee
-		TableItem tableItem = table.getItem(index);
-		Assert.assertNotNull("No TableItem was found for the new Employee", tableItem);
-
-		// Name property
-		String actualName = tableItem.getText(TableColumnAdapter.NAME_COLUMN);
-		Assert.assertEquals("TableItem[NAME_COLUMN] was not set correctly", expectedName, actualName);
-
-		expectedName = "Jpt";
-		employee.setName(expectedName);
-
-		actualName = tableItem.getText(TableColumnAdapter.NAME_COLUMN);
-		Assert.assertEquals("TableItem[NAME_COLUMN] was not set correctly", expectedName, actualName);
-
-		// Manager property
-		String actualManager = tableItem.getText(TableColumnAdapter.MANAGER_COLUMN);
-		Assert.assertEquals("TableItem[MANAGER_COLUMN] was not set correctly", expectedManager, actualManager);
-
-		expectedManager = "boss";
-		employee.setManager(expectedManager);
-
-		actualManager = tableItem.getText(TableColumnAdapter.MANAGER_COLUMN);
-		Assert.assertEquals("TableItem[MANAGER_COLUMN] was not set correctly", expectedManager, actualManager);
-
-		// Title property
-		String actualTitle = tableItem.getText(TableColumnAdapter.TITLE_COLUMN);
-		Assert.assertEquals("TableItem[TITLE_COLUMN] was not set correctly", expectedTitle, actualTitle);
-
-		expectedTitle = "EclipseLink";
-		employee.setTitle(expectedTitle);
-
-		actualTitle = tableItem.getText(TableColumnAdapter.TITLE_COLUMN);
-		Assert.assertEquals("TableItem[TITLE_COLUMN] was not set correctly", expectedTitle, actualTitle);
-	}
-
-	@Test
-	public void testSelectedItemsAddedRemoved() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		SimpleCollectionValueModel<Employee> selectedItemsHolder = buildEmployeeHolders();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemsHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-
-		// Test adding selected items
-		ArrayList<Employee> employees = new ArrayList<Employee>(2);
-		employees.add(employee1);
-		employees.add(employee3);
-		selectedItemsHolder.addAll(employees);
-
-		Collection<Employee> actualEmployees = tableModel.selectedItems();
-		Assert.assertNotNull("The collection of selected items can't be null", actualEmployees);
-		Assert.assertEquals("The count of selected items should be 2", 2, actualEmployees.size());
-
-		actualEmployees.remove(employee1);
-		actualEmployees.remove(employee3);
-
-		Assert.assertTrue("The selected items was not retrieved correctly", actualEmployees.isEmpty());
-
-		// Test removing selected items
-		selectedItemsHolder.remove(employee1);
-
-		actualEmployees = tableModel.selectedItems();
-		Assert.assertNotNull("The collection of selected items can't be null", actualEmployees);
-		Assert.assertEquals("The count of selected items should be 1", 1, actualEmployees.size());
-
-		actualEmployees.remove(employee3);
-
-		Assert.assertTrue("The selected items was not retrieved correctly", actualEmployees.isEmpty());
-	}
-
-	@Test
-	public void testSelectedItemsCleared() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		ListValueModel<Employee> listHolder = buildEmployeeListHolder();
-		SimpleCollectionValueModel<Employee> selectedItemsHolder = buildEmployeeHolders();
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			listHolder,
-			selectedItemsHolder,
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-
-		// Test adding selected items
-		ArrayList<Employee> employees = new ArrayList<Employee>(2);
-		employees.add(employee1);
-		employees.add(employee3);
-		selectedItemsHolder.addAll(employees);
-
-		Collection<Employee> actualEmployees = tableModel.selectedItems();
-		Assert.assertNotNull("The collection of selected items can't be null", actualEmployees);
-		Assert.assertEquals("The count of selected items should be 2", 2, actualEmployees.size());
-
-		actualEmployees.remove(employee1);
-		actualEmployees.remove(employee3);
-		Assert.assertTrue("The selected items was not retrieved correctly", actualEmployees.isEmpty());
-
-		// Test removing selected items
-		selectedItemsHolder.clear();
-
-		actualEmployees = tableModel.selectedItems();
-		Assert.assertNotNull("The collection of selected items can't be null", actualEmployees);
-		Assert.assertEquals("The count of selected items should be ", 0, actualEmployees.size());
-	}
-
-	@Test
-	public void testSelectionChangeListener() {
-
-		Table table = new Table(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
-
-		Manager manager = new Manager();
-		subjectHolder.setValue(manager);
-
-		TableModel tableModel = new TableModel(
-			buildEmployeeListHolder(),
-			buildEmployeeHolder(),
-			table,
-			buildColumnAdapter(),
-			buildLabelProvider()
-		);
-
-		Collection<Employee> employees = new ArrayList<Employee>();
-		tableModel.addSelectionChangeListener(buildSelectionChangeListener(employees));
-
-		// Create Employees
-		String expectedName1    = "Dali_1";
-		String expectedManager1 = "WTP_1";
-		String expectedTitle1   = "plug-in_1";
-
-		String expectedName2    = "Dali_2";
-		String expectedManager2 = "WTP_2";
-		String expectedTitle2   = "plug-in_2";
-
-		String expectedName3    = "Dali_3";
-		String expectedManager3 = "WTP_3";
-		String expectedTitle3   = "plug-in_3";
-
-		Employee employee1 = new Employee(expectedName1, expectedTitle1, expectedManager1);
-		Employee employee2 = new Employee(expectedName2, expectedTitle2, expectedManager2);
-		Employee employee3 = new Employee(expectedName3, expectedTitle3, expectedManager3);
-
-		manager.addEmployee(employee1);
-		manager.addEmployee(employee2);
-		manager.addEmployee(employee3);
-
-		// Test adding selected items
-		table.setSelection(new int[] { 0, 2 });
-
-		// It seems a manual selection doesn't send any selection event
-		tableModel.tableSelectionChanged(null);
-
-		Assert.assertNotNull("The collection of selected items can't be null", employees);
-		Assert.assertEquals("The count of selected items should be 2", 2, employees.size());
-
-		employees.remove(employee1);
-		employees.remove(employee3);
-		Assert.assertTrue("The selected items was not retrieved correctly", employees.isEmpty());
-
-		// Test adding selected items
-		employees.add(employee1);
-		employees.add(employee3);
-		table.deselectAll();
-
-		// It seems a manual selection doesn't send any selection event
-		tableModel.tableSelectionChanged(null);
-
-		Assert.assertNotNull("The collection of selected items can't be null", employees);
-		Assert.assertEquals("The count of selected items should be 0", 0, employees.size());
-	}
-
-	private void testTableItemProperties(Table table,
-	                                     int index,
-	                                     String expectedName,
-	                                     String expectedManager,
-	                                     String expectedTitle)
-	{
-		TableItem tableItem = table.getItem(index);
-		Assert.assertNotNull("No TableItem was found for the Employee", tableItem);
-
-		String actualName = tableItem.getText(TableColumnAdapter.NAME_COLUMN);
-		Assert.assertEquals("TableItem[NAME_COLUMN] was not set correctly", expectedName, actualName);
-
-		String actualTitle = tableItem.getText(TableColumnAdapter.TITLE_COLUMN);
-		Assert.assertEquals("TableItem[TITLE_COLUMN] was not set correctly", expectedTitle, actualTitle);
-
-		String actualManager = tableItem.getText(TableColumnAdapter.MANAGER_COLUMN);
-		Assert.assertEquals("TableItem[MANAGER_COLUMN] was not set correctly", expectedManager, actualManager);
-	}
-
-	private class Employee extends AbstractModel {
-
-		private String manager;
-		private String name;
-		private String title;
-
-		static final String MANAGER_PROPERTY = "manager";
-		static final String NAME_PROPERTY = "name";
-		static final String TITLE_PROPERTY = "title";
-
-		Employee(String name, String title, String manager) {
-			super();
-
-			this.name    = name;
-			this.title   = title;
-			this.manager = manager;
-		}
-
-		String getManager() {
-			return manager;
-		}
-
-		String getName() {
-			return name;
-		}
-
-		String getTitle() {
-			return title;
-		}
-
-		void setManager(String manager) {
-			String oldManager = this.manager;
-			this.manager = manager;
-			firePropertyChanged(MANAGER_PROPERTY, oldManager, manager);
-		}
-
-		void setName(String name) {
-			String oldName = this.name;
-			this.name = name;
-			firePropertyChanged(NAME_PROPERTY, oldName, name);
-		}
-
-		void setTitle(String title) {
-			String oldTitle = this.title;
-			this.title = title;
-			firePropertyChanged(TITLE_PROPERTY, oldTitle, title);
-		}
-	}
-
-	private class Manager extends AbstractModel {
-
-		private List<Employee> employees;
-
-		static final String EMPLOYEES_LIST = "employees";
-
-		Manager() {
-			super();
-			employees = new ArrayList<Employee>();
-		}
-
-		Employee addEmployee(Employee employee) {
-			addItemToList(employee, employees, EMPLOYEES_LIST);
-			return employee;
-		}
-
-		Employee addEmployee(String name, String title, String manager) {
-			Employee employee = new Employee(name, title, manager);
-			return addEmployee(employee);
-		}
-
-		void changeEmployees(List<Employee> newEmployees) {
-			this.synchronizeList(newEmployees, this.employees, EMPLOYEES_LIST);
-		}
-
-		ListIterator<Employee> employees() {
-			return new CloneListIterator<Employee>(employees);
-		}
-
-		int employeesSize() {
-			return employees.size();
-		}
-
-		void moveEmployeeDown(Employee employee) {
-			int index = employees.indexOf(employee);
-			moveItemInList(index + 1, index, employees, EMPLOYEES_LIST);
-		}
-
-		void moveEmployees(Collection<Employee> employees, int targetIndex) {
-
-			int sourceIndex = Integer.MAX_VALUE;
-
-			for (Employee employee : employees) {
-				sourceIndex = Math.min(sourceIndex, this.employees.indexOf(employee));
-			}
-
-			moveItemsInList(
-				targetIndex,
-				sourceIndex,
-				employees.size(),
-				this.employees,
-				EMPLOYEES_LIST
-			);
-		}
-
-		void moveEmployeeUp(Employee employee) {
-			int index = employees.indexOf(employee);
-			moveItemInList(index - 1, index, employees, EMPLOYEES_LIST);
-		}
-
-		void removeAllEmployees() {
-			clearList(employees, EMPLOYEES_LIST);
-		}
-
-		void removeEmployee(Employee employee) {
-			removeItemFromList(employee, employees, EMPLOYEES_LIST);
-		}
-
-		void removeEmployees(Collection<Employee> employees) {
-			removeItemsFromList(employees.iterator(), this.employees, EMPLOYEES_LIST);
-		}
-
-		void replace(Employee oldEmployee, Employee newEmployee) {
-			replaceItemInList(oldEmployee, newEmployee, employees, EMPLOYEES_LIST);
-		}
-	}
-
-	private class TableColumnAdapter implements ColumnAdapter<Employee> {
-
-		static final int COLUMN_COUNT = 3;
-		static final int MANAGER_COLUMN = 2;
-		static final int NAME_COLUMN = 0;
-		static final int TITLE_COLUMN = 1;
-
-		private ModifiablePropertyValueModel<String> buildManagerHolder(Employee subject) {
-			return new PropertyAspectAdapter<Employee, String>(Employee.MANAGER_PROPERTY, subject) {
-				@Override
-				protected String buildValue_() {
-					return subject.getManager();
-				}
-
-				@Override
-				protected void setValue_(String value) {
-					subject.setManager(value);
-				}
-			};
-		}
-
-		private ModifiablePropertyValueModel<String> buildNameHolder(Employee subject) {
-			return new PropertyAspectAdapter<Employee, String>(Employee.NAME_PROPERTY, subject) {
-				@Override
-				protected String buildValue_() {
-					return subject.getName();
-				}
-
-				@Override
-				protected void setValue_(String value) {
-					subject.setName(value);
-				}
-			};
-		}
-
-		private ModifiablePropertyValueModel<String> buildTitleHolder(Employee subject) {
-			return new PropertyAspectAdapter<Employee, String>(Employee.TITLE_PROPERTY, subject) {
-				@Override
-				protected String buildValue_() {
-					return subject.getTitle();
-				}
-
-				@Override
-				protected void setValue_(String value) {
-					subject.setTitle(value);
-				}
-			};
-		}
-
-		public ModifiablePropertyValueModel<?>[] cellModels(Employee subject) {
-			ModifiablePropertyValueModel<?>[] holders = new ModifiablePropertyValueModel<?>[3];
-			holders[NAME_COLUMN] = buildNameHolder(subject);
-			holders[TITLE_COLUMN] = buildTitleHolder(subject);
-			holders[MANAGER_COLUMN] = buildManagerHolder(subject);
-			return holders;
-		}
-
-		public int columnCount() {
-			return COLUMN_COUNT;
-		}
-
-		public String columnName(int columnIndex) {
-			return String.valueOf(columnIndex);
-		}
-	}
-
-	private class TableLabelProvider extends LabelProvider
-	                                 implements ITableLabelProvider {
-
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			Employee employee = (Employee) element;
-
-			if (columnIndex == TableColumnAdapter.NAME_COLUMN) {
-				return employee.getName();
-			}
-
-			if (columnIndex == TableColumnAdapter.TITLE_COLUMN) {
-				return employee.getTitle();
-			}
-
-			return employee.getManager();
-		}
-	}
-
-	private class TableModel extends TableModelAdapter<Employee> {
-
-		TableModel(ListValueModel<Employee> listHolder,
-		           CollectionValueModel<Employee> selectedItemsHolder,
-		           Table table,
-		           ColumnAdapter<Employee> columnAdapter,
-		           ITableLabelProvider labelProvider) {
-
-			super(listHolder,
-			      selectedItemsHolder,
-			      table,
-			      columnAdapter,
-			      labelProvider);
-		}
-
-		TableModel(ListValueModel<Employee> listHolder,
-		           ModifiablePropertyValueModel<Employee> selectedItemHolder,
-		           Table table,
-		           ColumnAdapter<Employee> columnAdapter,
-		           ITableLabelProvider labelProvider) {
-
-			super(listHolder,
-					new PropertyCollectionValueModelAdapter<Employee>(selectedItemHolder),
-			      table,
-			      columnAdapter,
-			      labelProvider);
-		}
-
-		@Override
-		protected int indexOf(Employee item) {
-			return super.indexOf(item);
-		}
-
-		@Override
-		protected Collection<Employee> selectedItems() {
-			return super.selectedItems();
-		}
-
-		@Override
-		protected void tableSelectionChanged(SelectionEvent event) {
-			super.tableSelectionChanged(event);
-		}
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/TriStateCheckBoxModelAdapterUITest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/TriStateCheckBoxModelAdapterUITest.java
deleted file mode 100644
index afb8078..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/TriStateCheckBoxModelAdapterUITest.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.swt;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.swt.TriStateCheckBoxModelAdapter;
-import org.eclipse.jpt.common.ui.internal.widgets.DefaultWidgetFactory;
-import org.eclipse.jpt.common.ui.internal.widgets.TriStateCheckBox;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Play around with a set of tri-state check boxes.
- */
-public class TriStateCheckBoxModelAdapterUITest
-	extends ApplicationWindow
-{
-	private final TestModel testModel;
-	private final ModifiablePropertyValueModel<TestModel> testModelHolder;
-	private final ModifiablePropertyValueModel<Boolean> flag1Holder;
-	private final ModifiablePropertyValueModel<Boolean> flag2Holder;
-	private final ModifiablePropertyValueModel<Boolean> notFlag2Holder;
-
-	public static void main(String[] args) throws Exception {
-		Window window = new TriStateCheckBoxModelAdapterUITest(args);
-		window.setBlockOnOpen(true);
-		window.open();
-		Display.getCurrent().dispose();
-		System.exit(0);
-	}
-
-	private TriStateCheckBoxModelAdapterUITest(String[] args) {
-		super(null);
-		this.testModel = new TestModel(Boolean.TRUE, Boolean.FALSE);
-		this.testModelHolder = new SimplePropertyValueModel<TestModel>(this.testModel);
-		this.flag1Holder = this.buildFlag1Holder(this.testModelHolder);
-		this.flag2Holder = this.buildFlag2Holder(this.testModelHolder);
-		this.notFlag2Holder = this.buildNotFlag2Holder(this.testModelHolder);
-	}
-
-	private ModifiablePropertyValueModel<Boolean> buildFlag1Holder(PropertyValueModel<TestModel> subjectHolder) {
-		return new PropertyAspectAdapter<TestModel, Boolean>(subjectHolder, TestModel.FLAG1_PROPERTY) {
-			@Override
-			protected Boolean buildValue_() {
-				return this.subject.isFlag1();
-			}
-			@Override
-			protected void setValue_(Boolean value) {
-				this.subject.setFlag1(value);
-			}
-		};
-	}
-
-	private ModifiablePropertyValueModel<Boolean> buildFlag2Holder(PropertyValueModel<TestModel> subjectHolder) {
-		return new PropertyAspectAdapter<TestModel, Boolean>(subjectHolder, TestModel.FLAG2_PROPERTY) {
-			@Override
-			protected Boolean buildValue_() {
-				return this.subject.isFlag2();
-			}
-			@Override
-			protected void setValue_(Boolean value) {
-				this.subject.setFlag2(value);
-			}
-		};
-	}
-
-	private ModifiablePropertyValueModel<Boolean> buildNotFlag2Holder(PropertyValueModel<TestModel> subjectHolder) {
-		return new PropertyAspectAdapter<TestModel, Boolean>(subjectHolder, TestModel.NOT_FLAG2_PROPERTY) {
-			@Override
-			protected Boolean buildValue_() {
-				return this.subject.isNotFlag2();
-			}
-			@Override
-			protected void setValue_(Boolean value) {
-				this.subject.setNotFlag2(value);
-			}
-		};
-	}
-
-	@Override
-	protected Control createContents(Composite parent) {
-		((Shell) parent).setText(this.getClass().getSimpleName());
-		parent.setSize(400, 100);
-		Composite mainPanel = new Composite(parent, SWT.NONE);
-		mainPanel.setLayout(new FormLayout());
-		Control checkBoxPanel = this.buildCheckBoxPanel(mainPanel);
-		this.buildControlPanel(mainPanel, checkBoxPanel);
-		return mainPanel;
-	}
-
-	private Control buildCheckBoxPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100, -35);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildFlag1CheckBox(panel);
-		this.buildFlag2CheckBox(panel);
-		this.buildNotFlag2CheckBox(panel);
-		this.buildUnattachedCheckBox(panel);
-
-		return panel;
-	}
-
-	private void buildFlag1CheckBox(Composite parent) {
-		TriStateCheckBox checkBox = new TriStateCheckBox(parent, "flag 1", DefaultWidgetFactory.instance());
-		TriStateCheckBoxModelAdapter.adapt(this.flag1Holder, checkBox);
-	}
-
-	private void buildFlag2CheckBox(Composite parent) {
-		TriStateCheckBox checkBox = new TriStateCheckBox(parent, "flag 2", DefaultWidgetFactory.instance());
-		TriStateCheckBoxModelAdapter.adapt(this.flag2Holder, checkBox);
-	}
-
-	private void buildNotFlag2CheckBox(Composite parent) {
-		TriStateCheckBox checkBox = new TriStateCheckBox(parent, "next flag 2", DefaultWidgetFactory.instance());
-		TriStateCheckBoxModelAdapter.adapt(this.notFlag2Holder, checkBox);
-	}
-
-	private void buildUnattachedCheckBox(Composite parent) {
-		TriStateCheckBox checkBox = new TriStateCheckBox(parent, "unattached", DefaultWidgetFactory.instance());
-		checkBox.addSelectionListener(this.buildUnattachedSelectionListener());
-	}
-
-	private SelectionListener buildUnattachedSelectionListener() {
-		return new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				System.out.println("unattached default selected: " + e);
-			}
-			public void widgetSelected(SelectionEvent e) {
-				System.out.println("unattached selected: " + e);
-			}
-		};
-	}
-
-	private void buildControlPanel(Composite parent, Control checkBoxPanel) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(checkBoxPanel);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildFlipFlag1Button(panel);
-		this.buildClearModelButton(panel);
-		this.buildRestoreModelButton(panel);
-		this.buildPrintModelButton(panel);
-	}
-
-	private void buildFlipFlag1Button(Composite parent) {
-		this.buildFlipFlag1ACI().fill(parent);
-	}
-
-	private ActionContributionItem buildFlipFlag1ACI() {
-		Action action = new Action("next flag 1", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				TriStateCheckBoxModelAdapterUITest.this.nextFlag1();
-			}
-		};
-		action.setToolTipText("next flag 1");
-		return new ActionContributionItem(action);
-	}
-
-	void nextFlag1() {
-		this.testModel.nextFlag1();
-	}
-
-	private void buildClearModelButton(Composite parent) {
-		this.buildClearModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildClearModelACI() {
-		Action action = new Action("clear model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				TriStateCheckBoxModelAdapterUITest.this.clearModel();
-			}
-		};
-		action.setToolTipText("clear model");
-		return new ActionContributionItem(action);
-	}
-
-	void clearModel() {
-		this.testModelHolder.setValue(null);
-	}
-
-	private void buildRestoreModelButton(Composite parent) {
-		this.buildRestoreModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildRestoreModelACI() {
-		Action action = new Action("restore model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				TriStateCheckBoxModelAdapterUITest.this.restoreModel();
-			}
-		};
-		action.setToolTipText("restore model");
-		return new ActionContributionItem(action);
-	}
-
-	void restoreModel() {
-		this.testModelHolder.setValue(this.testModel);
-	}
-
-	private void buildPrintModelButton(Composite parent) {
-		this.buildPrintModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildPrintModelACI() {
-		Action action = new Action("print model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				TriStateCheckBoxModelAdapterUITest.this.printModel();
-			}
-		};
-		action.setToolTipText("print model");
-		return new ActionContributionItem(action);
-	}
-
-	void printModel() {
-		System.out.println("flag 1: " + this.testModel.isFlag1());
-		System.out.println("flag 2: " + this.testModel.isFlag2());
-		System.out.println("not flag 2: " + this.testModel.isNotFlag2());
-		System.out.println("***");
-	}
-
-
-	private class TestModel extends AbstractModel {
-		private Boolean flag1;
-			public static final String FLAG1_PROPERTY = "flag1";
-		private Boolean flag2;
-			public static final String FLAG2_PROPERTY = "flag2";
-		private Boolean notFlag2;
-			public static final String NOT_FLAG2_PROPERTY = "notFlag2";
-	
-		public TestModel(Boolean flag1, Boolean flag2) {
-			this.flag1 = flag1;
-			this.flag2 = flag2;
-			this.notFlag2 = this.next(flag2);
-		}
-		private Boolean next(Boolean b) {
-			return (b == null) ? Boolean.TRUE : b.booleanValue() ? Boolean.FALSE : null;
-		}
-		public Boolean isFlag1() {
-			return this.flag1;
-		}
-		public void setFlag1(Boolean flag1) {
-			Boolean old = this.flag1;
-			this.flag1 = flag1;
-			this.firePropertyChanged(FLAG1_PROPERTY, old, flag1);
-		}
-		public void nextFlag1() {
-			this.setFlag1(this.next(this.flag1));
-		}
-		public Boolean isFlag2() {
-			return this.flag2;
-		}
-		public void setFlag2(Boolean flag2) {
-			Boolean old = this.flag2;
-			this.flag2 = flag2;
-			this.firePropertyChanged(FLAG2_PROPERTY, old, flag2);
-
-			old = this.notFlag2;
-			this.notFlag2 = this.next(flag2);
-			this.firePropertyChanged(NOT_FLAG2_PROPERTY, old, this.notFlag2);
-		}
-		public void nextFlag2() {
-			this.setFlag2(this.next(this.flag2));
-		}
-		public Boolean isNotFlag2() {
-			return this.notFlag2;
-		}
-		public void setNotFlag2(Boolean notFlag2) {
-			this.setFlag2(this.next(flag2));
-		}
-		public void nextNotFlag2() {
-			this.setNotFlag2(this.next(this.notFlag2));
-		}
-		@Override
-		public String toString() {
-			return "TestModel(" + this.isFlag1() + " - " + this.isFlag2() + ")";
-		}
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlAlignerTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlAlignerTest.java
deleted file mode 100644
index 1c2904e..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlAlignerTest.java
+++ /dev/null
@@ -1,803 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.fail;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jpt.common.ui.internal.util.ControlAligner;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-import org.eclipse.swt.SWT;
-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.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Shell;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class ControlAlignerTest {
-
-	private ControlAligner controlAligner;
-	private Composite parent;
-	private Shell shell;
-
-	private Layout buildSpacerLayout() {
-		return new Layout() {
-			@Override
-			protected Point computeSize(Composite composite,
-			                            int widthHint,
-			                            int heightHint,
-			                            boolean flushCache) {
-
-				return new Point(widthHint, heightHint);
-			}
-
-			@Override
-			protected void layout(Composite composite, boolean flushCache) {
-				GridData data = (GridData) composite.getLayoutData();
-				composite.setBounds(0, 0, data.widthHint, data.heightHint);
-			}
-		};
-	}
-
-	@Before
-	public void setUp() {
-
-		controlAligner = new ControlAligner();
-
-		shell  = new Shell(Display.getCurrent());
-		shell.setLayout(new GridLayout(1, false));
-
-		parent = new Composite(shell, SWT.NONE);
-		parent.setLayout(new GridLayout(1, false));
-		parent.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-	}
-
-	@After
-	public void tearDown() {
-
-		if (controlAligner != null) {
-			controlAligner.dispose();
-			controlAligner = null;
-		}
-
-		if (shell != null) {
-			shell.dispose();
-			shell = null;
-		}
-	}
-
-	@Test
-	public void testAddControl1() throws Exception {
-
-		Composite pane = new Composite(parent, SWT.NULL);
-		pane.setLayout(new GridLayout(3, false));
-		pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label label = new Label(pane, SWT.NULL);
-		updateGridData(label);
-
-		controlAligner.add(label);
-
-		assertEquals(
-			"The maximum width should be 0,",
-			0,
-			controlAligner.getMaximumWidth()
-		);
-
-		label.setText("This is a ControlAligner");
-//		parent.layout(true, true);
-
-		Point size = label.getSize();
-
-		assertEquals(
-			"The width should be " + size.x + ",",
-			size.x,
-			controlAligner.getMaximumWidth()
-		);
-	}
-
-	@Test
-	public void testAddControl2() throws Exception {
-
-		Composite pane = new Composite(parent, SWT.NULL);
-		pane.setLayout(new GridLayout(3, false));
-		pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Button button = new Button(pane, SWT.NULL);
-		button.setText("This is a ControlAligner");
-		updateGridData(button);
-
-		controlAligner.add(button);
-		parent.layout(true, true);
-
-		Point size = button.getSize();
-
-		assertEquals(
-			"The width should be " + size.x + ",",
-			size.x,
-			controlAligner.getMaximumWidth()
-		);
-	}
-
-	@Test
-	public void testAddControl3() throws Exception {
-
-		Composite pane = new Composite(parent, SWT.NULL);
-		pane.setLayout(new GridLayout(3, false));
-		pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label label = new Label(pane, SWT.NULL);
-		label.setText("This is very long text");
-		updateGridData(label);
-
-		Button button = new Button(pane, SWT.NULL);
-		button.setText("Short text");
-		updateGridData(button);
-
-//		parent.layout(true, true);
-
-		controlAligner.add(label);
-		controlAligner.add(button);
-
-		Point labelSize  = label.getSize();
-		Point buttonSize = button.getSize();
-		int max = Math.max(labelSize.x, buttonSize.x);
-
-		assertEquals(
-			"The width should be " + max + ",",
-			max,
-			controlAligner.getMaximumWidth()
-		);
-	}
-
-	@Test
-	public void testAddControlAligner1() throws Exception {
-
-		Label label1 = new Label(parent, SWT.NULL);
-		Label label2 = new Label(parent, SWT.NULL);
-
-		updateGridData(label1);
-		updateGridData(label2);
-
-		controlAligner.add(label1);
-
-		ControlAligner controlAligner2 = new ControlAligner();
-		controlAligner.add(controlAligner2);
-		controlAligner2.add(label2);
-
-		label1.setText("This is a ControlAligner");
-		label2.setText("This is a very long ControlAligner");
-//		parent.layout(true, true);
-
-		Point size1 = label1.getSize();
-		Point size2 = label2.getSize();
-		int width = Math.max(size1.x, size2.x);
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner.getMaximumWidth()
-		);
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner2.getMaximumWidth()
-		);
-	}
-
-	@Test
-	public void testAddControlAligner2() throws Exception {
-
-		Label label1 = new Label(parent, SWT.NULL);
-		Label label2 = new Label(parent, SWT.NULL);
-
-		updateGridData(label1);
-		updateGridData(label2);
-
-		controlAligner.add(label1);
-
-		ControlAligner controlAligner2 = new ControlAligner();
-		controlAligner2.add(label2);
-
-		label1.setText("This is a ControlAligner");
-		label2.setText("This is a very long ControlAligner");
-
-		controlAligner.add(controlAligner2);
-//		parent.layout(true, true);
-
-		Point size1 = label1.getSize();
-		Point size2 = label2.getSize();
-		int width = Math.max(size1.x, size2.x);
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner.getMaximumWidth()
-		);
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner2.getMaximumWidth()
-		);
-	}
-
-	@Test(expected=IllegalArgumentException.class)
-	public void testAddControlAlignerToItself() throws Exception {
-		controlAligner.add(controlAligner);
-		fail("A ControlAligner can't be added to itself");
-	}
-
-	@Test
-	public void testDialog_AddControl1() throws Exception {
-
-		final int[] maximumWidth = new int[1];
-		final int[] size = new int[1];
-
-		TitleAreaDialog dialog = new TitleAreaDialog(SWTUtil.getShell()) {
-
-			private Label label;
-
-			@Override
-			protected Control createDialogArea(Composite parent) {
-
-				Composite pane = new Composite(parent, SWT.NULL);
-				pane.setLayout(new GridLayout(3, false));
-				pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-				label = new Label(pane, SWT.LEFT);
-				label.setText("This is a ControlAligner");
-				updateGridData(label);
-
-				controlAligner.add(label);
-
-				return parent;
-			}
-
-			@Override
-			protected void initializeBounds() {
-				super.initializeBounds();
-				size[0] = label.getSize().x;
-				maximumWidth[0] = controlAligner.getMaximumWidth();
-			}
-		};
-
-		dialog.create();
-		dialog.close();
-
-		assertEquals(
-			"The width should be " + size[0] + ",",
-			size[0],
-			maximumWidth[0]
-		);
-	}
-
-	@Test
-	public void testDialog_AddControl2() throws Exception {
-
-		final int[] maximumWidth = new int[1];
-		final int[] sizes = new int[2];
-
-		TitleAreaDialog dialog = new TitleAreaDialog(SWTUtil.getShell()) {
-
-			private Button button;
-			private Label label;
-
-			@Override
-			protected Control createDialogArea(Composite parent) {
-
-				Composite pane = new Composite(parent, SWT.NULL);
-				pane.setLayout(new GridLayout(3, false));
-				pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-				label = new Label(pane, SWT.NULL);
-				label.setText("This is a ControlAligner");
-				updateGridData(label);
-
-				controlAligner.add(label);
-
-				button = new Button(pane, SWT.NULL);
-				button.setText("Short text");
-				updateGridData(button);
-
-				controlAligner.add(button);
-
-				return parent;
-			}
-
-			@Override
-			protected void initializeBounds() {
-				super.initializeBounds();
-				sizes[0] = label.getSize().x;
-				sizes[1] = button.getSize().x;
-				maximumWidth[0] = controlAligner.getMaximumWidth();
-			}
-		};
-
-		dialog.create();
-		dialog.close();
-
-		int labelSize  = sizes[0];
-		int buttonSize = sizes[1];
-		int max = Math.max(labelSize, buttonSize);
-
-		assertEquals(
-			"The width should be " + max + ",",
-			max,
-			maximumWidth[0]
-		);
-	}
-
-	@Test
-	public void testDispose() throws Exception {
-
-		Composite pane = new Composite(parent, SWT.NULL);
-		pane.setLayout(new GridLayout(3, false));
-		pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label label = new Label(pane, SWT.NULL);
-		label.setText("This is very long text");
-		updateGridData(label);
-
-		Button button = new Button(pane, SWT.NULL);
-		button.setText("Short text");
-		updateGridData(button);
-
-		controlAligner.add(label);
-		controlAligner.add(button);
-
-		Point labelSize  = label.getSize();
-		Point buttonSize = button.getSize();
-		int max = Math.max(labelSize.x, buttonSize.x);
-
-		assertEquals(
-			"The width should be " + max + ",",
-			max,
-			controlAligner.getMaximumWidth()
-		);
-
-		label.dispose();
-
-		Point newButtonSize = button.getSize();
-
-		assertNotSame(
-			"The old max and new max should not be the same",
-			max,
-			newButtonSize.x
-		);
-
-		assertEquals(
-			"The ControlAligner doesn't have the right maximum width",
-			newButtonSize.x,
-			controlAligner.getMaximumWidth()
-		);
-	}
-
-	@Test
-	public void testHierarchyOfControlAligners() throws Exception {
-
-		// Aligner1
-		//  ^
-		//  |-Aligner2
-		//     ^
-		//     |-Aligner3
-		ControlAligner controlAligner2 = new ControlAligner();
-		controlAligner.add(controlAligner2);
-
-		ControlAligner controlAligner3 = new ControlAligner();
-		controlAligner2.add(controlAligner3);
-
-		// Test 1
-		Label label1 = new Label(parent, SWT.NULL);
-		label1.setText("This is a label widget");
-		parent.layout(true, true);
-
-		int labelWidth1 = label1.getSize().x;
-		controlAligner3.add(label1);
-
-		assertEquals(controlAligner3.getMaximumWidth(), labelWidth1);
-		assertEquals(controlAligner2.getMaximumWidth(), labelWidth1);
-		assertEquals(controlAligner.getMaximumWidth(), labelWidth1);
-
-		// Test 2
-		Label label2 = new Label(parent, SWT.NULL);
-		label2.setText("ShortLabel");
-		controlAligner2.add(label2);
-		parent.layout(true);
-
-		int newLabelWidth1 = label1.getSize().x;
-		int newLabelWidth2 = label2.getSize().x;
-
-		assertEquals(controlAligner3.getMaximumWidth(), controlAligner2.getMaximumWidth());
-		assertEquals(controlAligner2.getMaximumWidth(), controlAligner.getMaximumWidth());
-		assertEquals(newLabelWidth1, newLabelWidth2);
-		assertEquals(newLabelWidth1, controlAligner.getMaximumWidth());
-
-		// Test 3
-		Label label3 = new Label(parent, SWT.NULL);
-		label3.setText("A very long label that takes a lot of horizontal space");
-//		parent.layout(true);
-		controlAligner.add(label3);
-
-		newLabelWidth1 = label1.getSize().x;
-		newLabelWidth2 = label2.getSize().x;
-		int newLabelWidth3 = label3.getSize().x;
-
-		assertEquals(controlAligner3.getMaximumWidth(), controlAligner2.getMaximumWidth());
-		assertEquals(controlAligner2.getMaximumWidth(), controlAligner.getMaximumWidth());
-		assertEquals(newLabelWidth1, newLabelWidth2);
-		assertEquals(newLabelWidth2, newLabelWidth3);
-		assertEquals(newLabelWidth1, controlAligner.getMaximumWidth());
-
-		// Make sure all the locked are removed
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner, "locked"), Boolean.FALSE);
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner2, "locked"), Boolean.FALSE);
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner3, "locked"), Boolean.FALSE);
-
-		// Change the text of label2
-		label2.setText("mm");
-//		parent.layout(true);
-
-		newLabelWidth1 = label1.getSize().x;
-		newLabelWidth2 = label2.getSize().x;
-		newLabelWidth3 = label3.getSize().x;
-
-		assertEquals(controlAligner3.getMaximumWidth(), controlAligner2.getMaximumWidth());
-		assertEquals(controlAligner2.getMaximumWidth(), controlAligner.getMaximumWidth());
-		assertEquals(newLabelWidth1, newLabelWidth2);
-		assertEquals(newLabelWidth2, newLabelWidth3);
-		assertEquals(newLabelWidth1, controlAligner.getMaximumWidth());
-
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner, "locked"), Boolean.FALSE);
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner2, "locked"), Boolean.FALSE);
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner3, "locked"), Boolean.FALSE);
-
-		// Change the text of label1
-		label1.setText("a");
-//		parent.layout(true);
-
-		Composite parent1 = new Composite(SWTUtil.getShell(), SWT.NULL);
-		parent1.setLayout(new GridLayout());
-
-		Label tempLabel = new Label(parent1, SWT.NULL);
-		tempLabel.setText("a");
-//		parent1.layout(true);
-
-		int realWidth = tempLabel.getSize().x;
-
-		newLabelWidth1 = label1.getSize().x;
-		newLabelWidth2 = label2.getSize().x;
-		newLabelWidth3 = label3.getSize().x;
-
-		assertEquals(controlAligner3.getMaximumWidth(), controlAligner2.getMaximumWidth());
-		assertEquals(controlAligner2.getMaximumWidth(), controlAligner.getMaximumWidth());
-		assertEquals(newLabelWidth1, newLabelWidth2);
-		assertEquals(newLabelWidth2, newLabelWidth3);
-		assertEquals(newLabelWidth1, controlAligner.getMaximumWidth());
-		assertFalse(newLabelWidth1 == realWidth);
-
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner, "locked"), Boolean.FALSE);
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner2, "locked"), Boolean.FALSE);
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner3, "locked"), Boolean.FALSE);
-
-		// Change the text of label1
-		label1.setText("Yes another big long long text so that all the labels will have to take the size of this label to make sure ControlAligner works correctly");
-//		parent.layout(true);
-
-		// Weird: It seems no notification is sent, fire one manually
-		Event event  = new Event();
-		event.widget = label1;
-		event.type   = SWT.Resize;
-		label1.notifyListeners(SWT.Resize, event);
-
-		Composite parent2 = new Composite(SWTUtil.getShell(), SWT.NULL);
-		parent2.setLayout(new GridLayout());
-
-		tempLabel = new Label(parent2, SWT.NULL);
-		tempLabel.setText(label1.getText());
-		parent2.layout(true);
-
-		realWidth = tempLabel.getSize().x;
-
-		newLabelWidth1 = label1.getSize().x;
-		newLabelWidth2 = label2.getSize().x;
-		newLabelWidth3 = label3.getSize().x;
-
-		assertEquals(controlAligner3.getMaximumWidth(), controlAligner2.getMaximumWidth());
-		assertEquals(controlAligner2.getMaximumWidth(), controlAligner.getMaximumWidth());
-		assertEquals(newLabelWidth1, newLabelWidth2);
-		assertEquals(newLabelWidth2, newLabelWidth3);
-		assertEquals(controlAligner.getMaximumWidth(), newLabelWidth1);
-		assertEquals(realWidth, newLabelWidth1);
-
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner, "locked"), Boolean.FALSE);
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner2, "locked"), Boolean.FALSE);
-		assertEquals(ReflectionTools.getFieldValue_(controlAligner3, "locked"), Boolean.FALSE);
-	}
-
-	@Test
-	public void testRemoveControl1() throws Exception {
-
-		Composite pane = new Composite(parent, SWT.NULL);
-		pane.setLayout(new GridLayout(3, false));
-		pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Button button = new Button(pane, SWT.NULL);
-		button.setText("This is a ControlAligner");
-		updateGridData(button);
-
-		controlAligner.add(button);
-		parent.layout(true, true);
-
-		Point size = button.getSize();
-
-		assertEquals(
-			"The width should be " + size.x + ",",
-			size.x,
-			controlAligner.getMaximumWidth()
-		);
-
-		controlAligner.remove(button);
-
-		assertEquals(
-			"The width should be 0, ",
-			0,
-			controlAligner.getMaximumWidth()
-		);
-	}
-
-	@Test
-	public void testRemoveControl2() throws Exception {
-
-		Composite pane = new Composite(parent, SWT.NULL);
-		pane.setLayout(new GridLayout(3, false));
-		pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label label = new Label(pane, SWT.NULL);
-		label.setText("This is very long text");
-		updateGridData(label);
-
-		Button button = new Button(pane, SWT.NULL);
-		button.setText("Short text");
-		updateGridData(button);
-//		parent.layout(true, true);
-
-		controlAligner.add(label);
-		controlAligner.add(button);
-
-		Point labelSize  = label.getSize();
-		Point buttonSize = button.getSize();
-		int max = Math.max(labelSize.x, buttonSize.x);
-
-		assertEquals(
-			"The width should be " + max + ",",
-			max,
-			controlAligner.getMaximumWidth()
-		);
-
-		controlAligner.remove(label);
-
-		Point newButtonSize = button.getSize();
-
-		assertNotSame(
-			"The old max and new max should not be the same",
-			max,
-			newButtonSize.x
-		);
-
-		assertEquals(
-			"The ControlAligner doesn't have the right maximum width",
-			newButtonSize.x,
-			controlAligner.getMaximumWidth()
-		);
-	}
-
-	@Test
-	public void testRemoveControl4() throws Exception {
-
-		Composite pane = new Composite(parent, SWT.NULL);
-		pane.setLayout(new GridLayout(3, false));
-		pane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// Widget 1
-		Label label = new Label(pane, SWT.NULL);
-		label.setText("This is very long text");
-		updateGridData(label);
-		controlAligner.add(label);
-
-		// Widget 2
-		Composite spacer = new Composite(pane, SWT.NULL);
-		spacer.setLayout(buildSpacerLayout());
-		updateGridData(spacer);
-		controlAligner.add(spacer);
-
-		// Widget 3
-		Button button = new Button(pane, SWT.NULL);
-		button.setText("Short text");
-		updateGridData(button);
-		controlAligner.add(button);
-
-//		parent.layout(true, true);
-
-		// Make sure the 3 widgets have the same width
-		Point labelSize  = label.getSize();
-		Point spacerSize = spacer.getSize();
-		Point buttonSize = button.getSize();
-		int max = Math.max(labelSize.x, buttonSize.x);
-		max = Math.max(max, spacerSize.x);
-
-		assertEquals(
-			"The width should be " + max + ",",
-			max,
-			controlAligner.getMaximumWidth()
-		);
-
-		assertEquals(
-			"The spacer's width should be " + max + ",",
-			max,
-			spacerSize.x
-		);
-
-		// Remove the label (the widest widget) and make sure the width was
-		// correctly calculated
-		controlAligner.remove(label);
-
-		spacerSize = spacer.getSize();
-		buttonSize = button.getSize();
-		int max2 = Math.max(spacerSize.x, buttonSize.x);
-
-		assertNotSame(
-			"The old max and new max should not be the same",
-			max,
-			max2
-		);
-
-		assertEquals(
-			"The ControlAligner doesn't have the right maximum width",
-			max2,
-			controlAligner.getMaximumWidth()
-		);
-
-		assertEquals(
-			"The spacer's width should have been adjusted",
-			max2,
-			spacerSize.x
-		);
-	}
-
-	@Test
-	public void testRemoveControlAligner1() throws Exception {
-
-		Label label1 = new Label(parent, SWT.NULL);
-		Label label2 = new Label(parent, SWT.NULL);
-
-		updateGridData(label1);
-		updateGridData(label2);
-
-		controlAligner.add(label1);
-
-		ControlAligner controlAligner2 = new ControlAligner();
-		controlAligner.add(controlAligner2);
-		controlAligner2.add(label2);
-
-		label1.setText("This is a ControlAligner");
-		label2.setText("This is a very long ControlAligner");
-//		parent.layout(true, true);
-
-		Point size1 = label1.getSize();
-		Point size2 = label2.getSize();
-		int width = Math.max(size1.x, size2.x);
-
-		// Test 1
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner.getMaximumWidth()
-		);
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner2.getMaximumWidth()
-		);
-
-		// Test 2
-		controlAligner.remove(label1);
-
-		width = label2.getSize().x;
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner.getMaximumWidth()
-		);
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner2.getMaximumWidth()
-		);
-	}
-
-	@Test
-	public void testRemoveControlAligner2() throws Exception {
-
-		Label label1 = new Label(parent, SWT.NULL);
-		Label label2 = new Label(parent, SWT.NULL);
-
-		updateGridData(label1);
-		updateGridData(label2);
-
-		controlAligner.add(label1);
-
-		ControlAligner controlAligner2 = new ControlAligner();
-		controlAligner.add(controlAligner2);
-		controlAligner2.add(label2);
-
-		label1.setText("This is a ControlAligner");
-		label2.setText("This is a very long ControlAligner");
-//		parent.layout(true, true);
-
-		Point size1 = label1.getSize();
-		Point size2 = label2.getSize();
-		int width = Math.max(size1.x, size2.x);
-
-		// Test 1
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner.getMaximumWidth()
-		);
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner2.getMaximumWidth()
-		);
-
-		// Test 2
-		controlAligner2.remove(label2);
-
-		width = label1.getSize().x;
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner.getMaximumWidth()
-		);
-
-		assertEquals(
-			"The width should be " + width + ",",
-			width,
-			controlAligner2.getMaximumWidth()
-		);
-	}
-
-	private void updateGridData(Control control) {
-		GridData data = new GridData();
-		data.horizontalAlignment       = GridData.FILL;
-		data.grabExcessHorizontalSpace = false;
-		control.setLayoutData(data);
-	}
-}
\ No newline at end of file
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlEnablerTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlEnablerTest.java
deleted file mode 100644
index d6406a1..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlEnablerTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-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.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class ControlEnablerTest {
-	private Composite parent;
-
-	@Before
-	public void setUp() {
-		parent = new Composite(SWTUtil.getShell(), SWT.NONE);
-		parent.setLayout(new GridLayout());
-	}
-
-	@After
-	public void tearDown() {
-		if (parent != null) {
-			parent.dispose();
-		}
-	}
-
-	@Test
-	public void testSwitchState() {
-
-		SimplePropertyValueModel<Boolean> booleanHolder =
-			new SimplePropertyValueModel<Boolean>(true);
-
-		Combo combo = new Combo(parent, SWT.BORDER);
-
-		SWTTools.controlEnabledState(booleanHolder, combo);
-
-		assertTrue(
-			"The Combo should be enabled",
-			combo.isEnabled()
-		);
-
-		// Change state (null)
-		booleanHolder.setValue(null);
-
-		assertFalse(
-			"The Combo should not be enabled",
-			combo.isEnabled()
-		);
-
-		// Change state (true)
-		booleanHolder.setValue(true);
-
-		assertTrue(
-			"The Combo should be enabled",
-			combo.isEnabled()
-		);
-
-		// Change state (false)
-		booleanHolder.setValue(false);
-
-		assertFalse(
-			"The Combo should not be enabled",
-			combo.isEnabled()
-		);
-
-		// Dispose
-		combo.dispose();
-		booleanHolder.setValue(true);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlSwitcherTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlSwitcherTest.java
deleted file mode 100644
index 49111bd..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlSwitcherTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import org.eclipse.jpt.common.ui.internal.util.ControlSwitcher;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-import org.eclipse.jpt.common.utility.internal.Transformer;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.PageBook;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class ControlSwitcherTest {
-
-	private PageBook pageBook;
-	private Composite pane1;
-	private Composite pane2;
-	private Composite parent;
-
-	private Composite buildPane1() {
-
-		if (pane1 == null) {
-
-			pane1 = new Composite(pageBook, SWT.NULL);
-			pane1.setLayout(new GridLayout(2, false));
-
-			Label label = new Label(pane1, SWT.NULL);
-			label.setText("&Test2:");
-
-			Text text = new Text(pane1, SWT.BORDER);
-			text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-			Combo combo = new Combo(pane1, SWT.BORDER);
-
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			combo.setLayoutData(data);
-		}
-
-		return pane1;
-	}
-
-	private Composite buildPane2() {
-
-		if (pane2 == null) {
-
-			pane2 = new Composite(pageBook, SWT.NULL);
-			pane2.setLayout(new GridLayout(2, false));
-
-			Label label = new Label(pane2, SWT.NULL);
-			label.setText("&Test1:");
-
-			Text text = new Text(pane2, SWT.BORDER);
-			text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		}
-
-		return pane2;
-	}
-
-	private Transformer<Boolean, Control> buildTransformer() {
-		return new Transformer<Boolean, Control>() {
-			public Control transform(Boolean value) {
-				return (value == null) ? null : (value ? pane1 : pane2);
-			}
-		};
-	}
-
-	@Before
-	public void setUp() {
-		parent = new Composite(SWTUtil.getShell(), SWT.NONE);
-		parent.setLayout(new GridLayout());
-
-		pageBook = new PageBook(parent, SWT.NULL);
-		pageBook.setLayoutData(new GridData());
-	}
-
-	@After
-	public void tearDown() {
-
-		if (parent != null) {
-
-			parent.dispose();
-
-			parent   = null;
-			pageBook = null;
-		}
-	}
-
-	@Test
-	public void testSwitch() {
-
-		SimplePropertyValueModel<Boolean> switchHolder = new SimplePropertyValueModel<Boolean>();
-		Transformer<Boolean, Control> transformer = buildTransformer();
-
-		pane1 = buildPane1();
-		pane1.setVisible(false);
-
-		pane2 = buildPane2();
-		pane2.setVisible(false);
-
-		new ControlSwitcher(
-			switchHolder,
-			transformer,
-			pageBook
-		);
-
-		// Test 1
-		switchHolder.setValue(true);
-		Control control = (Control) ReflectionTools.getFieldValue(pageBook, "currentPage");
-
-		assertNotNull(
-			"The page book's page shouldn't be null",
-			control
-		);
-
-		assertSame(
-			"The current pane should be pane1",
-			pane1,
-			control
-		);
-
-		Point pane1Size = pane1.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		Point pageBookSize = pageBook.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-		assertEquals(
-			"The width of the PageBook should be the same as the width of pane1",
-			pane1Size.x,
-			pageBookSize.x
-		);
-
-		assertEquals(
-			"The height of the PageBook should be the same as the height of pane1",
-			pane1Size.y,
-			pageBookSize.y
-		);
-
-		// Test 2
-		switchHolder.setValue(false);
-		control = (Control) ReflectionTools.getFieldValue(pageBook, "currentPage");
-
-		assertNotNull(
-			"The page book's page shouldn't be null",
-			control
-		);
-
-		assertSame(
-			"The current pane should be pane2",
-			pane2,
-			control
-		);
-
-		Point pane2Size = pane2.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		pageBookSize = pageBook.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-		assertEquals(
-			"The width of the PageBook should be the same as the width of pane2",
-			pane2Size.x,
-			pageBookSize.x
-		);
-
-		assertEquals(
-			"The height of the PageBook should be the same as the height of pane2",
-			pane2Size.y,
-			pageBookSize.y
-		);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlVisibilityEnablerTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlVisibilityEnablerTest.java
deleted file mode 100644
index f978ed1..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/ControlVisibilityEnablerTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-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.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class ControlVisibilityEnablerTest {
-	private Composite parent;
-
-	@Before
-	public void setUp() {
-		parent = new Composite(SWTUtil.getShell(), SWT.NONE);
-		parent.setLayout(new GridLayout());
-	}
-
-	@After
-	public void tearDown() {
-		if (parent != null) {
-			parent.dispose();
-		}
-	}
-
-	@Test
-	public void testSwitchState() {
-
-		SimplePropertyValueModel<Boolean> booleanHolder =
-			new SimplePropertyValueModel<Boolean>(true);
-
-		Combo combo = new Combo(parent, SWT.BORDER);
-
-		SWTTools.controlVisibleState(booleanHolder, combo);
-
-		assertTrue(
-			"The Combo should be visible",
-			combo.isVisible()
-		);
-
-		// Change state (null)
-		booleanHolder.setValue(null);
-
-		assertFalse(
-			"The Combo should not be visible",
-			combo.isVisible()
-		);
-
-		// Change state (true)
-		booleanHolder.setValue(true);
-
-		assertTrue(
-			"The Combo should be visible",
-			combo.isVisible()
-		);
-
-		// Change state (false)
-		booleanHolder.setValue(false);
-
-		assertFalse(
-			"The Combo should not be visible",
-			combo.isVisible()
-		);
-
-		// Dispose
-		combo.dispose();
-		booleanHolder.setValue(true);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/JptUiUtilTests.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/JptUiUtilTests.java
deleted file mode 100644
index 38f00d2..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/JptUiUtilTests.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import junit.framework.JUnit4TestAdapter;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-@SuiteClasses
-({
-	ControlAlignerTest.class,
-	ControlSwitcherTest.class,
-	ControlEnablerTest.class,
-	ControlVisibilityEnablerTest.class,
-	LabeledButtonTest.class,
-	LabeledLabelTest.class,
-	LabeledControlUpdaterTest.class,
-	PaneEnablerTest.class,
-	PaneVisibilityEnablerTest.class,
-})
-@RunWith(Suite.class)
-public final class JptUiUtilTests {
-
-	private JptUiUtilTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(new JUnit4TestAdapter(JptUiUtilTests.class));
-		return suite;
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledButtonTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledButtonTest.java
deleted file mode 100644
index 52515ac..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledButtonTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertEquals;
-import org.eclipse.core.runtime.AssertionFailedException;
-import org.eclipse.jpt.common.ui.internal.util.LabeledButton;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class LabeledButtonTest {
-
-	private Composite parent;
-
-	@Before
-	public void setUp() {
-		parent = new Composite(SWTUtil.getShell(), SWT.NONE);
-		parent.setLayout(new GridLayout());
-	}
-
-	@After
-	public void tearDown() {
-		if (parent != null) {
-			parent.dispose();
-			parent = null;
-		}
-	}
-
-	@Test
-	public void testLabeledButton1() {
-		Button button = new Button(parent, SWT.NULL);
-		new LabeledButton(button);
-	}
-
-	@Test(expected=AssertionFailedException.class)
-	public void testLabeledButton2() {
-		new LabeledButton(null);
-	}
-
-	@Test
-	public void testSetImage() {
-
-		Image expected = new Image(parent.getDisplay(), 16, 16);
-
-		try {
-			Button button = new Button(parent, SWT.NULL);
-			LabeledButton labeledButton = new LabeledButton(button);
-
-			labeledButton.setImage(expected);
-
-			assertEquals(
-				"The Button didn't receive the Image",
-				expected,
-				button.getImage()
-			);
-		}
-		finally {
-			expected.dispose();
-		}
-	}
-
-	@Test
-	public void testSetImageDispose() {
-
-		Image expected = new Image(parent.getDisplay(), 16, 16);
-
-		try {
-			Button button = new Button(parent, SWT.NULL);
-			LabeledButton labeledButton = new LabeledButton(button);
-
-			button.dispose();
-
-			// This should not fail but simply do nothing
-			labeledButton.setImage(expected);
-		}
-		finally {
-			expected.dispose();
-		}
-	}
-
-	@Test
-	public void testSetText() {
-		Button button = new Button(parent, SWT.NULL);
-		LabeledButton labeledButton = new LabeledButton(button);
-
-		String expected = "This is a test";
-		labeledButton.setText(expected);
-
-		assertEquals(
-			"The Button didn't receive the text",
-			expected,
-			button.getText()
-		);
-	}
-
-	@Test
-	public void testSetTextDispose() {
-		Button button = new Button(parent, SWT.NULL);
-		LabeledButton labeledButton = new LabeledButton(button);
-
-		button.dispose();
-
-		// This should not fail but simply do nothing
-		String expected = "This is a test";
-		labeledButton.setText(expected);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledControlUpdaterTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledControlUpdaterTest.java
deleted file mode 100644
index cc8d6ee..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledControlUpdaterTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertEquals;
-import org.eclipse.jpt.common.ui.internal.util.LabeledControlUpdater;
-import org.eclipse.jpt.common.ui.internal.util.LabeledLabel;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class LabeledControlUpdaterTest {
-
-	private Composite parent;
-
-	@Before
-	public void setUp() {
-		parent = new Composite(SWTUtil.getShell(), SWT.NONE);
-		parent.setLayout(new GridLayout());
-	}
-
-	@After
-	public void tearDown() {
-		if (parent != null) {
-			parent.dispose();
-			parent = null;
-		}
-	}
-
-	@Test
-	public void testSetImage() {
-
-		Image expected = new Image(parent.getDisplay(), 16, 16);
-
-		try {
-			Label label = new Label(parent, SWT.NULL);
-			LabeledLabel labeledLabel = new LabeledLabel(label);
-
-			ModifiablePropertyValueModel<Image> imageHolder = new SimplePropertyValueModel<Image>();
-			new LabeledControlUpdater(labeledLabel, null, imageHolder);
-
-			labeledLabel.setImage(expected);
-
-			assertEquals(
-				"The Label didn't receive the Image",
-				expected,
-				label.getImage()
-			);
-		}
-		finally {
-			expected.dispose();
-		}
-	}
-
-	@Test
-	public void testSetImageDispose() {
-
-		Image expected = new Image(parent.getDisplay(), 16, 16);
-
-		try {
-			Label label = new Label(parent, SWT.NULL);
-			LabeledLabel labeledLabel = new LabeledLabel(label);
-
-			ModifiablePropertyValueModel<Image> imageHolder = new SimplePropertyValueModel<Image>();
-			new LabeledControlUpdater(labeledLabel, null, imageHolder);
-
-			label.dispose();
-			labeledLabel.setImage(expected);
-		}
-		finally {
-			expected.dispose();
-		}
-	}
-
-	@Test
-	public void testSetText() {
-
-		Label label = new Label(parent, SWT.NULL);
-		LabeledLabel labeledLabel = new LabeledLabel(label);
-
-		ModifiablePropertyValueModel<String> textHolder = new SimplePropertyValueModel<String>();
-		new LabeledControlUpdater(labeledLabel, textHolder);
-
-		String expected = "This is a test";
-		textHolder.setValue(expected);
-
-		assertEquals(
-			"The Label didn't receive the text",
-			expected,
-			label.getText()
-		);
-	}
-
-	@Test
-	public void testSetTextDispose() {
-
-		Label label = new Label(parent, SWT.NULL);
-		LabeledLabel labeledLabel = new LabeledLabel(label);
-
-		ModifiablePropertyValueModel<String> textHolder = new SimplePropertyValueModel<String>();
-		new LabeledControlUpdater(labeledLabel, textHolder);
-
-		label.dispose();
-
-		String expected = "This is a test";
-		textHolder.setValue(expected);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledLabelTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledLabelTest.java
deleted file mode 100644
index d43bcee..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/LabeledLabelTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertEquals;
-import org.eclipse.core.runtime.AssertionFailedException;
-import org.eclipse.jpt.common.ui.internal.util.LabeledLabel;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class LabeledLabelTest {
-
-	private Composite parent;
-
-	@Before
-	public void setUp() {
-		parent = new Composite(SWTUtil.getShell(), SWT.NONE);
-		parent.setLayout(new GridLayout());
-	}
-
-	@After
-	public void tearDown() {
-		if (parent != null) {
-			parent.dispose();
-			parent = null;
-		}
-	}
-
-	@Test
-	public void testLabeledButton1() {
-		Label label = new Label(parent, SWT.NULL);
-		new LabeledLabel(label);
-	}
-
-	@Test(expected=AssertionFailedException.class)
-	public void testLabeledButton2() {
-		new LabeledLabel(null);
-	}
-
-	@Test
-	public void testSetImage() {
-
-		Image expected = new Image(parent.getDisplay(), 16, 16);
-
-		try {
-			Label label = new Label(parent, SWT.NULL);
-			LabeledLabel labeledLabel = new LabeledLabel(label);
-
-			labeledLabel.setImage(expected);
-
-			assertEquals(
-				"The Label didn't receive the Image",
-				expected,
-				label.getImage()
-			);
-		}
-		finally {
-			expected.dispose();
-		}
-	}
-
-	@Test
-	public void testSetImageDispose() {
-
-		Image expected = new Image(parent.getDisplay(), 16, 16);
-
-		try {
-			Label label = new Label(parent, SWT.NULL);
-			LabeledLabel labeledLabel = new LabeledLabel(label);
-
-			label.dispose();
-
-			// This should not fail but simply do nothing
-			labeledLabel.setImage(expected);
-		}
-		finally {
-			expected.dispose();
-		}
-	}
-
-	@Test
-	public void testSetText() {
-		Label label = new Label(parent, SWT.NULL);
-		LabeledLabel labeledLabel = new LabeledLabel(label);
-
-		String expected = "This is a test";
-		labeledLabel.setText(expected);
-
-		assertEquals(
-			"The Label didn't receive the text",
-			expected,
-			label.getText()
-		);
-	}
-
-	@Test
-	public void testSetTextDispose() {
-		Label label = new Label(parent, SWT.NULL);
-		LabeledLabel labeledLabel = new LabeledLabel(label);
-
-		label.dispose();
-
-		// This should not fail but simply do nothing
-		String expected = "This is a test";
-		labeledLabel.setText(expected);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/PaneEnablerTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/PaneEnablerTest.java
deleted file mode 100644
index b68fd99..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/PaneEnablerTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.widgets.DialogPane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.node.Node;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class PaneEnablerTest {
-	private Composite parent;
-
-	@Before
-	public void setUp() {
-		parent = new Composite(SWTUtil.getShell(), SWT.NONE);
-		parent.setLayout(new GridLayout());
-	}
-
-	@After
-	public void tearDown() {
-		if (parent != null) {
-			parent.dispose();
-		}
-	}
-
-	@Test
-	public void testSwitchState() {
-
-		SimplePropertyValueModel<Boolean> booleanHolder =
-			new SimplePropertyValueModel<Boolean>(true);
-
-		DialogPane<Node> pane = new DialogPane<Node>(
-			new SimplePropertyValueModel<Node>(),
-			parent)
-		{
-			@Override
-			protected void initializeLayout(Composite container) {
-			}
-		};
-
-		new PaneEnabler(booleanHolder, pane);
-
-		assertTrue(
-			"The pane should be enabled",
-			pane.getControl().isEnabled()
-		);
-
-		// Change state (null)
-		booleanHolder.setValue(null);
-
-		assertFalse(
-			"The pane should not be enabled",
-			pane.getControl().isEnabled()
-		);
-
-		// Change state (true)
-		booleanHolder.setValue(true);
-
-		assertTrue(
-			"The pane should be enabled",
-			pane.getControl().isEnabled()
-		);
-
-		// Change state (false)
-		booleanHolder.setValue(false);
-
-		assertFalse(
-			"The pane should not be enabled",
-			pane.getControl().isEnabled()
-		);
-
-		// Dispose
-		pane.dispose();
-		booleanHolder.setValue(true);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/PaneVisibilityEnablerTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/PaneVisibilityEnablerTest.java
deleted file mode 100644
index e0ac3ce..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/util/PaneVisibilityEnablerTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.util;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import org.eclipse.jpt.common.ui.internal.util.PaneVisibilityEnabler;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.widgets.DialogPane;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.node.Node;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("nls")
-public final class PaneVisibilityEnablerTest {
-	private Composite parent;
-
-	@Before
-	public void setUp() {
-		parent = new Composite(SWTUtil.getShell(), SWT.NONE);
-		parent.setLayout(new GridLayout());
-	}
-
-	@After
-	public void tearDown() {
-		if (parent != null) {
-			parent.dispose();
-		}
-	}
-
-	@Test
-	public void testSwitchState() {
-
-		SimplePropertyValueModel<Boolean> booleanHolder =
-			new SimplePropertyValueModel<Boolean>(true);
-
-		DialogPane<Node> pane = new DialogPane<Node>(
-			new SimplePropertyValueModel<Node>(),
-			parent)
-		{
-			@Override
-			protected void initializeLayout(Composite container) {
-			}
-		};
-
-		new PaneVisibilityEnabler(booleanHolder, pane);
-
-		assertTrue(
-			"The pane should be visible",
-			pane.getControl().isVisible()
-		);
-
-		// Change state (null)
-		booleanHolder.setValue(null);
-
-		assertFalse(
-			"The pane should not be visible",
-			pane.getControl().isVisible()
-		);
-
-		// Change state (true)
-		booleanHolder.setValue(true);
-
-		assertTrue(
-			"The pane should be visible",
-			pane.getControl().isVisible()
-		);
-
-		// Change state (false)
-		booleanHolder.setValue(false);
-
-		assertFalse(
-			"The pane should not be visible",
-			pane.getControl().isVisible()
-		);
-
-		// Dispose
-		pane.dispose();
-		booleanHolder.setValue(true);
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/BooleanStateControllerUITest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/BooleanStateControllerUITest.java
deleted file mode 100644
index 5430977..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/BooleanStateControllerUITest.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.utility.swt;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.common.utility.internal.model.value.SimpleListValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-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.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Play around with boolean state controllers ('enabled' and 'visible').
- * <p>
- * Note the behavior of composites:<ul>
- * <li>When a composite is disabled, its children are disabled but <em>not</em>
- *     grayed out.
- * <li>When a composite is made invisible, its children are also made
- *     invisible.
- * </ul>
- */
-@SuppressWarnings("nls")
-public class BooleanStateControllerUITest
-	extends ApplicationWindow
-{
-	private final ModifiablePropertyValueModel<Boolean> enabledHolder;
-	private final ModifiablePropertyValueModel<Boolean> visibleHolder;
-	private final SimpleListValueModel<String> listHolder;
-	private final ModifiablePropertyValueModel<String> listSelectionHolder;
-
-	public static void main(String[] args) throws Exception {
-		Window window = new BooleanStateControllerUITest(args);
-		window.setBlockOnOpen(true);
-		window.open();
-		Display.getCurrent().dispose();
-		System.exit(0);
-	}
-
-	private BooleanStateControllerUITest(@SuppressWarnings("unused") String[] args) {
-		super(null);
-		this.enabledHolder = new SimplePropertyValueModel<Boolean>(Boolean.TRUE);
-		this.visibleHolder = new SimplePropertyValueModel<Boolean>(Boolean.TRUE);
-		this.listHolder = this.buildListHolder();
-		this.listSelectionHolder = new SimplePropertyValueModel<String>(null);
-	}
-
-	private SimpleListValueModel<String> buildListHolder() {
-		SimpleListValueModel<String> result = new SimpleListValueModel<String>();
-		result.add("zero");
-		result.add("one");
-		result.add("two");
-		result.add("three");
-		result.add("four");
-		result.add("five");
-		result.add("six");
-		result.add("seven");
-		return result;
-	}
-
-	@Override
-	protected Control createContents(Composite parent) {
-		((Shell) parent).setText(this.getClass().getSimpleName());
-		parent.setSize(500, 150);
-		Composite mainPanel = new Composite(parent, SWT.NONE);
-		mainPanel.setLayout(new FormLayout());
-		Control widgetPanel = this.buildWidgetPanels(mainPanel);
-		this.buildControlPanel(mainPanel, widgetPanel);
-		return mainPanel;
-	}
-
-	private Control buildWidgetPanels(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100, -35);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout(SWT.VERTICAL));
-
-		this.buildWidgetPanel1(panel);
-		this.buildWidgetPanel2(panel);
-
-		return panel;
-	}
-
-	private void buildWidgetPanel1(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayout(new FillLayout(SWT.HORIZONTAL));
-
-		Button enabledComboBoxCheckBox = this.buildEnabledComboBoxCheckBox(panel);
-		SWTTools.bind(this.enabledHolder, enabledComboBoxCheckBox);
-
-		Button visibleComboBoxCheckBox = this.buildVisibleComboBoxCheckBox(panel);
-		SWTTools.bind(this.visibleHolder, visibleComboBoxCheckBox);
-
-		Label comboBoxLabel = this.buildComboBoxLabel(panel);
-		Combo comboBox = this.buildComboBox(panel);
-		SWTTools.bind(this.listHolder, this.listSelectionHolder, comboBox);
-		SWTTools.controlEnabledState(this.enabledHolder, comboBoxLabel, comboBox);
-		SWTTools.controlVisibleState(this.visibleHolder, comboBoxLabel, comboBox);
-	}
-
-	private Button buildEnabledComboBoxCheckBox(Composite parent) {
-		return this.buildCheckBox(parent, "enabled");
-	}
-
-	private Button buildVisibleComboBoxCheckBox(Composite parent) {
-		return this.buildCheckBox(parent, "visible");
-	}
-
-	private Button buildCheckBox(Composite parent, String text) {
-		Button checkBox = new Button(parent, SWT.CHECK);
-		checkBox.setText(text);
-		return checkBox;
-	}
-
-	private Label buildComboBoxLabel(Composite parent) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText("list:");
-		return label;
-	}
-
-	private Combo buildComboBox(Composite parent) {
-		return new Combo(parent, SWT.READ_ONLY);
-	}
-
-	private void buildWidgetPanel2(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayout(new FillLayout(SWT.HORIZONTAL));
-
-		Button checkBox1 = this.buildCheckBox(panel, "one");
-		this.buildCheckBox(panel, "two");
-		this.buildCheckBox(panel, "three");
-		this.buildCheckBox(panel, "four");
-
-		SWTTools.controlEnabledState(this.enabledHolder, panel, checkBox1);
-		SWTTools.controlVisibleState(this.visibleHolder, panel);
-	}
-
-	private void buildControlPanel(Composite parent, Control widgetPanel) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(widgetPanel);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildClearEnabledModelButton(panel);
-		this.buildClearVisibleModelButton(panel);
-		this.buildNullSelectionModelButton(panel);
-		this.buildNextButton(panel);
-	}
-
-	private void buildClearEnabledModelButton(Composite parent) {
-		this.buildClearEnabledModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildClearEnabledModelACI() {
-		Action action = new Action("clear enabled model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				BooleanStateControllerUITest.this.clearEnabledModel();
-			}
-		};
-		action.setToolTipText("clear enabled model");
-		return new ActionContributionItem(action);
-	}
-
-	void clearEnabledModel() {
-		this.enabledHolder.setValue(null);
-	}
-
-	private void buildClearVisibleModelButton(Composite parent) {
-		this.buildClearVisibleModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildClearVisibleModelACI() {
-		Action action = new Action("clear visible model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				BooleanStateControllerUITest.this.clearVisibleModel();
-			}
-		};
-		action.setToolTipText("clear visible model");
-		return new ActionContributionItem(action);
-	}
-
-	void clearVisibleModel() {
-		this.visibleHolder.setValue(null);
-	}
-
-	private void buildNullSelectionModelButton(Composite parent) {
-		this.buildNullSelectionModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildNullSelectionModelACI() {
-		Action action = new Action("null selection model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				BooleanStateControllerUITest.this.setSelectionModelNull();
-			}
-		};
-		action.setToolTipText("null selection model");
-		return new ActionContributionItem(action);
-	}
-
-	void setSelectionModelNull() {
-		this.listSelectionHolder.setValue(null);
-	}
-
-	private void buildNextButton(Composite parent) {
-		this.buildNextACI().fill(parent);
-	}
-
-	private ActionContributionItem buildNextACI() {
-		Action action = new Action("next", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				BooleanStateControllerUITest.this.next();
-			}
-		};
-		action.setToolTipText("next");
-		return new ActionContributionItem(action);
-	}
-
-	void next() {
-		this.listSelectionHolder.setValue(this.getNextListSelection());
-	}
-
-	private String getNextListSelection() {
-		return this.listHolder.get(this.getNextListSelectionIndex());
-	}
-
-	private int getNextListSelectionIndex() {
-		int index = this.getListSelectionIndex();
-		if (index == -1) {
-			return 0;
-		}
-		index++;
-		return (index == this.listHolder.size()) ? 0 : index;
-	}
-
-	private int getListSelectionIndex() {
-		return this.listHolder.indexOf(this.getListSelection());
-	}
-
-	private String getListSelection() {
-		return this.listSelectionHolder.getValue();
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/CheckBoxModelBindingUITest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/CheckBoxModelBindingUITest.java
deleted file mode 100644
index 2f65e39..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/CheckBoxModelBindingUITest.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.utility.swt;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Play around with a set of check boxes.
- */
-@SuppressWarnings("nls")
-public class CheckBoxModelBindingUITest
-	extends ApplicationWindow
-{
-	private final TestModel testModel;
-	private final ModifiablePropertyValueModel<TestModel> testModelHolder;
-	private final ModifiablePropertyValueModel<Boolean> flag1Holder;
-	private final ModifiablePropertyValueModel<Boolean> flag2Holder;
-	private final ModifiablePropertyValueModel<Boolean> notFlag2Holder;
-
-	public static void main(String[] args) throws Exception {
-		Window window = new CheckBoxModelBindingUITest(args);
-		window.setBlockOnOpen(true);
-		window.open();
-		Display.getCurrent().dispose();
-		System.exit(0);
-	}
-
-	private CheckBoxModelBindingUITest(@SuppressWarnings("unused") String[] args) {
-		super(null);
-		this.testModel = new TestModel(true, true);
-		this.testModelHolder = new SimplePropertyValueModel<TestModel>(this.testModel);
-		this.flag1Holder = this.buildFlag1Holder(this.testModelHolder);
-		this.flag2Holder = this.buildFlag2Holder(this.testModelHolder);
-		this.notFlag2Holder = this.buildNotFlag2Holder(this.testModelHolder);
-	}
-
-	private ModifiablePropertyValueModel<Boolean> buildFlag1Holder(PropertyValueModel<TestModel> subjectHolder) {
-		return new PropertyAspectAdapter<TestModel, Boolean>(subjectHolder, TestModel.FLAG1_PROPERTY) {
-			@Override
-			protected Boolean buildValue_() {
-				return Boolean.valueOf(this.subject.isFlag1());
-			}
-			@Override
-			protected void setValue_(Boolean value) {
-				this.subject.setFlag1(value.booleanValue());
-			}
-		};
-	}
-
-	private ModifiablePropertyValueModel<Boolean> buildFlag2Holder(PropertyValueModel<TestModel> subjectHolder) {
-		return new PropertyAspectAdapter<TestModel, Boolean>(subjectHolder, TestModel.FLAG2_PROPERTY) {
-			@Override
-			protected Boolean buildValue_() {
-				return Boolean.valueOf(this.subject.isFlag2());
-			}
-			@Override
-			protected void setValue_(Boolean value) {
-				this.subject.setFlag2(value.booleanValue());
-			}
-		};
-	}
-
-	private ModifiablePropertyValueModel<Boolean> buildNotFlag2Holder(PropertyValueModel<TestModel> subjectHolder) {
-		return new PropertyAspectAdapter<TestModel, Boolean>(subjectHolder, TestModel.NOT_FLAG2_PROPERTY) {
-			@Override
-			protected Boolean buildValue_() {
-				return Boolean.valueOf(this.subject.isNotFlag2());
-			}
-			@Override
-			protected void setValue_(Boolean value) {
-				this.subject.setNotFlag2(value.booleanValue());
-			}
-		};
-	}
-
-	@Override
-	protected Control createContents(Composite parent) {
-		((Shell) parent).setText(this.getClass().getSimpleName());
-		parent.setSize(400, 100);
-		Composite mainPanel = new Composite(parent, SWT.NONE);
-		mainPanel.setLayout(new FormLayout());
-		Control checkBoxPanel = this.buildCheckBoxPanel(mainPanel);
-		this.buildControlPanel(mainPanel, checkBoxPanel);
-		return mainPanel;
-	}
-
-	private Control buildCheckBoxPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100, -35);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildFlag1CheckBox(panel);
-		this.buildFlag2CheckBox(panel);
-		this.buildNotFlag2CheckBox(panel);
-		this.buildUnattachedCheckBox(panel);
-
-		return panel;
-	}
-
-	private void buildFlag1CheckBox(Composite parent) {
-		Button checkBox = new Button(parent, SWT.CHECK);
-		checkBox.setText("flag 1");
-		SWTTools.bind(this.flag1Holder, checkBox);
-	}
-
-	private void buildFlag2CheckBox(Composite parent) {
-		Button checkBox = new Button(parent, SWT.CHECK);
-		checkBox.setText("flag 2");
-		SWTTools.bind(this.flag2Holder, checkBox);
-	}
-
-	private void buildNotFlag2CheckBox(Composite parent) {
-		Button checkBox = new Button(parent, SWT.CHECK);
-		checkBox.setText("not flag 2");
-		SWTTools.bind(this.notFlag2Holder, checkBox);
-	}
-
-	private void buildUnattachedCheckBox(Composite parent) {
-		Button checkBox = new Button(parent, SWT.CHECK);
-		checkBox.setText("unattached");
-		checkBox.addSelectionListener(this.buildUnattachedSelectionListener());
-	}
-
-	private SelectionListener buildUnattachedSelectionListener() {
-		return new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				System.out.println("unattached default selected: " + e);
-			}
-			public void widgetSelected(SelectionEvent e) {
-				System.out.println("unattached selected: " + e);
-			}
-		};
-	}
-
-	private void buildControlPanel(Composite parent, Control checkBoxPanel) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(checkBoxPanel);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildFlipFlag1Button(panel);
-		this.buildNotFlag2ToggleButton(panel);
-		this.buildClearModelButton(panel);
-		this.buildRestoreModelButton(panel);
-		this.buildPrintModelButton(panel);
-	}
-
-	private void buildFlipFlag1Button(Composite parent) {
-		this.buildFlipFlag1ACI().fill(parent);
-	}
-
-	private ActionContributionItem buildFlipFlag1ACI() {
-		Action action = new Action("flip flag 1", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				CheckBoxModelBindingUITest.this.flipFlag1();
-			}
-		};
-		action.setToolTipText("flip flag 1");
-		return new ActionContributionItem(action);
-	}
-
-	void flipFlag1() {
-		this.testModel.setFlag1( ! this.testModel.isFlag1());
-	}
-
-	private void buildNotFlag2ToggleButton(Composite parent) {
-		Button checkBox = new Button(parent, SWT.TOGGLE);
-		checkBox.setText("not flag 2");
-		SWTTools.bind(this.notFlag2Holder, checkBox);
-	}
-
-	private void buildClearModelButton(Composite parent) {
-		this.buildClearModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildClearModelACI() {
-		Action action = new Action("clear model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				CheckBoxModelBindingUITest.this.clearModel();
-			}
-		};
-		action.setToolTipText("clear model");
-		return new ActionContributionItem(action);
-	}
-
-	void clearModel() {
-		this.testModelHolder.setValue(null);
-	}
-
-	private void buildRestoreModelButton(Composite parent) {
-		this.buildRestoreModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildRestoreModelACI() {
-		Action action = new Action("restore model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				CheckBoxModelBindingUITest.this.restoreModel();
-			}
-		};
-		action.setToolTipText("restore model");
-		return new ActionContributionItem(action);
-	}
-
-	void restoreModel() {
-		this.testModelHolder.setValue(this.testModel);
-	}
-
-	private void buildPrintModelButton(Composite parent) {
-		this.buildPrintModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildPrintModelACI() {
-		Action action = new Action("print model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				CheckBoxModelBindingUITest.this.printModel();
-			}
-		};
-		action.setToolTipText("print model");
-		return new ActionContributionItem(action);
-	}
-
-	void printModel() {
-		System.out.println("flag 1: " + this.testModel.isFlag1());
-		System.out.println("flag 2: " + this.testModel.isFlag2());
-		System.out.println("not flag 2: " + this.testModel.isNotFlag2());
-		System.out.println("***");
-	}
-
-
-	public static class TestModel extends AbstractModel {
-		private boolean flag1;
-			public static final String FLAG1_PROPERTY = "flag1";
-		private boolean flag2;
-			public static final String FLAG2_PROPERTY = "flag2";
-		private boolean notFlag2;
-			public static final String NOT_FLAG2_PROPERTY = "notFlag2";
-	
-		public TestModel(boolean flag1, boolean flag2) {
-			this.flag1 = flag1;
-			this.flag2 = flag2;
-			this.notFlag2 = ! flag2;
-		}
-		public boolean isFlag1() {
-			return this.flag1;
-		}
-		public void setFlag1(boolean flag1) {
-			boolean old = this.flag1;
-			this.flag1 = flag1;
-			this.firePropertyChanged(FLAG1_PROPERTY, old, flag1);
-		}
-		public boolean isFlag2() {
-			return this.flag2;
-		}
-		public void setFlag2(boolean flag2) {
-			boolean old = this.flag2;
-			this.flag2 = flag2;
-			this.firePropertyChanged(FLAG2_PROPERTY, old, flag2);
-	
-			old = this.notFlag2;
-			this.notFlag2 = ! flag2;
-			this.firePropertyChanged(NOT_FLAG2_PROPERTY, old, this.notFlag2);
-		}
-		public boolean isNotFlag2() {
-			return this.notFlag2;
-		}
-		public void setNotFlag2(boolean notFlag2) {
-			this.setFlag2( ! notFlag2);
-		}
-		@Override
-		public String toString() {
-			return "TestModel(" + this.isFlag1() + " - " + this.isFlag2() + ")";
-		}
-	}
-
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/DropDownListBoxModelBindingUITest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/DropDownListBoxModelBindingUITest.java
deleted file mode 100644
index 041b48d..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/DropDownListBoxModelBindingUITest.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.utility.swt;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelWrapper;
-import org.eclipse.jpt.common.utility.model.Model;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Play around with a set of read-only combo-boxes.
- */
-@SuppressWarnings("nls")
-public class DropDownListBoxModelBindingUITest
-	extends ApplicationWindow
-{
-	final TaskList taskList;
-	private final ModifiablePropertyValueModel<TaskList> taskListHolder;
-	private Text taskTextField;
-
-	public static void main(String[] args) throws Exception {
-		Window window = new DropDownListBoxModelBindingUITest(args);
-		window.setBlockOnOpen(true);
-		window.open();
-		Display.getCurrent().dispose();
-		System.exit(0);
-	}
-
-	private DropDownListBoxModelBindingUITest(@SuppressWarnings("unused") String[] args) {
-		super(null);
-		this.taskList = new TaskList();
-		this.taskListHolder = new SimplePropertyValueModel<TaskList>(this.taskList);
-		this.taskList.addTask("swim");
-		this.taskList.addTask("bike");
-		this.taskList.addTask("run");
-		Task rest = this.taskList.addTask("rest");
-		this.taskList.addTask("repeat");
-		this.taskList.setPriorityTask(rest);
-	}
-
-	@Override
-	protected Control createContents(Composite parent) {
-		((Shell) parent).setText(this.getClass().getSimpleName());
-		parent.setSize(800, 300);
-		Composite mainPanel = new Composite(parent, SWT.NONE);
-		mainPanel.setLayout(new FormLayout());
-		Control taskListPanel = this.buildTaskListPanel(mainPanel);
-		this.buildControlPanel(mainPanel, taskListPanel);
-		return mainPanel;
-	}
-
-	private Control buildTaskListPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100, -30);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FormLayout());
-		this.buildTaskListPanel_(panel);  // false = native (Combo)
-
-		return panel;
-	}
-
-	private Control buildTaskListPanel_(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(50);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FormLayout());
-		this.buildPrimitiveTaskListPanel(panel);
-		this.buildObjectTaskListPanel(panel);
-
-		return panel;
-	}
-
-	private void buildPrimitiveTaskListPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(50);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildUnsortedPrimitiveListPanel(panel);
-		this.buildStandardSortedPrimitiveListPanel(panel);
-		this.buildCustomSortedPrimitiveListPanel(panel);
-	}
-
-	private void buildObjectTaskListPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(50);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildUnsortedObjectListPanel(panel);
-		this.buildStandardSortedObjectListPanel(panel);
-		this.buildCustomSortedObjectListPanel(panel);
-	}
-
-	private void buildUnsortedPrimitiveListPanel(Composite parent) {
-		String label = "primitive unsorted";
-		this.buildComboBoxPanel(parent, label, this.buildUnsortedPrimitiveListModel(), this.buildPriorityTaskNameAdapter());
-	}
-
-	private void buildStandardSortedPrimitiveListPanel(Composite parent) {
-		String label = "primitive sorted";
-		this.buildComboBoxPanel(parent, label, this.buildStandardSortedPrimitiveListModel(), this.buildPriorityTaskNameAdapter());
-	}
-
-	private void buildCustomSortedPrimitiveListPanel(Composite parent) {
-		String label = "primitive reverse sorted";
-		this.buildComboBoxPanel(parent, label, this.buildCustomSortedPrimitiveListModel(), this.buildPriorityTaskNameAdapter());
-	}
-
-	private void buildUnsortedObjectListPanel(Composite parent) {
-		String label = "object unsorted";
-		this.buildComboBoxPanel(parent, label, this.buildUnsortedObjectListModel(), this.buildPriorityTaskAdapter());
-	}
-
-	private void buildStandardSortedObjectListPanel(Composite parent) {
-		String label = "object sorted";
-		this.buildComboBoxPanel(parent, label, this.buildStandardSortedObjectListModel(), this.buildPriorityTaskAdapter());
-	}
-
-	private void buildCustomSortedObjectListPanel(Composite parent) {
-		String label = "object reverse sorted";
-		this.buildComboBoxPanel(parent, label, this.buildCustomSortedObjectListModel(), this.buildPriorityTaskAdapter());
-	}
-
-	private ListValueModel<String> buildUnsortedPrimitiveListModel() {
-		return this.buildPrimitiveTaskListAdapter();
-	}
-
-	private ListValueModel<String> buildStandardSortedPrimitiveListModel() {
-		return new SortedListValueModelWrapper<String>(this.buildPrimitiveTaskListAdapter());
-	}
-
-	private ListValueModel<String> buildCustomSortedPrimitiveListModel() {
-		return new SortedListValueModelWrapper<String>(this.buildPrimitiveTaskListAdapter(), this.buildCustomStringComparator());
-	}
-
-	private ListValueModel<Task> buildUnsortedObjectListModel() {
-		return this.buildObjectTaskListAdapter();
-	}
-
-	private ListValueModel<Task> buildStandardSortedObjectListModel() {
-		return new SortedListValueModelWrapper<Task>(this.buildObjectTaskListAdapter());
-	}
-
-	private ListValueModel<Task> buildCustomSortedObjectListModel() {
-		return new SortedListValueModelWrapper<Task>(this.buildObjectTaskListAdapter(), this.buildCustomTaskComparator());
-	}
-
-	private <E> void buildComboBoxPanel(Composite parent, String label, ListValueModel<E> model, ModifiablePropertyValueModel<E> selectedItemModel) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayout(new FormLayout());
-
-		Label comboBoxLabel = new Label(panel, SWT.LEFT | SWT.VERTICAL);
-		comboBoxLabel.setText(label);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0, 3);
-			fd.bottom = new FormAttachment(0, 20);
-			fd.left = new FormAttachment(0, 5);
-			fd.right = new FormAttachment(100);
-		comboBoxLabel.setLayoutData(fd);
-
-		Combo comboBox = this.buildComboBox(panel);
-		fd = new FormData();
-			fd.top = new FormAttachment(comboBoxLabel);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		comboBox.setLayoutData(fd);
-		SWTTools.bind(model, selectedItemModel, comboBox);  // use #toString()
-	}
-
-	private Combo buildComboBox(Composite parent) {
-		return new Combo(parent, SWT.READ_ONLY);
-	}
-
-	private Comparator<String> buildCustomStringComparator() {
-		return new Comparator<String>() {
-			public int compare(String s1, String s2) {
-				return s2.compareTo(s1);
-			}
-		};
-	}
-
-	private Comparator<Task> buildCustomTaskComparator() {
-		return new Comparator<Task>() {
-			public int compare(Task to1, Task to2) {
-				return to2.compareTo(to1);
-			}
-		};
-	}
-
-	private ListValueModel<String> buildPrimitiveTaskListAdapter() {
-		return new ListAspectAdapter<TaskList, String>(this.taskListHolder, TaskList.TASK_NAMES_LIST) {
-			@Override
-			protected ListIterator<String> listIterator_() {
-				return this.subject.taskNames();
-			}
-		};
-	}
-
-	private ListValueModel<Task> buildObjectTaskListAdapter() {
-		return new ListAspectAdapter<TaskList, Task>(this.taskListHolder, TaskList.TASKS_LIST) {
-			@Override
-			protected ListIterator<Task> listIterator_() {
-				return this.subject.tasks();
-			}
-		};
-	}
-
-	private ModifiablePropertyValueModel<Task> buildPriorityTaskAdapter() {
-		return new PriorityTaskAdapter(this.taskListHolder);
-	}
-
-	static class PriorityTaskAdapter
-		extends PropertyAspectAdapter<TaskList, Task>
-	{
-		PriorityTaskAdapter(ModifiablePropertyValueModel<TaskList> taskListHolder) {
-			super(taskListHolder, TaskList.PRIORITY_TASK_PROPERTY);
-		}
-		@Override
-		protected Task buildValue_() {
-			return this.subject.getPriorityTask();
-		}
-		@Override
-		protected void setValue_(Task value) {
-			this.subject.setPriorityTask(value);
-		}
-	}
-
-	private ModifiablePropertyValueModel<String> buildPriorityTaskNameAdapter() {
-		return new PriorityTaskNameAdapter(this.taskListHolder);
-	}
-
-	static class PriorityTaskNameAdapter
-		extends PropertyAspectAdapter<TaskList, String>
-	{
-		PriorityTaskNameAdapter(ModifiablePropertyValueModel<TaskList> taskListHolder) {
-			super(taskListHolder, TaskList.PRIORITY_TASK_NAME_PROPERTY);
-		}
-		@Override
-		protected String buildValue_() {
-			return this.subject.getPriorityTaskName();
-		}
-		@Override
-		protected void setValue_(String value) {
-			// ignore
-		}
-	}
-
-	private void buildControlPanel(Composite parent, Control taskListPanel) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(taskListPanel);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FormLayout());
-		Control misc = this.buildMiscTaskPanel(panel);
-		this.buildAddRemoveTaskPanel(panel, misc);
-	}
-
-	// is there a better way to associate an ACI with form data?
-	private Control buildMiscTaskPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(100, -400);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildClearListACI().fill(panel);
-		this.buildClearModelACI().fill(panel);
-		this.buildRestoreModelACI().fill(panel);
-		this.buildChangePriorityTaskACI().fill(panel);
-		this.buildClearPriorityTaskACI().fill(panel);
-		return panel;
-	}
-
-	private ActionContributionItem buildClearListACI() {
-		Action action = new Action("clear list", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				DropDownListBoxModelBindingUITest.this.clearTasks();
-			}
-		};
-		action.setToolTipText("clear all the tasks");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildClearModelACI() {
-		Action action = new Action("clear model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				DropDownListBoxModelBindingUITest.this.clearModel();
-			}
-		};
-		action.setToolTipText("clear the task list model");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildRestoreModelACI() {
-		Action action = new Action("restore model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				DropDownListBoxModelBindingUITest.this.restoreModel();
-			}
-		};
-		action.setToolTipText("restore the task list model");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildChangePriorityTaskACI() {
-		Action action = new Action("change priority", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				DropDownListBoxModelBindingUITest.this.changePriorityTask();
-			}
-		};
-		action.setToolTipText("change the priority task");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildClearPriorityTaskACI() {
-		Action action = new Action("clear priority", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				DropDownListBoxModelBindingUITest.this.clearPriorityTask();
-			}
-		};
-		action.setToolTipText("clear the priority task");
-		return new ActionContributionItem(action);
-	}
-
-	private void buildAddRemoveTaskPanel(Composite parent, Control clearButton) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(clearButton);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FormLayout());
-		Control addButton = this.buildAddButton(panel);
-		Control removeButton = this.buildRemoveButton(panel);
-		this.buildTaskTextField(panel, addButton, removeButton);
-	}
-
-	// is there a better way to associate an ACI with form data?
-	private Control buildAddButton(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(0, 50);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildAddACI().fill(panel);
-		return panel;
-	}
-
-	private ActionContributionItem buildAddACI() {
-		Action action = new Action("add", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				DropDownListBoxModelBindingUITest.this.addTask();
-			}
-		};
-		action.setToolTipText("add a task with the name in the entry field");
-		return new ActionContributionItem(action);
-	}
-
-	// is there a better way to associate an ACI with form data?
-	private Control buildRemoveButton(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(100, -50);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildRemoveACI().fill(panel);
-		return panel;
-	}
-
-	private ActionContributionItem buildRemoveACI() {
-		Action action = new Action("remove", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				DropDownListBoxModelBindingUITest.this.removeTask();
-			}
-		};
-		action.setToolTipText("remove the task with the name in the entry field");
-		return new ActionContributionItem(action);
-	}
-
-	private void buildTaskTextField(Composite parent, Control addButton, Control removeButton) {
-		this.taskTextField = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(addButton);
-			fd.right = new FormAttachment(removeButton);
-		this.taskTextField.setLayoutData(fd);
-	}
-
-	private String taskTextFieldText() {
-		return this.taskTextField.getText();
-	}
-
-	void addTask() {
-		String taskText = this.taskTextFieldText();
-		if (taskText.length() != 0) {
-			this.taskList.addTask(taskText);
-		}
-	}
-
-	void removeTask() {
-		String task = this.taskTextFieldText();
-		if (task.length() != 0) {
-			this.taskList.removeTask(task);
-		}
-	}
-
-	void clearTasks() {
-		this.taskList.clearTasks();
-	}
-
-	void clearModel() {
-		this.taskListHolder.setValue(null);
-	}
-
-	void restoreModel() {
-		this.taskListHolder.setValue(this.taskList);
-	}
-
-	void changePriorityTask() {
-		boolean found = false;
-		for (Task task : this.taskList.getTasks()) {
-			if (this.taskList.getPriorityTask() == task) {
-				found = true;
-			} else {
-				if (found) {
-					this.taskList.setPriorityTask(task);
-					return;
-				}
-			}
-		}
-		Iterator<Task> tasks = this.taskList.tasks();
-		if (tasks.hasNext()) {
-			this.taskList.setPriorityTask(tasks.next());
-		}
-	}
-
-	void clearPriorityTask() {
-		this.taskList.setPriorityTask(null);
-	}
-
-
-	// ********** TaskList **********
-
-	// note absence of validation...
-	public static class TaskList extends AbstractModel {
-		private final List<String> taskNames = new ArrayList<String>();
-			public static final String TASK_NAMES_LIST = "taskNames";
-		private final List<Task> tasks = new ArrayList<Task>();
-			public static final String TASKS_LIST = "tasks";
-		private String priorityTaskName = null;
-			public static final String PRIORITY_TASK_NAME_PROPERTY = "priorityTaskName";
-		private Task priorityTask = null;
-			public static final String PRIORITY_TASK_PROPERTY = "priorityTask";
-		public TaskList() {
-			super();
-		}
-		public ListIterator<String> taskNames() {
-			return this.taskNames.listIterator();
-		}
-		public Iterable<Task> getTasks() {
-			return this.tasks;
-		}
-		public ListIterator<Task> tasks() {
-			return this.tasks.listIterator();
-		}
-		public String getPriorityTaskName() {
-			return this.priorityTaskName;
-		}
-		public Task getPriorityTask() {
-			return this.priorityTask;
-		}
-		public Task addTask(String taskName) {
-			this.addItemToList(taskName, this.taskNames, TASK_NAMES_LIST);
-			Task task = new Task(taskName);
-			this.addItemToList(task, this.tasks, TASKS_LIST);
-			return task;
-		}		
-		public void removeTask(String taskName) {
-			int index = this.taskNames.indexOf(taskName);
-			if (index != -1) {
-				Task task = this.tasks.get(index);
-				if (task == this.priorityTask) {
-					this.setPriorityTask(null);
-				}
-				// assume the indexes match...
-				this.removeItemFromList(index, this.taskNames, TASK_NAMES_LIST);
-				this.removeItemFromList(index, this.tasks, TASKS_LIST);
-			}
-		}
-		public void clearTasks() {
-			this.setPriorityTask(null);
-			this.clearList(this.taskNames, TASK_NAMES_LIST);
-			this.clearList(this.tasks, TASKS_LIST);
-		}
-		private void setPriorityTaskName(String priorityTaskName) {
-			String old = this.priorityTaskName;
-			this.priorityTaskName = priorityTaskName;
-			this.firePropertyChanged(PRIORITY_TASK_NAME_PROPERTY, old, priorityTaskName);
-		}
-		public void setPriorityTask(Task priorityTask) {
-			Task old = this.priorityTask;
-			this.priorityTask = priorityTask;
-			this.firePropertyChanged(PRIORITY_TASK_PROPERTY, old, priorityTask);
-			this.setPriorityTaskName((priorityTask == null) ? null : priorityTask.getName());
-		}
-	}
-
-
-	// ********** Task **********
-
-	public static class Task extends AbstractModel implements Displayable {
-		private String name;
-		private int instanceCount;
-		private static int INSTANCE_COUNT = 1;
-		public Task(String name) {
-			this.name = name;
-			this.instanceCount = INSTANCE_COUNT++;
-		}
-		public String displayString() {
-			return this.name + ": " + this.instanceCount;
-		}
-		public int compareTo(Displayable o) {
-			return DEFAULT_COMPARATOR.compare(this, o);
-		}
-		public String getName() {
-			return this.name;
-		}
-		public void setName(String name) {
-			Object old = this.name;
-			this.name = name;
-			this.firePropertyChanged(DISPLAY_STRING_PROPERTY, old, name);
-		}
-		@Override
-		public String toString() {
-			return this.displayString();
-		}
-	}
-
-	public interface Displayable extends Model, Comparable<Displayable> {
-	
-		String displayString();
-			String DISPLAY_STRING_PROPERTY = "displayString";
-	
-	
-		// ********** helper implementations **********
-	
-		Collator DEFAULT_COLLATOR = Collator.getInstance();
-	
-		Comparator<Displayable> DEFAULT_COMPARATOR =
-			new Comparator<Displayable>() {
-				public int compare(Displayable d1, Displayable d2) {
-					// disallow duplicates based on object identity
-					if (d1 == d2) {
-						return 0;
-					}
-	
-					// first compare display strings using the default collator
-					int result = DEFAULT_COLLATOR.compare(d1.displayString(), d2.displayString());
-					if (result != 0) {
-						return result;
-					}
-	
-					// then compare using object-id
-					result = System.identityHashCode(d1) - System.identityHashCode(d2);
-					if (result != 0) {
-						return result;
-					}
-	
-					// It's unlikely that we get to this point; but, just in case, we will return -1.
-					// Unfortunately, this introduces some mild unpredictability to the sort order
-					// (unless the objects are always passed into this method in the same order).
-					return -1;		// if all else fails, indicate that o1 < o2
-				}
-				@Override
-				public String toString() {
-					return "Displayable.DEFAULT_COMPARATOR";
-				}
-			};
-	
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/ListBoxModelBindingUITest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/ListBoxModelBindingUITest.java
deleted file mode 100644
index 6ae7c79..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/ListBoxModelBindingUITest.java
+++ /dev/null
@@ -1,626 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.utility.swt;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.CollectionAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimpleCollectionValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelWrapper;
-import org.eclipse.jpt.common.utility.model.Model;
-import org.eclipse.jpt.common.utility.model.value.ListValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiableCollectionValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Play around with a set of list boxes.
- */
-@SuppressWarnings("nls")
-public class ListBoxModelBindingUITest
-	extends ApplicationWindow
-{
-	final TaskList taskList;
-	private final ModifiablePropertyValueModel<TaskList> taskListHolder;
-	private Text taskTextField;
-
-	public static void main(String[] args) throws Exception {
-		Window window = new ListBoxModelBindingUITest(args);
-		window.setBlockOnOpen(true);
-		window.open();
-		Display.getCurrent().dispose();
-		System.exit(0);
-	}
-
-	private ListBoxModelBindingUITest(@SuppressWarnings("unused") String[] args) {
-		super(null);
-		this.taskList = new TaskList();
-		this.taskListHolder = new SimplePropertyValueModel<TaskList>(this.taskList);
-		this.taskList.addTask("swim");
-		this.taskList.addTask("bike");
-		this.taskList.addTask("run");
-		Task rest = this.taskList.addTask("rest");
-		this.taskList.addPriorityTask(rest);
-		Task repeat = this.taskList.addTask("repeat");
-		this.taskList.addPriorityTask(repeat);
-	}
-
-	@Override
-	protected Control createContents(Composite parent) {
-		((Shell) parent).setText(this.getClass().getSimpleName());
-		parent.setSize(800, 400);
-		Composite mainPanel = new Composite(parent, SWT.NONE);
-		mainPanel.setLayout(new FormLayout());
-		Control taskListPanel = this.buildTaskListPanel(mainPanel);
-		this.buildControlPanel(mainPanel, taskListPanel);
-		return mainPanel;
-	}
-
-	private Control buildTaskListPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100, -30);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FormLayout());
-		this.buildPrimitiveTaskListPanel(panel);
-		this.buildObjectTaskListPanel(panel);
-
-		return panel;
-	}
-
-	private void buildPrimitiveTaskListPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(50);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildUnsortedPrimitiveListPanel(panel);
-		this.buildStandardSortedPrimitiveListPanel(panel);
-		this.buildCustomSortedPrimitiveListPanel(panel);
-	}
-
-	private void buildObjectTaskListPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(50);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildUnsortedObjectListPanel(panel);
-		this.buildStandardSortedObjectListPanel(panel);
-		this.buildCustomSortedObjectListPanel(panel);
-	}
-
-	private void buildUnsortedPrimitiveListPanel(Composite parent) {
-		this.buildListPanel(parent, "primitive unsorted", this.buildUnsortedPrimitiveListModel(), new SimpleCollectionValueModel<String>());
-	}
-
-	private void buildStandardSortedPrimitiveListPanel(Composite parent) {
-		this.buildListPanel(parent, "primitive sorted", this.buildStandardSortedPrimitiveListModel(), new SimpleCollectionValueModel<String>());
-	}
-
-	private void buildCustomSortedPrimitiveListPanel(Composite parent) {
-		this.buildListPanel(parent, "primitive reverse sorted", this.buildCustomSortedPrimitiveListModel(), new SimpleCollectionValueModel<String>());
-	}
-
-	private void buildUnsortedObjectListPanel(Composite parent) {
-		this.buildListPanel(parent, "object unsorted", this.buildUnsortedObjectListModel(), this.buildPriorityTaskListAdapter());
-	}
-
-	private void buildStandardSortedObjectListPanel(Composite parent) {
-		this.buildListPanel(parent, "object sorted", this.buildStandardSortedObjectListModel(), this.buildPriorityTaskListAdapter());
-	}
-
-	private void buildCustomSortedObjectListPanel(Composite parent) {
-		this.buildListPanel(parent, "object reverse sorted", this.buildCustomSortedObjectListModel(), this.buildPriorityTaskListAdapter());
-	}
-
-	private ListValueModel<String> buildUnsortedPrimitiveListModel() {
-		return this.buildPrimitiveTaskListAdapter();
-	}
-
-	private ListValueModel<String> buildStandardSortedPrimitiveListModel() {
-		return new SortedListValueModelWrapper<String>(this.buildPrimitiveTaskListAdapter());
-	}
-
-	private ListValueModel<String> buildCustomSortedPrimitiveListModel() {
-		return new SortedListValueModelWrapper<String>(this.buildPrimitiveTaskListAdapter(), this.buildCustomStringComparator());
-	}
-
-	private ListValueModel<Task> buildUnsortedObjectListModel() {
-		return this.buildObjectTaskListAdapter();
-	}
-
-	private ListValueModel<Task> buildStandardSortedObjectListModel() {
-		return new SortedListValueModelWrapper<Task>(this.buildObjectTaskListAdapter());
-	}
-
-	private ListValueModel<Task> buildCustomSortedObjectListModel() {
-		return new SortedListValueModelWrapper<Task>(this.buildObjectTaskListAdapter(), this.buildCustomTaskComparator());
-	}
-
-	private <E> org.eclipse.swt.widgets.List buildListPanel(Composite parent, String label, ListValueModel<E> model, ModifiableCollectionValueModel<E> selectedItemsModel) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setLayout(new FormLayout());
-
-		Label listLabel = new Label(panel, SWT.LEFT | SWT.VERTICAL);
-		listLabel.setText(label);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0, 3);
-			fd.bottom = new FormAttachment(0, 20);
-			fd.left = new FormAttachment(0, 5);
-			fd.right = new FormAttachment(100);
-		listLabel.setLayoutData(fd);
-
-		org.eclipse.swt.widgets.List listBox = new org.eclipse.swt.widgets.List(panel, SWT.MULTI | SWT.BORDER);
-		fd = new FormData();
-			fd.top = new FormAttachment(listLabel);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		listBox.setLayoutData(fd);
-		SWTTools.bind(model, selectedItemsModel, listBox);  // use #toString()
-		return listBox;
-	}
-
-	private Comparator<String> buildCustomStringComparator() {
-		return new Comparator<String>() {
-			public int compare(String s1, String s2) {
-				return s2.compareTo(s1);
-			}
-		};
-	}
-
-	private Comparator<Task> buildCustomTaskComparator() {
-		return new Comparator<Task>() {
-			public int compare(Task to1, Task to2) {
-				return to2.compareTo(to1);
-			}
-		};
-	}
-
-	private ListValueModel<String> buildPrimitiveTaskListAdapter() {
-		return new ListAspectAdapter<TaskList, String>(this.taskListHolder, TaskList.TASK_NAMES_LIST) {
-			@Override
-			protected ListIterator<String> listIterator_() {
-				return this.subject.taskNames();
-			}
-		};
-	}
-
-	private ListValueModel<Task> buildObjectTaskListAdapter() {
-		return new ListAspectAdapter<TaskList, Task>(this.taskListHolder, TaskList.TASKS_LIST) {
-			@Override
-			protected ListIterator<Task> listIterator_() {
-				return this.subject.tasks();
-			}
-		};
-	}
-
-	private ModifiableCollectionValueModel<Task> buildPriorityTaskListAdapter() {
-		return new PriorityTaskListAdapter(this.taskListHolder);
-	}
-
-	static class PriorityTaskListAdapter
-		extends CollectionAspectAdapter<TaskList, Task>
-		implements ModifiableCollectionValueModel<Task>
-	{
-		PriorityTaskListAdapter(ModifiablePropertyValueModel<TaskList> taskListHolder) {
-			super(taskListHolder, TaskList.PRIORITY_TASKS_COLLECTION);
-		}
-		@Override
-		protected Iterator<Task> iterator_() {
-			return this.subject.priorityTasks();
-		}
-		public void setValues(Iterable<Task> values) {
-			this.subject.setPriorityTasks(values);
-		}
-	}
-
-	private void buildControlPanel(Composite parent, Control taskListPanel) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(taskListPanel);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FormLayout());
-		Control misc = this.buildMiscTaskPanel(panel);
-		this.buildAddRemoveTaskPanel(panel, misc);
-	}
-
-	// is there a better way to associate an ACI with form data?
-	private Control buildMiscTaskPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(100, -400);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildClearListACI().fill(panel);
-		this.buildClearModelACI().fill(panel);
-		this.buildRestoreModelACI().fill(panel);
-		this.buildAddPriorityTaskACI().fill(panel);
-		this.buildRemovePriorityTaskACI().fill(panel);
-		this.buildClearPriorityTasksACI().fill(panel);
-		return panel;
-	}
-
-	private ActionContributionItem buildClearListACI() {
-		Action action = new Action("clear list", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				ListBoxModelBindingUITest.this.clearTasks();
-			}
-		};
-		action.setToolTipText("clear all the tasks");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildClearModelACI() {
-		Action action = new Action("clear model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				ListBoxModelBindingUITest.this.clearModel();
-			}
-		};
-		action.setToolTipText("clear the task list model");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildRestoreModelACI() {
-		Action action = new Action("restore model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				ListBoxModelBindingUITest.this.restoreModel();
-			}
-		};
-		action.setToolTipText("restore the task list model");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildAddPriorityTaskACI() {
-		Action action = new Action("add priority", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				ListBoxModelBindingUITest.this.addPriorityTask();
-			}
-		};
-		action.setToolTipText("add a task to the priority tasks");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildRemovePriorityTaskACI() {
-		Action action = new Action("remove priority", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				ListBoxModelBindingUITest.this.removePriorityTask();
-			}
-		};
-		action.setToolTipText("remove a task from the priority tasks");
-		return new ActionContributionItem(action);
-	}
-
-	private ActionContributionItem buildClearPriorityTasksACI() {
-		Action action = new Action("clear priority", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				ListBoxModelBindingUITest.this.clearPriorityTasks();
-			}
-		};
-		action.setToolTipText("clear the priority tasks");
-		return new ActionContributionItem(action);
-	}
-
-	private void buildAddRemoveTaskPanel(Composite parent, Control clearButton) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(clearButton);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FormLayout());
-		Control addButton = this.buildAddButton(panel);
-		Control removeButton = this.buildRemoveButton(panel);
-		this.buildTaskTextField(panel, addButton, removeButton);
-	}
-
-	// is there a better way to associate an ACI with form data?
-	private Control buildAddButton(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(0, 50);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildAddACI().fill(panel);
-		return panel;
-	}
-
-	private ActionContributionItem buildAddACI() {
-		Action action = new Action("add", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				ListBoxModelBindingUITest.this.addTask();
-			}
-		};
-		action.setToolTipText("add a task with the name in the entry field");
-		return new ActionContributionItem(action);
-	}
-
-	// is there a better way to associate an ACI with form data?
-	private Control buildRemoveButton(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(100, -50);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildRemoveACI().fill(panel);
-		return panel;
-	}
-
-	private ActionContributionItem buildRemoveACI() {
-		Action action = new Action("remove", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				ListBoxModelBindingUITest.this.removeTask();
-			}
-		};
-		action.setToolTipText("remove the task with the name in the entry field");
-		return new ActionContributionItem(action);
-	}
-
-	private void buildTaskTextField(Composite parent, Control addButton, Control removeButton) {
-		this.taskTextField = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(addButton);
-			fd.right = new FormAttachment(removeButton);
-		this.taskTextField.setLayoutData(fd);
-	}
-
-	private String taskTextFieldText() {
-		return this.taskTextField.getText();
-	}
-
-	void addTask() {
-		String taskText = this.taskTextFieldText();
-		if (taskText.length() != 0) {
-			this.taskList.addTask(taskText);
-		}
-	}
-
-	void removeTask() {
-		String task = this.taskTextFieldText();
-		if (task.length() != 0) {
-			this.taskList.removeTask(task);
-		}
-	}
-
-	void clearTasks() {
-		this.taskList.clearTasks();
-	}
-
-	void clearModel() {
-		this.taskListHolder.setValue(null);
-	}
-
-	void restoreModel() {
-		this.taskListHolder.setValue(this.taskList);
-	}
-
-	void addPriorityTask() {
-		Iterator<Task> tasks = this.taskList.tasks();
-		while (tasks.hasNext()) {
-			if (this.taskList.addPriorityTask(tasks.next())) {
-				return;
-			}
-		}
-	}
-
-	void removePriorityTask() {
-		Iterator<Task> pTasks = this.taskList.priorityTasks();
-		if (pTasks.hasNext()) {
-			this.taskList.removePriorityTask(pTasks.next());
-		}
-	}
-
-	void clearPriorityTasks() {
-		this.taskList.clearPriorityTasks();
-	}
-
-
-	// ********** TaskList **********
-
-	// note absence of validation...
-	public static class TaskList extends AbstractModel {
-		private final List<String> taskNames = new ArrayList<String>();
-			public static final String TASK_NAMES_LIST = "taskNames";
-		private final List<Task> tasks = new ArrayList<Task>();
-			public static final String TASKS_LIST = "tasks";
-		private final Collection<Task> priorityTasks = new HashSet<Task>();
-			public static final String PRIORITY_TASKS_COLLECTION = "priorityTasks";
-		public TaskList() {
-			super();
-		}
-		public ListIterator<String> taskNames() {
-			return this.taskNames.listIterator();
-		}
-		public ListIterator<Task> tasks() {
-			return this.tasks.listIterator();
-		}
-		public Iterator<Task> priorityTasks() {
-			return this.priorityTasks.iterator();
-		}
-		public Task addTask(String taskName) {
-			this.addItemToList(taskName, this.taskNames, TASK_NAMES_LIST);
-			Task task = new Task(taskName);
-			this.addItemToList(task, this.tasks, TASKS_LIST);
-			return task;
-		}		
-		public void removeTask(String taskName) {
-			int index = this.taskNames.indexOf(taskName);
-			if (index != -1) {
-				this.removeItemFromList(index, this.taskNames, TASK_NAMES_LIST);
-				// assume the indexes match...
-				Task removedTask = this.removeItemFromList(index, this.tasks, TASKS_LIST);
-				this.removeItemFromCollection(removedTask, this.priorityTasks, PRIORITY_TASKS_COLLECTION);
-			}
-		}
-		public void clearTasks() {
-			this.clearCollection(this.priorityTasks, PRIORITY_TASKS_COLLECTION);
-			this.clearList(this.taskNames, TASK_NAMES_LIST);
-			this.clearList(this.tasks, TASKS_LIST);
-		}
-		public boolean addPriorityTask(Task task) {
-			return this.addItemToCollection(task, this.priorityTasks, PRIORITY_TASKS_COLLECTION);
-		}		
-		public void removePriorityTask(Task task) {
-			this.removeItemFromCollection(task, this.priorityTasks, PRIORITY_TASKS_COLLECTION);
-		}
-		public void clearPriorityTasks() {
-			this.clearCollection(this.priorityTasks, PRIORITY_TASKS_COLLECTION);
-		}
-		public void setPriorityTasks(Iterable<Task> tasks) {
-			this.priorityTasks.clear();
-			CollectionTools.addAll(this.priorityTasks, tasks);
-			this.fireCollectionChanged(PRIORITY_TASKS_COLLECTION, this.priorityTasks);
-		}
-	}
-
-
-	// ********** Task **********
-
-	public static class Task extends AbstractModel implements Displayable {
-		private String name;
-		private int instanceCount;
-		private static int INSTANCE_COUNT = 1;
-		public Task(String name) {
-			this.name = name;
-			this.instanceCount = INSTANCE_COUNT++;
-		}
-		public String displayString() {
-			return this.name + ": " + this.instanceCount;
-		}
-		public int compareTo(Displayable o) {
-			return DEFAULT_COMPARATOR.compare(this, o);
-		}
-		public String getName() {
-			return this.name;
-		}
-		public void setName(String name) {
-			Object old = this.name;
-			this.name = name;
-			this.firePropertyChanged(DISPLAY_STRING_PROPERTY, old, name);
-		}
-		@Override
-		public String toString() {
-			return this.displayString();
-		}
-	}
-
-	public interface Displayable extends Model, Comparable<Displayable> {
-	
-		String displayString();
-			String DISPLAY_STRING_PROPERTY = "displayString";
-	
-	
-		// ********** helper implementations **********
-	
-		Collator DEFAULT_COLLATOR = Collator.getInstance();
-	
-		Comparator<Displayable> DEFAULT_COMPARATOR =
-			new Comparator<Displayable>() {
-				public int compare(Displayable d1, Displayable d2) {
-					// disallow duplicates based on object identity
-					if (d1 == d2) {
-						return 0;
-					}
-	
-					// first compare display strings using the default collator
-					int result = DEFAULT_COLLATOR.compare(d1.displayString(), d2.displayString());
-					if (result != 0) {
-						return result;
-					}
-	
-					// then compare using object-id
-					result = System.identityHashCode(d1) - System.identityHashCode(d2);
-					if (result != 0) {
-						return result;
-					}
-	
-					// It's unlikely that we get to this point; but, just in case, we will return -1.
-					// Unfortunately, this introduces some mild unpredictability to the sort order
-					// (unless the objects are always passed into this method in the same order).
-					return -1;		// if all else fails, indicate that o1 < o2
-				}
-				@Override
-				public String toString() {
-					return "Displayable.DEFAULT_COMPARATOR";
-				}
-			};
-	
-	}
-}
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/TextFieldModelBindingUITest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/TextFieldModelBindingUITest.java
deleted file mode 100644
index efc476a..0000000
--- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/utility/swt/TextFieldModelBindingUITest.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.common.ui.tests.internal.utility.swt;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.common.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Play around with a set of entry fields.
- */
-@SuppressWarnings("nls")
-public class TextFieldModelBindingUITest
-	extends ApplicationWindow
-{
-	private final TestModel testModel;
-		private static final String DEFAULT_NAME = "Scooby Doo";
-	private final ModifiablePropertyValueModel<TestModel> testModelHolder;
-	private final ModifiablePropertyValueModel<String> nameHolder;
-	private final ModifiablePropertyValueModel<String> allCapsNameHolder;
-
-
-	public static void main(String[] args) throws Exception {
-		Window window = new TextFieldModelBindingUITest();
-		window.setBlockOnOpen(true);
-		window.open();
-		Display.getCurrent().dispose();
-		System.exit(0);
-	}
-
-	private TextFieldModelBindingUITest() {
-		super(null);
-		this.testModel = new TestModel(DEFAULT_NAME);
-		this.testModelHolder = new SimplePropertyValueModel<TestModel>(this.testModel);
-		this.nameHolder = this.buildNameHolder(this.testModelHolder);
-		this.allCapsNameHolder = this.buildAllCapsNameHolder(this.testModelHolder);
-	}
-
-	private ModifiablePropertyValueModel<String> buildNameHolder(PropertyValueModel<TestModel> vm) {
-		return new PropertyAspectAdapter<TestModel, String>(vm, TestModel.NAME_PROPERTY) {
-			@Override
-			protected String buildValue_() {
-				return this.subject.name();
-			}
-			@Override
-			protected void setValue_(String value) {
-				this.subject.setName(value);
-			}
-		};
-	}
-
-	private ModifiablePropertyValueModel<String> buildAllCapsNameHolder(PropertyValueModel<TestModel> vm) {
-		return new PropertyAspectAdapter<TestModel, String>(vm, TestModel.NAME_PROPERTY) {
-			@Override
-			protected String buildValue_() {
-				return this.subject.name().toUpperCase();
-			}
-			@Override
-			protected void setValue_(String value) {
-				// do nothing
-			}
-		};
-	}
-
-	@Override
-	protected Control createContents(Composite parent) {
-		((Shell) parent).setText(this.getClass().getSimpleName());
-		parent.setSize(400, 100);
-		Composite mainPanel = new Composite(parent, SWT.NONE);
-		mainPanel.setLayout(new FormLayout());
-		Control textFieldPanel = this.buildTextFieldPanel(mainPanel);
-		this.buildControlPanel(mainPanel, textFieldPanel);
-		return mainPanel;
-	}
-
-	private Control buildTextFieldPanel(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(0);
-			fd.bottom = new FormAttachment(100, -35);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildNameTextField(panel);
-		this.buildReadOnlyNameTextField(panel);
-		this.buildAllCapsNameTextField(panel);
-
-		return panel;
-	}
-
-	private void buildNameTextField(Composite parent) {
-		Text textField = new Text(parent, SWT.SINGLE);
-		SWTTools.bind(this.nameHolder, textField);
-	}
-
-	private void buildReadOnlyNameTextField(Composite parent) {
-		Text textField = new Text(parent, SWT.SINGLE);
-		textField.setEnabled(false);
-		SWTTools.bind(this.nameHolder, textField);
-	}
-
-	private void buildAllCapsNameTextField(Composite parent) {
-		Text textField = new Text(parent, SWT.SINGLE);
-		textField.setEnabled(false);
-		SWTTools.bind(this.allCapsNameHolder, textField);
-	}
-
-	private void buildControlPanel(Composite parent, Control checkBoxPanel) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		FormData fd = new FormData();
-			fd.top = new FormAttachment(checkBoxPanel);
-			fd.bottom = new FormAttachment(100);
-			fd.left = new FormAttachment(0);
-			fd.right = new FormAttachment(100);
-		panel.setLayoutData(fd);
-
-		panel.setLayout(new FillLayout());
-		this.buildResetNameButton(panel);
-		this.buildClearModelButton(panel);
-		this.buildRestoreModelButton(panel);
-		this.buildPrintModelButton(panel);
-	}
-
-	private void buildResetNameButton(Composite parent) {
-		this.buildResetNameACI().fill(parent);
-	}
-
-	private ActionContributionItem buildResetNameACI() {
-		Action action = new Action("reset name", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				TextFieldModelBindingUITest.this.resetName();
-			}
-		};
-		action.setToolTipText("reset name");
-		return new ActionContributionItem(action);
-	}
-
-	void resetName() {
-		this.testModel.setName(DEFAULT_NAME);
-	}
-
-	private void buildClearModelButton(Composite parent) {
-		this.buildClearModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildClearModelACI() {
-		Action action = new Action("clear model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				TextFieldModelBindingUITest.this.clearModel();
-			}
-		};
-		action.setToolTipText("clear model");
-		return new ActionContributionItem(action);
-	}
-
-	void clearModel() {
-		this.testModelHolder.setValue(null);
-	}
-
-	private void buildRestoreModelButton(Composite parent) {
-		this.buildRestoreModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildRestoreModelACI() {
-		Action action = new Action("restore model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				TextFieldModelBindingUITest.this.restoreModel();
-			}
-		};
-		action.setToolTipText("restore model");
-		return new ActionContributionItem(action);
-	}
-
-	void restoreModel() {
-		this.testModelHolder.setValue(this.testModel);
-	}
-
-	private void buildPrintModelButton(Composite parent) {
-		this.buildPrintModelACI().fill(parent);
-	}
-
-	private ActionContributionItem buildPrintModelACI() {
-		Action action = new Action("print model", IAction.AS_PUSH_BUTTON) {
-			@Override
-			public void run() {
-				TextFieldModelBindingUITest.this.printModel();
-			}
-		};
-		action.setToolTipText("print model");
-		return new ActionContributionItem(action);
-	}
-
-	void printModel() {
-		System.out.println("name: " + this.testModel.name());
-	}
-
-
-	// ********** model class **********
-
-	class TestModel extends AbstractModel {
-		private String name;
-			public static final String NAME_PROPERTY = "name";
-
-		public TestModel(String name) {
-			this.name = name;
-		}
-		public String name() {
-			return this.name;
-		}
-		public void setName(String name) {
-			Object old = this.name;
-			this.name = name;
-			this.firePropertyChanged(NAME_PROPERTY, old, name);
-		}
-		@Override
-		public String toString() {
-			return "TestModel(" + this.name + ")";
-		}
-	}
-
-}
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/.project b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/.project
deleted file mode 100644
index 7064cbb..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.dbws.eclipselink.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/build.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/build.properties
deleted file mode 100644
index 7d721a4..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/feature.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/feature.properties
deleted file mode 100644
index 1ec5c11..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - EclipseLink DBWS Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - EclipseLink DBWS Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/feature.xml b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/feature.xml
deleted file mode 100644
index b5d5fbb..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/feature.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.dbws.eclipselink.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt.dbws.eclipselink.branding"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.eclipselink.feature" version="1.1.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.dbws.eclipselink.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.dbws.eclipselink.core.gen"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="javax.wsdl"
-         download-size="0"
-         install-size="0"
-         version="1.6.2.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.persistence.dbws"
-         download-size="0"
-         install-size="0"
-         version="2.4.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.persistence.dbws.builder"
-         download-size="0"
-         install-size="0"
-         version="2.4.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.dbws.eclipselink.branding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.html b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.ini b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.mappings b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index 80f93d0..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - DBWS EclipseLink Support Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2010, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/build.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 1c3e2eb..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse32.gif b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse32.png b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/epl-v10.html b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/license.html b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/plugin.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index 1429a53..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - DBWS EclipseLink Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/build.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 897839f..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               eclipse_update_120.jpg,\
-               feature.xml,\
-               feature.properties
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/feature.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index c6c18cd..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - 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=Dali Java Persistence Tools - DBWS EclipseLink Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for Dali Java Persistence Tools EclipseLink Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.html b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.ini b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.mappings b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index a8c9da3..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - DBWS EclipseLink Support Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2010, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/build.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 6dcfcd6..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse32.png b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/epl-v10.html b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/license.html b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/plugin.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 1429a53..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - DBWS EclipseLink Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/.cvsignore b/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/.cvsignore
deleted file mode 100644
index 9d0e114..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-feature.temp.folder
-build.xml
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/.project b/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/.project
deleted file mode 100644
index b4ba972..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.dbws.eclipselink_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/build.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/build.properties
deleted file mode 100644
index 931945e..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.dbws.eclipselink.feature.source=org.eclipse.jpt.dbws.eclipselink.feature
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/feature.properties b/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/feature.properties
deleted file mode 100644
index 8150339..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - EclipseLink DBWS Support SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence - EclipseLink DBWS Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2010, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/feature.xml b/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/feature.xml
deleted file mode 100644
index eefc690..0000000
--- a/jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.dbws.eclipselink_sdk.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.jpt.dbws.eclipselink.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.dbws.eclipselink.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/.project b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/.project
deleted file mode 100644
index b3f1d9b..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.eclipselink.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/build.properties
deleted file mode 100644
index e29906d..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/feature.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/feature.properties
deleted file mode 100644
index 0227502..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - EclipseLink JAXB Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - EclipseLink JAXB Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/feature.xml b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/feature.xml
deleted file mode 100644
index b161c6a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/feature.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jaxb.eclipselink.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt.jaxb.eclipselink.branding"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.jaxb.feature" version="1.1.0"/>
-      <import feature="org.eclipse.jpt.common.eclipselink.feature" version="1.1.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.persistence.moxy"
-         download-size="0"
-         install-size="0"
-         version="2.4.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.eclipselink.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.eclipselink.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.eclipselink.core.schemagen"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.eclipselink.branding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.html b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.ini b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.mappings b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index e21f194..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - JAXB EclipseLink Support Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 6dcfcd6..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse32.gif b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse32.png b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/epl-v10.html b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/license.html b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/plugin.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index 57daebf..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - JAXB EclipseLink Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 897839f..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               eclipse_update_120.jpg,\
-               feature.xml,\
-               feature.properties
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/feature.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 8a4402b..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2011 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:
-#     Oracle - 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=Dali Java Persistence Tools - JAXB EclipseLink Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for Dali Java Persistence Tools EclipseLink Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2010 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.html b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.ini b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.mappings b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index e21f194..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - JAXB EclipseLink Support Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 6dcfcd6..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse32.png b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/epl-v10.html b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/license.html b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/plugin.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 57daebf..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - JAXB EclipseLink Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.cvsignore b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.project b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.project
deleted file mode 100644
index d6cc694..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.eclipselink.tests.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.settings/org.eclipse.core.resources.prefs b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 235b84a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:11:17 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/build.properties
deleted file mode 100644
index da6de74..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
-src.includes = \
-               feature.xml,\
-               eclipse_update_120.jpg,\
-               build.properties
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/feature.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/feature.properties
deleted file mode 100644
index b0e15e4..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/feature.properties
+++ /dev/null
@@ -1,51 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - 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=Dali Java Persistence Tools - EclipseLink JAXB Core JUnit Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-# TOREVIEW - updateSiteName
-updateSiteName=Web Tools Platform (WTP) Updates
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools EclipseLink JAXB Core JUnit Tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/feature.xml b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/feature.xml
deleted file mode 100644
index cf16754..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jaxb.eclipselink.tests.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.tests.feature" version="1.0.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.eclipselink.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/.cvsignore b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/.cvsignore
deleted file mode 100644
index 9d0e114..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-feature.temp.folder
-build.xml
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/.project b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/.project
deleted file mode 100644
index a51d418..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.eclipselink_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/build.properties
deleted file mode 100644
index c8dc826..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.jaxb.eclipselink.feature.source=org.eclipse.jpt.jaxb.eclipselink.feature
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/feature.properties b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/feature.properties
deleted file mode 100644
index ebf310a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - EclipseLink JAXB Support SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence - EclipseLink JAXB Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2010, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/feature.xml b/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/feature.xml
deleted file mode 100644
index 5c05e8c..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jaxb.eclipselink_sdk.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.eclipselink.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.eclipselink.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/.project b/jaxb/features/org.eclipse.jpt.jaxb.feature/.project
deleted file mode 100644
index 6b7e145..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/build.properties
deleted file mode 100644
index e29906d..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/feature.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/feature.properties
deleted file mode 100644
index 2aabe7d..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JAXB Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - JAXB Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2010 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/feature.xml b/jaxb/features/org.eclipse.jpt.jaxb.feature/feature.xml
deleted file mode 100644
index b6227ea..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/feature.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jaxb.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt.jaxb.branding"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.feature" version="1.1.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.core.schemagen"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.branding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.html b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.ini b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.mappings b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index 5bc4b67..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools Source - JAXB Support\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2008.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index ce9529b..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse32.gif b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse32.png b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/epl-v10.html b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/license.html b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/plugin.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index 86c4916..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - JAXB Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index fba3ef0..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               eclipse_update_120.jpg,\
-               feature.xml,\
-               feature.properties
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/feature.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 1a12bce..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle - 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=Dali Java Persistence Tools - JAXB Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for Dali Java Persistence Tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2010 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.html b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.ini b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.mappings b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 6f32073..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools Source - JAXB Support\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2008, 2010.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index ce9529b..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse32.gif b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse32.png b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/epl-v10.html b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/license.html b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/plugin.properties b/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 86c4916..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - JAXB Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/.cvsignore b/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/.project b/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/.project
deleted file mode 100644
index d48dee7..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.tests.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/build.properties b/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/build.properties
deleted file mode 100644
index da6de74..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
-src.includes = \
-               feature.xml,\
-               eclipse_update_120.jpg,\
-               build.properties
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/feature.properties b/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/feature.properties
deleted file mode 100644
index 918f79e..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/feature.properties
+++ /dev/null
@@ -1,51 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - 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=Dali Java Persistence Tools - JAXB Core JUnit Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-# TOREVIEW - updateSiteName
-updateSiteName=Web Tools Platform (WTP) Updates
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools JAXB JUnit Tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2010 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/feature.xml b/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/feature.xml
deleted file mode 100644
index 7c26e5f..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb.tests.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jaxb.tests.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.tests.feature" version="1.0.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.jaxb.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/.cvsignore b/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/.cvsignore
deleted file mode 100644
index 9d0e114..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-feature.temp.folder
-build.xml
diff --git a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/.project b/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/.project
deleted file mode 100644
index dbf60be..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/build.properties b/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/build.properties
deleted file mode 100644
index cb9672d..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.jaxb.feature.source=org.eclipse.jpt.jaxb.feature
diff --git a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/eclipse_update_120.jpg b/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/feature.properties b/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/feature.properties
deleted file mode 100644
index 5bd2b66..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JAXB Support SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence Tools - JAXB Support 
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2010, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/feature.xml b/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/feature.xml
deleted file mode 100644
index eacc81f..0000000
--- a/jaxb/features/org.eclipse.jpt.jaxb_sdk.feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jaxb_sdk.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jaxb.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/.cvsignore b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/.project b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/.project
deleted file mode 100644
index de731ab..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.dbws.eclipselink.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index d64f65c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.dbws.eclipselink.branding;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.html b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.ini b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.ini
deleted file mode 100644
index 6c107d4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.mappings b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.properties
deleted file mode 100644
index 7ed9bf2..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - EclipseLink DBWS Support\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Oracle contributors and others 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/build.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/build.properties
deleted file mode 100644
index 6c20e3b..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/component.xml b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/component.xml
deleted file mode 100644
index 434ae90..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/component.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.dbws.eclipselink.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.dbws.eclipselink.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.utility" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.ui" fragment="false"/>
-<plugin id="org.eclipse.jpt.dbws.eclipselink.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/icons/WTP_icon_x32_v2.png b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/plugin.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/plugin.properties
deleted file mode 100644
index cdf657e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - EclipseLink DBWS Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.classpath b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.cvsignore b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.project b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.project
deleted file mode 100644
index 4c657b1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.dbws.eclipselink.core.gen</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.settings/org.eclipse.jdt.core.prefs b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7fd88b1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:07:03 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/META-INF/MANIFEST.MF
deleted file mode 100644
index be182ac..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.dbws.eclipselink.core.gen;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.persistence.dbws.builder;bundle-version="[2.3.0,3.0.0)",
- javax.wsdl;bundle-version="[1.6.2,2.0.0)"
-Export-Package: org.eclipse.jpt.dbws.eclipselink.core.gen,
- org.eclipse.jpt.dbws.eclipselink.core.gen.internal;x-internal:=true
-Import-Package: org.eclipse.persistence.oxm
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/about.html b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/about.html
deleted file mode 100644
index 071f586..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/about.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H2>About This Content</H2>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-<h3>Third Party Content</h3>
-<p>The Content includes items that have been sourced from third parties as set 
-  out below. If you did not receive this Content directly from the Eclipse Foundation, 
-  the following is provided for informational purposes only, and you should look 
-  to the Redistributor&#8217;s license for terms and conditions of use.</p>
-
-<h4><a name="JPA" id="JPA"></a>Java Persistence API (JPA) v1.0</h4>
-
-<blockquote>
-  <p>The Java Persistence API (JPA) which is distributed under <a href="https://glassfish.dev.java.net/public/CDDLv1.0.html">CDDL 
-    v1.0</a> is required by the Dali Java Persistence Tools Project in order 
-    to support this standard.</p>
-</blockquote>
-</BODY>
-</HTML>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/build.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/build.properties
deleted file mode 100644
index 5a838ab..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/plugin.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/plugin.properties
deleted file mode 100644
index 5d537fc..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - DBWS Support - Web Services Generation
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/Main.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/Main.java
deleted file mode 100644
index 4f6f445..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/Main.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.core.gen;
-
-import static java.util.logging.Level.INFO;
-import static java.util.logging.Level.SEVERE;
-import static org.eclipse.persistence.tools.dbws.DBWSPackager.ArchiveUse.ignore;
-
-import java.io.File;
-import java.util.logging.Level;
-
-import javax.wsdl.WSDLException;
-
-import org.eclipse.jpt.dbws.eclipselink.core.gen.internal.JptDbwsCoreMessages;
-import org.eclipse.jpt.dbws.eclipselink.core.gen.internal.Tools;
-import org.eclipse.persistence.oxm.XMLContext;
-import org.eclipse.persistence.oxm.XMLUnmarshaller;
-import org.eclipse.persistence.tools.dbws.DBWSBuilder;
-import org.eclipse.persistence.tools.dbws.DBWSBuilderModel;
-import org.eclipse.persistence.tools.dbws.DBWSBuilderModelProject;
-import org.eclipse.persistence.tools.dbws.DBWSPackager;
-import org.eclipse.persistence.tools.dbws.EclipsePackager;
-
-/**
- *  Generate DBWS content
- *  
- * Current command-line arguments:
- *     [-builderFile dbws-builder.xml] - specifies source builder file
- *     [-stageDir .\Output_Dir] - specifies destination directory
- *     [-packageAs eclipse] - specifies the source package
- */
-public class Main
-{
-	private String builderFile;
-	private String stageDir;
-	private String packageAs;
-	@SuppressWarnings("unused")
-	private boolean isDebugMode;
-
-	// ********** static methods **********
-	
-	public static void main(String[] args) {
-		new Main().execute(args);
-	}
-	
-	// ********** constructors **********
-
-	private Main() {
-		super();
-	}
-
-	// ********** behavior **********
-	
-	protected void execute(String[] args) {
-		
-		this.initializeWith(args);
-		
-		this.generate();
-	}
-
-	private void generate() {
-
-		DBWSBuilder builder = new DBWSBuilder();
-
-    	DBWSBuilderModel model = this.buildBuilderModel(this.builderFile);
-		if(model == null) {
-			this.logMessage(INFO, JptDbwsCoreMessages.NO_GENERATION_PERFORMED);
-	        return;
-		}
-
-        builder.setProperties(model.properties);
-        builder.setOperations(model.operations);
-
-        if( ! this.jdbcDriverIsOnClasspath(builder.getDriver())) {
-        	return;
-        }
-		
-        DBWSPackager packager = this.buildEclipsePackager();
-        
-    	this.initializePackager(packager, builder, this.buildStageDir(this.stageDir));
-    	builder.setPackager(packager);
-    	
-        try {
-			builder.start();
-		}
-		catch(WSDLException e) {
-			this.logMessage(SEVERE, JptDbwsCoreMessages.WSDL_EXCEPTION, e.getMessage());
-            return;
-		}
-		catch(Exception e) {
-			//TODO Clean-up Stage dir. ?
-			this.logMessage(SEVERE, JptDbwsCoreMessages.GENERATION_FAILED, e.getMessage());
-			e.printStackTrace();
-            return;
-		}
-		this.logMessage(INFO, JptDbwsCoreMessages.GENERATION_COMPLETED);
-        return;
-
-	}
-
-	// ********** internal methods **********
-    
-	private void initializeWith(String[] args) {
-		
-    	this.builderFile = this.getArgumentBuilderFile(args);
-    	this.stageDir = this.getArgumentStageDir(args);
-    	this.packageAs = this.getArgumentPackageAs(args);
-
-		this.isDebugMode = this.getArgumentDebugMode(args);
-	}
-	    
-	private void initializePackager(DBWSPackager packager, DBWSBuilder builder, File stageDir) {
-
-        packager.setDBWSBuilder(builder);
-        packager.setArchiveUse(ignore);
-        packager.setAdditionalArgs(null);
-        packager.setStageDir(stageDir);
-        packager.setSessionsFileName(builder.getSessionsFileName());
-	}
-    
-	private DBWSBuilderModel buildBuilderModel(String builderFileName) {
-		
-    	File builderFile = this.getBuilderFile(builderFileName);
-		return this.unmarshal(builderFile);
-	}
-
-	private DBWSBuilderModel unmarshal(File builderFile) {
-        if((builderFile == null) || ( ! builderFile.exists())) {
-        	return null;
-        }
-		XMLContext context = new XMLContext(new DBWSBuilderModelProject());
-        XMLUnmarshaller unmarshaller = context.createUnmarshaller();
-        
-        DBWSBuilderModel model = (DBWSBuilderModel)unmarshaller.unmarshal(builderFile);
-        if(model.properties.size() == 0) {
-        	this.logMessage(SEVERE, JptDbwsCoreMessages.NO_OPERATIONS_SPECIFIED);
-            return null;
-        }
-        return model;
-	}
-
-	private File getBuilderFile(String builderFileName) {
-
-        File builderFile = new File(builderFileName);
-        if( ! (builderFile.exists() && builderFile.isFile())) {
-        	this.logMessage(SEVERE, 
-        		JptDbwsCoreMessages.UNABLE_TO_LOCATE_BUILDER_XML, builderFileName); //$NON-NLS-1$
-        	return null;
-        }
-        return builderFile;
-	}
-	
-	private File buildStageDir(String stageDirName) {
-    	File dir = new File(stageDirName);
-        if(( ! dir.exists()) || ( ! dir.isDirectory())) {
-        	dir = Tools.buildDirectory(stageDirName);
-        }
-		return dir;
-	}
-	
-	private EclipsePackager buildEclipsePackager() {
-		return new EclipsePackager() {
-			@Override
-			public void start() {
-				  // no need to check for the existence of stageDir, everything is in-memory
-			}
-		};
-	}
-
-	private boolean jdbcDriverIsOnClasspath(String jdbcDriverName) {
-	    try {
-			Class.forName(jdbcDriverName);
-		}
-		catch (ClassNotFoundException cnfe) {
-			this.logMessage(SEVERE, JptDbwsCoreMessages.DRIVER_NOT_ON_CLASSPATH, jdbcDriverName);
-			return false;
-		}
-		return true;
-	}
-	
-	private void logMessage(Level level, String key, Object argument) {
-		Tools.logMessage(level, Tools.bind(key, argument));
-	}
-	
-	private void logMessage(Level level, String key) {
-		Tools.logMessage(level, Tools.getString(key));
-	}
-
-	// ********** argument queries **********
-	
-	private String getArgumentBuilderFile(String[] args) {
-
-		return this.getArgumentValue("-builderFile", args);   //$NON-NLS-1$
-	}
-	
-	private String getArgumentStageDir(String[] args) {
-
-		return this.getArgumentValue("-stageDir", args);   //$NON-NLS-1$
-	}
-	
-	private String getArgumentPackageAs(String[] args) {
-
-		return this.getArgumentValue("-packageAs", args);   //$NON-NLS-1$
-	}
-	
-	private boolean getArgumentDebugMode(String[] args) {
-
-		return this.argumentExists("-debug", args);   //$NON-NLS-1$
-	}
-	
-	private String getArgumentValue(String argName, String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.equals(argName)) {
-				int j = i + 1;
-				if (j < args.length) {
-					return args[j];
-				}
-			}
-		}
-		return null;
-	}
-	
-	private boolean argumentExists(String argName, String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argName)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/JptDbwsCoreMessages.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/JptDbwsCoreMessages.java
deleted file mode 100644
index ff3fa9b..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/JptDbwsCoreMessages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.core.gen.internal;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Localized messages used by Dali DBWS generation core.
- */
-public class JptDbwsCoreMessages
-{
-	
-	public static final String GENERATION_COMPLETED = "GENERATION_COMPLETED";
-	public static final String GENERATION_FAILED = "GENERATION_FAILED";
-	public static final String NO_GENERATION_PERFORMED = "NO_GENERATION_PERFORMED";
-	public static final String WSDL_EXCEPTION = "WSDL_EXCEPTION";
-	public static final String NO_OPERATIONS_SPECIFIED = "NO_OPERATIONS_SPECIFIED";
-	public static final String UNABLE_TO_LOCATE_BUILDER_XML = "UNABLE_TO_LOCATE_BUILDER_XML";
-	public static final String DRIVER_NOT_ON_CLASSPATH = "DRIVER_NOT_ON_CLASSPATH";
-
-
-	private static final String BUNDLE_NAME = "org.eclipse.jpt.dbws.eclipselink.core.gen.internal.jpt_dbws_core"; //$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private JptDbwsCoreMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		}
-		catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/Tools.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/Tools.java
deleted file mode 100644
index 7a49d7a..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/Tools.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.core.gen.internal;
-
-import static java.util.logging.Level.SEVERE;
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.logging.Level;
-
-/**
- *  Tools
- */
-public final class Tools
-{
-	/** empty string */
-	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
-	private static final String USER_DIRECTORY = System.getProperty("user.dir");	//$NON-NLS-1$
-
-	// ********** queries **********
-
-	/**
-	 * Return whether the specified string is null, empty, or contains
-	 * only whitespace characters.
-	 */
-	public static boolean stringIsEmpty(String string) {
-		if (string == null) {
-			return true;
-		}
-		int len = string.length();
-		if (len == 0) {
-			return true;
-		}
-		return stringIsEmpty_(string.toCharArray(), len);
-	}	
-
-	private static boolean stringIsEmpty_(char[] s, int len) {
-		for (int i = len; i-- > 0; ) {
-			if ( ! Character.isWhitespace(s[i])) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	// ********** short name manipulation **********
-
-	
-	public static File buildDirectory(String dirName) {
-    	File currentDir = currentWorkingDirectory();
-    	File dir = new File(currentDir, dirName);
-    	dir.mkdir();
-		return dir;
-	}
-	
-	/**
-	 * Return a file representing the current working directory.
-	 */
-	public static File currentWorkingDirectory() {
-		return new File(USER_DIRECTORY); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Strip the extension from the specified file name
-	 * and return the result. If the file name has no
-	 * extension, it is returned unchanged
-	 * File#basePath()
-	 */
-	public static String stripExtension(String fileName) {
-		int index = fileName.lastIndexOf('.');
-		if (index == -1) {
-			return fileName;
-		}
-		return fileName.substring(0, index);
-	}
-
-	public static String extractDirectory(String path) {
-		if( ! path.contains(File.separator)) {
-			return EMPTY_STRING;	
-		}
-		return path.substring(0, path.lastIndexOf(File.separator));
-	}
-	
-	public static void logMessage(Level level, String message) {
-		if(level == SEVERE) {
-			System.err.println('\n' + message);
-		}
-		else {
-			System.out.println('\n' + message);
-		}
-	}
-	
-	// ********** NLS utilities **********
-
-	public static String getString(String key) {
-		return JptDbwsCoreMessages.getString(key);
-	}
-	
-	public static String bind(String key, Object argument) {
-		return MessageFormat.format(getString(key), argument);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/jpt_dbws_core.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/jpt_dbws_core.properties
deleted file mode 100644
index c49d70f..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen/src/org/eclipse/jpt/dbws/eclipselink/core/gen/internal/jpt_dbws_core.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-################################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-GENERATION_COMPLETED =  DBWSBuilder generation completed
-GENERATION_FAILED =  DBWSBuilder generation failed: {0}
-NO_GENERATION_PERFORMED =  DBWSBuilder no generation performed
-WSDL_EXCEPTION =  WSDLException: {0}
-NO_OPERATIONS_SPECIFIED =  No operations specified
-UNABLE_TO_LOCATE_BUILDER_XML =  DBWSBuilder unable to locate builder XML file:  {0}
-DRIVER_NOT_ON_CLASSPATH =  JDBC driver not on classpath: {0}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.classpath b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.classpath
deleted file mode 100644
index 76f5da8..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.classpath
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<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">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/ui/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jst/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/wst/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.cvsignore b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.project b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.project
deleted file mode 100644
index 7d3b57f..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.dbws.eclipselink.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.settings/org.eclipse.jdt.core.prefs b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 3fa75e2..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:07:08 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 96fcb01..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.dbws.eclipselink.ui;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.jpt.dbws.eclipselink.ui.JptDbwsUiPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.debug.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.ui;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.dbws.eclipselink.core.gen;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.persistence.core;bundle-version="[2.3.0,3.0.0)",
- org.eclipse.persistence.dbws.builder;bundle-version="[2.3.0,3.0.0)",
- org.eclipse.wst.common.modulecore;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.wst.common.ui;bundle-version="[1.1.500,2.0.0)",
- org.eclipse.wst.common.uriresolver;bundle-version="[1.1.401,2.0.0)",
- org.eclipse.wst.xml.core;bundle-version="[1.1.500,2.0.0)"
-Export-Package: org.eclipse.jpt.dbws.eclipselink.core.internal.gen;x-internal:=true,
- org.eclipse.jpt.dbws.eclipselink.ui,
- org.eclipse.jpt.dbws.eclipselink.ui.internal;x-internal:=true,
- org.eclipse.jpt.dbws.eclipselink.ui.internal.actions;x-internal:=true,
- org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;x-internal:=true
-Import-Package: com.ibm.icu.text;version="4.0.1"
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/about.html b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/build.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/build.properties
deleted file mode 100644
index 377eb5c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-################################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/,\
-               property_files/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.xml,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/component.xml b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/component.xml
deleted file mode 100644
index 4bf2db8..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.dbws.eclipselink.ui"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jpt.dbws.eclipselink.ui" fragment="false"/></component>
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/etool16/newclient_webserv_wiz.gif b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/etool16/newclient_webserv_wiz.gif
deleted file mode 100644
index 1ee05fa..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/etool16/newclient_webserv_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/XSDFile.gif b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/XSDFile.gif
deleted file mode 100644
index cc0eeb7..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/XSDFile.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/dtdfile.gif b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/dtdfile.gif
deleted file mode 100644
index 3c0acad..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/dtdfile.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/text.gif b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/text.gif
deleted file mode 100644
index efa7a38..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/obj16/text.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/ovr16/error_ovr.gif b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/ovr16/error_ovr.gif
deleted file mode 100644
index 119dccc..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/ovr16/error_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/wizban/webservicesclient_wiz.gif b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/wizban/webservicesclient_wiz.gif
deleted file mode 100644
index 77c16a0..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/icons/full/wizban/webservicesclient_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/plugin.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/plugin.properties
deleted file mode 100644
index efab1b2..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/plugin.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-pluginName= Dali Java Persistence Tools - DBWS UI
-providerName=Eclipse Web Tools Platform
-
-generateDBWS = Generate Database Web Services
-
-dbwsWizardCategoryName = Database Web Services
-
-generateDbwsFromXmlName = Web Services from Builder XML
-generateDbwsFromXmlDesc = Generate Web Services from Builder XML
-
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/plugin.xml b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/plugin.xml
deleted file mode 100644
index 5c52d86..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/plugin.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<!--
-     Copyright (c) 2010, 2011  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: 
-     	Oracle - initial API and implementation
- -->
-
-<plugin>
-	
- 	<extension
-		point="org.eclipse.ui.menus">
-		
-		<!-- contributions for any popup -->
-		<menuContribution
-			locationURI="popup:org.eclipse.ui.popup.any">
-						
-			<menu
-				id="org.eclipse.jpt.dbws.ui.menu.WebServices"
-				label="%dbwsWizardCategoryName">
-			</menu>
-		</menuContribution>
-		
- 	</extension>
-
-
-	<extension
-		point="org.eclipse.ui.newWizards">
-
-		<category
-			id="org.eclipse.jpt.dbws"
-			name="%dbwsWizardCategoryName"/>
-
- 		<wizard
-            id="org.eclipse.jpt.dbws.ui.wizard.generateDbws"
-			name="%generateDbwsFromXmlName"
- 			category="org.eclipse.jpt.dbws"
- 			class="org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen.DbwsGeneratorWizard"
-			icon="icons/full/etool16/newclient_webserv_wiz.gif">
-				<description>%generateDbwsFromXmlDesc</description>
-		</wizard>
-
-	</extension>
-			
-
-	<extension
-		point="org.eclipse.ui.popupMenus">
-
-		<!-- contributions to the "Generate" submenu -->
-		<objectContribution
-			id="org.eclipse.jpt.ui.xsdFileActions"
-			objectClass="org.eclipse.core.resources.IFile"
-			nameFilter="*builder.xml">
-			
-			<filter
-				name="projectNature"
-				value="org.eclipse.jdt.core.javanature">
-			</filter>
-			<enablement>
-				<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jst.web"/>
-			</enablement>
-			<action
-				id="org.eclipse.jpt.dbws.ui.generateDbws" 
-				label="%generateDBWS"
-				menubarPath="org.eclipse.jpt.dbws.ui.menu.WebServices/content"
-				class="org.eclipse.jpt.dbws.eclipselink.ui.internal.actions.GenerateDbwsAction"> 
-			</action> 
-		</objectContribution>
-		
-	</extension>
-
-
-</plugin>
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/property_files/jpt_dbws_ui.properties b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/property_files/jpt_dbws_ui.properties
deleted file mode 100644
index 0d62c67..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/property_files/jpt_dbws_ui.properties
+++ /dev/null
@@ -1,49 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-
-# DbwsGenerator
-DbwsGeneratorWizard_title = New Database Web Services from Builder XML
-DbwsGeneratorWizard_generatingDbws = Generating Database Web Services
-
-WebDynamicProjectWizardPage_title = Web Dynamic Project
-WebDynamicProjectWizardPage_desc = Specify project for Database Web Services
-WebDynamicProjectWizardPage_destinationProject = Select destination project:
-
-BuilderXmlWizardPage_title = Select Builder XML File
-BuilderXmlWizardPage_desc = Specify XML file to generate Database Web Services from
-
-BuilderXmlWizardPage_errorUriCannotBeLocated = The selected catalog entry specifies a URI that can not be located.
-
-JdbcDriverWizardPage_title = Driver files
-JdbcDriverWizardPage_desc = Specify driver JAR files
-
-JdbcDriverWizardPage_driverFiles = Driver files:
-
-JdbcDriverWizardPage_addButton = Add...
-JdbcDriverWizardPage_removeButton = Remove
-
-JdbcDriverWizardPage_chooseADriverFile = Driver File Selection
-
-DbwsGeneratorUi_runningDbwsWarningTitle = Generating Database Web Services
-DbwsGeneratorUi_runningDbwsWarningMessage = \
-		Warning: Running DBWS Builder will overwrite existing files in your project.\
-		\n\nAre you sure you want to continue?
-
-DbwsGeneratorUi_dbwsNotOnClasspathMessage = \
-		Warning: DBWS Builder is not on your project classpath.\
-		\n\nAre you sure you want to continue?
-
-DbwsGeneratorUi_notJavaProject = Not a java project
-DbwsGeneratorUi_notWebDynamicProject = Not a WebDynamic project
-
-BuilderXmlWizardPage_xmlCatalogTableTitle = XML Catalog
-BuilderXmlWizardPage_xmlCatalogKeyColumn = Key
-BuilderXmlWizardPage_xmlCatalogUriColumn = URI
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/core/internal/gen/DbwsGenerator.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/core/internal/gen/DbwsGenerator.java
deleted file mode 100644
index 7313ad6..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/core/internal/gen/DbwsGenerator.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.core.internal.gen;
-
-import java.util.ArrayList;
-import java.util.List;
-
-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.IJavaProject;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jpt.common.core.internal.gen.AbstractJptGenerator;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- *  DbwsGenerator
- */
-public class DbwsGenerator extends AbstractJptGenerator
-{
-	static public String LAUNCH_CONFIG_NAME = "DBWS Gen Run Config";   //$NON-NLS-1$
-	static public String DBWS_GEN_PACKAGE_NAME = "org.eclipse.jpt.dbws.eclipselink.core.gen";   //$NON-NLS-1$
-	static public String DBWS_GEN_CLASS = DBWS_GEN_PACKAGE_NAME + ".Main";	  //$NON-NLS-1$
-
-	static public String DBWS_GEN_JAR_PREFIX = DBWS_GEN_PACKAGE_NAME + "_";	//$NON-NLS-1$
-	
-	private final String builderFileName;
-	private final String stageDirName;
-	private final String driverJarList;
-
-	// ********** static methods **********
-	
-	public static void generate(
-			IJavaProject javaProject, 
-			String builderFileName, 
-			String stageDirName, 
-			String driverJarList,
-			IProgressMonitor monitor) {
-		if (javaProject == null) {
-			throw new NullPointerException();
-		}
-		new DbwsGenerator(javaProject, 
-			builderFileName, 
-			stageDirName, 
-			driverJarList).generate(monitor);
-	}
-
-	// ********** constructors **********
-
-	private DbwsGenerator(
-			IJavaProject javaProject, 
-			String builderFileName, 
-			String stageDirName, 
-			String driverJarList) {
-		super(javaProject);
-		this.builderFileName = builderFileName;
-		this.stageDirName = stageDirName;
-		this.driverJarList = driverJarList;
-	}
-
-	// ********** overrides **********
-	
-	@Override
-	protected String getMainType() {
-		return DBWS_GEN_CLASS;
-	}
-
-	@Override
-	protected String getLaunchConfigName() {
-		return LAUNCH_CONFIG_NAME;
-	}
-
-	@Override
-	protected String getBootstrapJarPrefix() {
-		return DBWS_GEN_JAR_PREFIX;
-	}
-
-	@Override
-	protected void preGenerate(IProgressMonitor monitor) {
-		// do nothing
-		
-	}
-
-	// ********** Launch Configuration Setup **********
-
-	@Override
-	protected List<String> buildClasspath() throws CoreException {
-		List<String> classpath = new ArrayList<String>();
-		// DBWS_Gen jar
-		classpath.add(this.getBootstrapJarClasspathEntry().getMemento());
-		// Default Project classpath
-		classpath.add(this.getDefaultProjectClasspathEntry().getMemento());
-		// JDBC jar
-		if( ! StringTools.stringIsEmpty(this.driverJarList)) {
-			classpath.add(this.getJdbcJarClasspathEntry().getMemento());
-		}
-		// System Library  
-		classpath.add(this.getSystemLibraryClasspathEntry().getMemento());
-		return classpath;
-	}
-	
-	@Override
-	protected void specifyProgramArguments() {
-
-		StringBuffer programArguments = new StringBuffer();
-
-		// builderFile
-		programArguments.append(" -builderFile \"");	  //$NON-NLS-1$
-		programArguments.append(this.builderFileName);
-		programArguments.append('"');
-
-		// stageDir
-		programArguments.append(" -stageDir \"");	  //$NON-NLS-1$
-		programArguments.append(this.stageDirName);
-		programArguments.append('"');
-
-		// packageAs
-		programArguments.append(" -packageAs eclipse");	  //$NON-NLS-1$
-
-		this.launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, programArguments.toString());
-	}
-
-	// ********** private methods **********
-
-	private IRuntimeClasspathEntry getJdbcJarClasspathEntry() {
-		return getArchiveClasspathEntry(this.buildJdbcJarPath());
-	}
-	
-	private IPath buildJdbcJarPath() {
-		return new Path(this.driverJarList);
-	}
-	
-	
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/JptDbwsUiPlugin.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/JptDbwsUiPlugin.java
deleted file mode 100644
index 25b0f74..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/JptDbwsUiPlugin.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-
-/**
- * The activator class controls the plug-in life cycle
- * 
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-@SuppressWarnings("nls")
-public class JptDbwsUiPlugin extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.jpt.dbws.eclipselink.ui"; //$NON-NLS-1$
-
-	public static final String USER_CATALOG_ID = XMLCorePlugin.USER_CATALOG_ID; //$NON-NLS-1$
-	public static final String DEFAULT_CATALOG_ID = XMLCorePlugin.DEFAULT_CATALOG_ID; //$NON-NLS-1$
-	public static final String SYSTEM_CATALOG_ID = XMLCorePlugin.SYSTEM_CATALOG_ID; //$NON-NLS-1$
-	
-	// ********** singleton **********
-	private static JptDbwsUiPlugin INSTANCE;
-
-	/**
-	 * Returns the singleton Plugin
-	 */
-	public static JptDbwsUiPlugin instance() {
-		return INSTANCE;
-	}
-
-	public static void log(IStatus status) {
-        INSTANCE.getLog().log(status);
-    }
-
-	public static void log(String msg) {
-        log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null));
-    }
-
-	public static void log(Throwable throwable) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, throwable.getLocalizedMessage(), throwable));
-	}
-	
-	// ********** Image API **********
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (! key.startsWith("icons/")) {
-			key = "icons/" + key;
-		}
-		if (! key.endsWith(".gif")) {
-			key = key + ".gif";
-		}
-		return imageDescriptorFromPlugin(PLUGIN_ID, key);
-	}
-
-	/**
-	 * This returns an image for a .gif from the icons folder
-	 */
-	//TODO we are using the ImageRegistry here and storing all our icons for the life of the plugin, 
-	//which means until the workspace is closed.  This is better than before where we constantly 
-	//created new images. Bug 306437 is about cleaning this up and using Local Resource Managers 
-	//on our views so that closing the JPA perspective would mean our icons are disposed.
-	public static Image getImage(String key) {
-		ImageRegistry imageRegistry = instance().getImageRegistry();
-		Image image = imageRegistry.get(key);
-		if (image == null) {
-			imageRegistry.put(key, getImageDescriptor(key));
-			image = imageRegistry.get(key);
-		}
-		return image;
-	}
-	
-	
-	// ********** XMLCorePlugin API **********
-	
-	public ICatalog getDefaultXMLCatalog() {
-		return XMLCorePlugin.getDefault().getDefaultXMLCatalog();
-	}
-	
-
-	// ********** constructors **********
-
-	public JptDbwsUiPlugin() {
-		super();
-		if(INSTANCE != null) {
-			throw new IllegalStateException();
-		}
-		INSTANCE = this;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/DbwsGeneratorUi.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/DbwsGeneratorUi.java
deleted file mode 100644
index de2e5e8..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/DbwsGeneratorUi.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2012 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal;
-
-import java.io.File;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jpt.dbws.eclipselink.core.internal.gen.DbwsGenerator;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen.DbwsGeneratorWizard;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.persistence.oxm.XMLContext;
-import org.eclipse.persistence.oxm.XMLUnmarshaller;
-import org.eclipse.persistence.tools.dbws.DBWSBuilderModel;
-import org.eclipse.persistence.tools.dbws.DBWSBuilderModelProject;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-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;
-
-/**
- *  DbwsGeneratorUi
- */
-public class DbwsGeneratorUi
-{
-	private final IJavaProject javaProject;
-	private final String builderXmlFile;
-
-	private static final String WEB_FACET_ID = "jst.web";		//$NON-NLS-1$
-	private static final String DRIVER_PROPERTY = "driver";		//$NON-NLS-1$
-	private static final String DBWS_BUILDER_CLASS_NAME = "org.eclipse.persistence.tools.dbws.DBWSBuilder";		//$NON-NLS-1$
-
-	// ********** static methods **********
-
-	public static void generate(IFile xmlFile) {
-		IProject project = xmlFile.getProject();
-		
-		if( ! projectIsWebDynamic(project)) {
-			throw new RuntimeException(JptDbwsUiMessages.DbwsGeneratorUi_notWebDynamicProject);
-		}
-		IPath xmlPath = xmlFile.getProjectRelativePath();
-		
-		new DbwsGeneratorUi(project, xmlPath.toOSString()).generate();
-	}
-
-	public static boolean projectIsWebDynamic(IProject project) {
-
-		 IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(WEB_FACET_ID);
-         IFacetedProject facetedProject = null;
-         try {
-             facetedProject = ProjectFacetsManager.create(project);
-         } 
-         catch (CoreException e) {
-             return false;
-         }
-         return (facetedProject == null) ? false : facetedProject.hasProjectFacet(projectFacet);
-    }
-    
-	public static IPath getWebContentPath(IProject project){
-		IVirtualComponent component = ComponentCore.createComponent(project);
-		IPath modulePath = component.getRootFolder().getProjectRelativePath();
-		return modulePath;
-	}
-
-	public static boolean displayDBWSNotOnClasspathWarning(Shell shell) {
-
-		String msg = JptDbwsUiMessages.DbwsGeneratorUi_dbwsNotOnClasspathMessage;
-
-		return MessageDialog.openQuestion(
-			shell,
-			JptDbwsUiMessages.DbwsGeneratorUi_runningDbwsWarningTitle,
-			msg);
-	}
-
-	public static boolean displayOverridingWebContentWarning(Shell shell) {
-
-		String msg = JptDbwsUiMessages.DbwsGeneratorUi_runningDbwsWarningMessage;
-
-		return MessageDialog.openQuestion(
-			shell,
-			JptDbwsUiMessages.DbwsGeneratorUi_runningDbwsWarningTitle,
-			msg);
-	}
-    
-	// ********** constructors **********
-    
-	private DbwsGeneratorUi(IProject webProject, String builderXmlFile) {
-		super();
-		if(webProject == null || StringTools.stringIsEmpty(builderXmlFile)) {
-			throw new NullPointerException();
-		}
-		this.javaProject = this.getJavaProjectFrom(webProject);
-		if(this.javaProject == null) {
-			throw new RuntimeException(JptDbwsUiMessages.DbwsGeneratorUi_notJavaProject);
-		}
-		this.builderXmlFile = builderXmlFile;
-	}
-
-	// ********** generate **********
-	/**
-	 * prompt the user with a wizard
-	 */
-	protected void generate() {
-
-		if( ! this.dbwsIsOnClasspath()) {
-			if( ! displayDBWSNotOnClasspathWarning(this.getCurrentShell())) {
-				return;
-			}
-		}
-		if(this.classIsOnProjectsClasspath(
-							this.getDriverNameFrom(this.builderXmlFile))) {
-
-			if(displayOverridingWebContentWarning(this.getCurrentShell())) {
-				this.scheduleGenerateDbwsJob();
-			}
-			return;
-		}
-		this.openWizardDialog();
-		return;
-	}
-
-	// ********** internal methods **********
-
-	private void openWizardDialog() {
-
-		DbwsGeneratorWizard wizard = new DbwsGeneratorWizard(this.javaProject, this.builderXmlFile);
-		wizard.setWindowTitle(JptDbwsUiMessages.DbwsGeneratorWizard_title);
-		WizardDialog dialog = new WizardDialog(this.getCurrentShell(), wizard);
-		dialog.create();
-		int returnCode = dialog.open();
-		if(returnCode != Window.OK) {
-			return;
-		}
-	}
-	
-	private String getDriverNameFrom(String builderXmlFile) {
-		try {
-			DBWSBuilderModel model = this.buildBuilderModel(builderXmlFile);
-			Map<String, String> properties = model.getProperties();
-			return properties.get(DRIVER_PROPERTY);
-		}
-		catch(Exception e) {
-			return null;
-		}
-	}
-
-	private DBWSBuilderModel buildBuilderModel(String builderFileName) {
-		String projectDirName = this.javaProject.getProject().getLocation().toOSString();
-    	File builderFile = this.getBuilderFile(projectDirName + File.separator + builderFileName);
-		return this.unmarshal(builderFile);
-	}
-
-	private DBWSBuilderModel unmarshal(File builderFile) {
-        if((builderFile == null) || ( ! builderFile.exists())) {
-        	return null;
-        }
-		XMLContext context = new XMLContext(new DBWSBuilderModelProject());
-        XMLUnmarshaller unmarshaller = context.createUnmarshaller();
-        
-        DBWSBuilderModel model = (DBWSBuilderModel)unmarshaller.unmarshal(builderFile);
-        if(model == null || model.properties.size() == 0) {
-            return null;
-        }
-        return model;
-	}
-
-	private File getBuilderFile(String builderFileName) {
-
-        File builderFile = new File(builderFileName);
-        if( ! (builderFile.exists() && builderFile.isFile())) {
-        	return null;
-        }
-        return builderFile;
-	}
-
-	/**
-	 * Test if the given class is on the project's classpath.
-	 */
-	private boolean classIsOnProjectsClasspath(String driverName) {
-		try {
-			if(StringTools.stringIsEmpty(driverName)) {
-				return false;
-			}
-			IType genClass = this.javaProject.findType(driverName);
-			return (genClass != null);
-		} 
-		catch (JavaModelException e) {
-			throw new RuntimeException(e);
-		}
-	}
-	
-	/**
-	 * Test if the DBWS builder is on the project's classpath.
-	 */
-	private boolean dbwsIsOnClasspath() {
-		try {
-			IType genClass = this.javaProject.findType(DBWS_BUILDER_CLASS_NAME);
-			return (genClass != null);
-		} 
-		catch (JavaModelException e) {
-			throw new RuntimeException(e);
-		}
-	}
-		
-	private IJavaProject getJavaProjectFrom(IProject project) {
-		return ((IJavaElement) project.getAdapter(IJavaElement.class)).getJavaProject();
-	}
-
-	private Shell getCurrentShell() {
-	    return Display.getCurrent().getActiveShell();
-	}
-
-	private void scheduleGenerateDbwsJob() {
-
-		String stageDirName = this.javaProject.getProject().getLocation().toOSString();
-		
-		WorkspaceJob generateJob = new GenerateDbwsJob(
-			this.javaProject,
-			this.builderXmlFile,
-			stageDirName,
-			null		// driverJarList
-		);
-		generateJob.schedule();	
-	}
-
-	// ********** generate DBWS job **********
-
-	public static class GenerateDbwsJob extends WorkspaceJob {
-		private final IJavaProject project;
-		final String builderFileName;
-		final String stageDirName;
-		final String driverJarList;
-
-		public GenerateDbwsJob(IJavaProject project, String builderFileName, String stageDirName, String driverJarList) {
-			super(JptDbwsUiMessages.DbwsGeneratorWizard_generatingDbws);
-
-			this.project = project ;
-			this.builderFileName = builderFileName;
-			this.stageDirName = stageDirName;
-			this.driverJarList = driverJarList;
-		}
-
-		@Override
-		public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-			DbwsGenerator.generate(this.project, this.builderFileName, this.stageDirName, this.driverJarList, monitor);
-			return Status.OK_STATUS;
-		}
-		
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/JptDbwsUiIcons.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/JptDbwsUiIcons.java
deleted file mode 100644
index 38beda8..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/JptDbwsUiIcons.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal;
-
-@SuppressWarnings("nls")
-public class JptDbwsUiIcons
-{
-	// **************** Wizard icons *******************************************
-
-	public static final String DBWS_GEN_WIZ_BANNER = "full/wizban/webservicesclient_wiz";
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/JptDbwsUiMessages.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/JptDbwsUiMessages.java
deleted file mode 100644
index 1610eac..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/JptDbwsUiMessages.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Localized messages used by Dali DBWS UI.
- *
- * @version 2.3
- */
-public class JptDbwsUiMessages {
-	
-	// DbwsGenerator
-	public static String DbwsGeneratorWizard_title;
-	public static String DbwsGeneratorWizard_generatingDbws;
-
-	public static String WebDynamicProjectWizardPage_title;
-	public static String WebDynamicProjectWizardPage_desc;
-	public static String WebDynamicProjectWizardPage_destinationProject;
-
-	public static String BuilderXmlWizardPage_title;
-	public static String BuilderXmlWizardPage_desc;
-	
-	public static String BuilderXmlWizardPage_errorUriCannotBeLocated;
-	
-	public static String JdbcDriverWizardPage_title;
-	public static String JdbcDriverWizardPage_desc;
-
-	public static String JdbcDriverWizardPage_driverFiles;
-	
-	public static String JdbcDriverWizardPage_addButton;
-	public static String JdbcDriverWizardPage_removeButton;
-	
-	public static String JdbcDriverWizardPage_chooseADriverFile;
-	
-	public static String DbwsGeneratorUi_runningDbwsWarningTitle;
-	public static String DbwsGeneratorUi_runningDbwsWarningMessage;
-	public static String DbwsGeneratorUi_dbwsNotOnClasspathMessage;
-	
-	public static String DbwsGeneratorUi_notJavaProject;
-	public static String DbwsGeneratorUi_notWebDynamicProject;
-	
-	public static String BuilderXmlWizardPage_xmlCatalogTableTitle;
-	public static String BuilderXmlWizardPage_xmlCatalogKeyColumn;
-	public static String BuilderXmlWizardPage_xmlCatalogUriColumn;
-
-
-	
-	
-	private static final String BUNDLE_NAME = "jpt_dbws_ui"; //$NON-NLS-1$
-	private static final Class<?> BUNDLE_CLASS = JptDbwsUiMessages.class;
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, BUNDLE_CLASS);
-	}
-
-	private JptDbwsUiMessages() {
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/actions/GenerateDbwsAction.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/actions/GenerateDbwsAction.java
deleted file mode 100644
index 1dfee6b..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/actions/GenerateDbwsAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.DbwsGeneratorUi;
-
-/**
- *  GenerateDbwsAction
- */
-public class GenerateDbwsAction extends ObjectAction
-{
-
-	@Override
-	protected void execute(IFile xmlFile) {
-
-		DbwsGeneratorUi.generate(xmlFile);
-	}
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/actions/ObjectAction.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/actions/ObjectAction.java
deleted file mode 100644
index 5c90f1e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/actions/ObjectAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ITreeSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionDelegate;
-
-/**
- *  GenerateEntitiesAction
- */
-public abstract class ObjectAction extends ActionDelegate implements IObjectActionDelegate 
-{
-	private ISelection currentSelection;
-
-	public ObjectAction() {
-		super();
-	}
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		// do nothing
-	}
-
-	@Override
-	public void selectionChanged(IAction action, ISelection selection) {
-        this.currentSelection = selection;
-	}
-
-	@Override
-	public void run(IAction action) {
-		if (this.currentSelection instanceof ITreeSelection) {
-			for (Iterator<?> stream = ((ITreeSelection) this.currentSelection).iterator(); stream.hasNext(); ) {
-				this.execute(stream.next());
-			}
-		}
-	}
-
-	protected void execute(Object selection) {
-		
-		if(selection instanceof IFile) {
-			this.execute((IFile)selection);
-		}
-	}
-
-	@SuppressWarnings("unused")
-	protected void execute(IFile file) {
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/BuilderXmlWizardPage.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/BuilderXmlWizardPage.java
deleted file mode 100644
index 5eb23fc..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/BuilderXmlWizardPage.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jpt.common.ui.internal.wizards.JavaProjectWizardPage;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.JptDbwsUiMessages;
-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.wst.common.uriresolver.internal.util.URIHelper;
-
-/**
- *  BuilderXmlWizardPage
- */
-public class BuilderXmlWizardPage extends WizardPage {
-	
-	private final IStructuredSelection initialSelection;
-	private IProject targetProject;
-	
-	protected SelectFileOrXMLCatalogIdPanel selectSourcePanel;
-
-	protected static final String[] browseXMLFilterExtensions = {".xml"}; //$NON-NLS-1$
-
-	// ********** static method **********
-	
-    public static IFile getBuilderXmlFromSelection(IStructuredSelection selection) {
-		Object firstElement = selection.getFirstElement();
-		if(firstElement instanceof IFile) {
-			String elementExtension = ((IFile)firstElement).getFileExtension();
-			if(elementExtension != null) {
-				if(browseXMLFilterExtensions[0].endsWith(elementExtension)) {
-					return ((IFile)firstElement);
-				}
-			}
-		}
-		return null;
-    }
-
-	// ********** constructor **********
-    
-	BuilderXmlWizardPage(IStructuredSelection selection) {
-		super("BuilderXmlWizardPage"); //$NON-NLS-1$
-		
-		this.initialSelection = selection;
-	}
-	
-	// ********** IDialogPage implementation  **********
-	
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-//		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, HELP_CONTEXT_ID);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		this.setControl(composite);
-
-		this.selectSourcePanel = new SelectFileOrXMLCatalogIdPanel(composite, this.initialSelection);
-		this.selectSourcePanel.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		SelectFileOrXMLCatalogIdPanel.PanelListener listener = new SelectFileOrXMLCatalogIdPanel.PanelListener() {
-			public void completionStateChanged() {
-				selectFileOrXMLCatalogIdPanelChanged();
-			}
-		};
-		this.selectSourcePanel.setListener(listener);
-		Dialog.applyDialogFont(parent);
-	}
-
-    @Override
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if(visible) {
-
-	    	if(this.getBuilderXml() != null) {
-	    		this.selectSourcePanel.setSingleFileViewDefaultSelection(new StructuredSelection(this.getBuilderXml()));
-	    	}
-	    	else {
-	    		this.updateTargetProject();
-		    	IFile schema = getBuilderXmlFromSelection(this.initialSelection);
-		    	if(schema != null) {
-		    		this.selectSourcePanel.setSingleFileViewDefaultSelection(new StructuredSelection(schema));
-		    	}
-		    	else {
-		    		this.selectSourcePanel.setSingleFileViewDefaultSelection(new StructuredSelection(this.targetProject));
-		    	}
-	    	}
-	    	this.selectSourcePanel.update();
-			
-			this.setTitle(JptDbwsUiMessages.BuilderXmlWizardPage_title);
-			this.setDescription(JptDbwsUiMessages.BuilderXmlWizardPage_desc);
-			this.selectSourcePanel.setFilterExtensions(browseXMLFilterExtensions);
-		}
-		this.selectSourcePanel.setVisibleHelper(visible);
-	}
-    
-	// ********** IWizardPage implementation  **********
-    
-    @Override
-	public boolean isPageComplete() {
-
-		return this.schemaOrUriSelected() && (this.getErrorMessage() == null);
-	}
-
-	// ********** intra-wizard methods **********
-	
-	public IFile getBuilderXml() {
-		return this.selectSourcePanel.getFile();
-	}
-
-	public String getSourceURI() {
-		String uri = this.selectSourcePanel.getXMLCatalogURI();
-		if(uri == null) {
-			IFile file = this.selectSourcePanel.getFile();
-			if(file != null) {
-				uri = URIHelper.getPlatformURI(file);
-			}
-		}
-		return uri;
-	}
-
-	// ********** internal methods **********
-
-	private void updateTargetProject() {
-    	IWizardPage previousPage = this.getPreviousPage();
-    	
-		if(previousPage instanceof JavaProjectWizardPage) {
-			// get project from previousPage
-			this.targetProject = (((JavaProjectWizardPage)previousPage).getJavaProject()).getProject();
-		}
-		else if(initialSelection != null && ! this.initialSelection.isEmpty()) {
-			// no previousPage - get project from initialSelection
-			this.targetProject = this.getProjectFromInitialSelection();
-		}		
-	}
-	
-    private IProject getProjectFromInitialSelection() {
-		Object firstElement = initialSelection.getFirstElement();
-		if(firstElement instanceof IProject) {
-			return (IProject)firstElement;
-		}
-		else if(firstElement instanceof IResource) {
-			return ((IResource) firstElement).getProject();
-		}
-		else if(firstElement instanceof IJavaElement) {
-			return ((IJavaElement)firstElement).getJavaProject().getProject();
-		}
-		return null;
-    }
-
-	private boolean schemaOrUriSelected() {
-		return ((this.getBuilderXml() != null) || (this.getSourceURI() != null));
-	}
-
-	private String computeErrorMessage() {
-		String errorMessage = null;
-		String uri = this.getSourceURI();
-		if(uri != null) {
-			if( ! URIHelper.isReadableURI(uri, false)) {
-				errorMessage = JptDbwsUiMessages.BuilderXmlWizardPage_errorUriCannotBeLocated;
-			}
-		}
-		return errorMessage;
-	}
-
-	private void selectFileOrXMLCatalogIdPanelChanged() {
-		String errorMessage = this.computeErrorMessage();
-		this.setErrorMessage(errorMessage);
-		this.setPageComplete(this.isPageComplete());
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/DbwsGeneratorWizard.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/DbwsGeneratorWizard.java
deleted file mode 100644
index 5b91e00..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/DbwsGeneratorWizard.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2012 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jpt.dbws.eclipselink.ui.JptDbwsUiPlugin;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.DbwsGeneratorUi;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.JptDbwsUiIcons;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.JptDbwsUiMessages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWizard;
-
-/**
- *  DbwsGeneratorWizard
- */
-public class DbwsGeneratorWizard extends Wizard implements IWorkbenchWizard {
-
-	private IJavaProject javaProject;
-	private String builderXmlFile;
-	private IStructuredSelection selection;
-	
-	private WebDynamicProjectWizardPage projectWizardPage;
-	private BuilderXmlWizardPage builderXmlWizardPage;
-
-	// Dialog store id constant
-	private static final String WIZARD_NAME = DbwsGeneratorWizard.class.getName();
-	private static final String DBWS_SECTION_NAME = "DbwsSettings";		//$NON-NLS-1$
-
-	private JdbcDriverWizardPage jdbcDriversPage;
-	
-	// ********** constructor **********
-
-	public DbwsGeneratorWizard() {
-		super();
-
-		this.initialize();
-	}
-	
-	public DbwsGeneratorWizard(IJavaProject javaProject, String builderXmlFile) {
-		super();
-
-		this.javaProject = javaProject;
-		this.builderXmlFile = builderXmlFile;
-
-		this.initialize();
-	}
-	
-	private void initialize() {
-		if(this.getDialogSettings() == null) {
-			IDialogSettings dbwsSettings = JptDbwsUiPlugin.instance().getDialogSettings();
-			IDialogSettings wizardSettings = dbwsSettings.getSection(DBWS_SECTION_NAME);
-			if(wizardSettings == null) {
-				wizardSettings = dbwsSettings.addNewSection(DBWS_SECTION_NAME);
-			}
-			this.setDialogSettings(wizardSettings);
-		}
-	}
-
-	// ********** IWorkbenchWizard implementation  **********
-
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		this.selection = selection;
-
-		this.setWindowTitle(JptDbwsUiMessages.DbwsGeneratorWizard_title);
-
-		this.setDefaultPageImageDescriptor(JptDbwsUiPlugin.getImageDescriptor(JptDbwsUiIcons.DBWS_GEN_WIZ_BANNER));
-		this.setNeedsProgressMonitor(true);
-	}
-
-	// ********** IWizard implementation  **********
-	
-	@Override
-	public void addPages() {
-		super.addPages();
-
-		if(this.selection != null) {
-			// WebDynamicProjectWizardPage
-			this.javaProject = this.getJavaProjectFromSelection(this.selection);
-
-			this.projectWizardPage = this.buildWebDynamicProjectPage(this.javaProject);
-			this.addPage(this.projectWizardPage);
-
-			// BuilderXmlWizardPage
-			IFile builderXmlSelected = BuilderXmlWizardPage.getBuilderXmlFromSelection(this.selection);
-			if(builderXmlSelected == null) {
-				this.builderXmlWizardPage = this.buildBuilderXmlPage(this.selection);
-				this.addPage(this.builderXmlWizardPage);
-			}
-			else {
-				this.builderXmlFile = this.makeRelativeToProjectPath(builderXmlSelected.getFullPath());
-			}
-		}
-		// JdbcDriverWizardPage
-		this.jdbcDriversPage = this.buildJdbcDriversPage();
-		this.addPage(this.jdbcDriversPage);
-	}
-	
-	@Override
-	public boolean performFinish() {
-		
-		WizardPage currentPage = (WizardPage)getContainer().getCurrentPage();
-		if(currentPage != null) {
-			if( ! currentPage.isPageComplete()) {
-				return false;
-			}
-		}
-
-		String driverJarList = this.jdbcDriversPage.getDriverJarList();
-		this.jdbcDriversPage.finish();	// persist settings
-
-		if(DbwsGeneratorUi.displayOverridingWebContentWarning(this.getShell())) {
-			this.generateDbws(driverJarList);
-		}
-		return true;
-	}
-    
-	// ********** intra-wizard methods **********
-    
-	public IJavaProject getJavaProject() {
-		if(this.projectWizardPage != null) {
-			this.javaProject = this.projectWizardPage.getJavaProject();
-		}
-    	return this.javaProject;
-    }
-
-	public String getBuilderXmlPathOrUri() {
-		if(this.builderXmlWizardPage != null) {
-			IFile xmlFile = this.builderXmlWizardPage.getBuilderXml();
-			if(xmlFile != null) {
-				return this.makeRelativeToProjectPath(xmlFile.getFullPath());
-			}
-			else {
-				return this.builderXmlWizardPage.getSourceURI();
-			}
-		}
-		return this.builderXmlFile;
-	}
-	
-	// ********** internal methods **********
-
-	private WebDynamicProjectWizardPage buildWebDynamicProjectPage(IJavaProject javaProject) {
-		
-		WebDynamicProjectWizardPage projectWizardPage = new WebDynamicProjectWizardPage(javaProject);
-		projectWizardPage.setTitle(JptDbwsUiMessages.WebDynamicProjectWizardPage_title);
-		projectWizardPage.setDescription(JptDbwsUiMessages.WebDynamicProjectWizardPage_desc);
-		projectWizardPage.setDestinationLabel(JptDbwsUiMessages.WebDynamicProjectWizardPage_destinationProject);
-
-		return projectWizardPage;
-	}
-
-	private BuilderXmlWizardPage buildBuilderXmlPage(IStructuredSelection selection) {
-		return new BuilderXmlWizardPage(selection);
-	}
-	
-	private JdbcDriverWizardPage buildJdbcDriversPage() {
-		return new JdbcDriverWizardPage(WIZARD_NAME);
-	}
-
-	private String makeRelativeToProjectPath(IPath path) {
-		IPath relativePath = path.makeRelativeTo(this.getJavaProject().getProject().getFullPath());
-		return relativePath.toOSString();
-	}
-	
-	private void generateDbws(String driverJarList) {
-
-		String stageDirName = this.getJavaProject().getProject().getLocation().toOSString();
-
-		WorkspaceJob generateJob = new DbwsGeneratorUi.GenerateDbwsJob(
-			this.getJavaProject(),
-			this.getBuilderXmlPathOrUri(),
-			stageDirName,
-			driverJarList
-		);
-		generateJob.schedule();
-	}
-
-	private IJavaProject getJavaProjectFromSelection(IStructuredSelection selection) {
-    	if(selection == null) {
-    		return null;
-    	}
-		Object firstElement = selection.getFirstElement();
-		if(firstElement instanceof IJavaProject) {
-			return (IJavaProject)firstElement;
-		}
-		else if(firstElement instanceof IResource) {
-			IProject project = ((IResource) firstElement).getProject();
-			return getJavaProjectFrom(project);
-		}
-		else if(firstElement instanceof IJavaElement) {
-			return ((IJavaElement)firstElement).getJavaProject();
-		}
-		return null;
-    }
-    
-	private IJavaProject getJavaProjectFrom(IProject project) {
-    	return ((IJavaElement) project.getAdapter(IJavaElement.class)).getJavaProject();
-    }
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/JdbcDriverWizardPage.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/JdbcDriverWizardPage.java
deleted file mode 100644
index 8f5c9d1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/JdbcDriverWizardPage.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.common.ui.internal.util.TableLayoutComposite;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.dbws.eclipselink.ui.JptDbwsUiPlugin;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.JptDbwsUiIcons;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.JptDbwsUiMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- *  JdbcDriversWizardPage
- */
-public class JdbcDriverWizardPage extends WizardPage
-{
-	private final String storedDriverClasspathId;
-	private ArrayList<String> jarPaths;
-	
-	public static String BINDINGS_FILE_FILTER = "*.jar;*.zip";   //$NON-NLS-1$
-	// dialog store id constants
-	private static final String PAGE_ID = "DRIVER_CLASSPATH_ID";	//$NON-NLS-1$
-	private static final String PATH_SEPARATOR = System.getProperty("path.separator");	//$NON-NLS-1$
-
-	// ********** constructor **********
-
-	protected JdbcDriverWizardPage(String wizardName) {
-		super("Jdbc Driver"); //$NON-NLS-1$
-
-		this.initialize();
-		
-		this.jarPaths = new ArrayList<String>();
-		this.storedDriverClasspathId = wizardName + "." + PAGE_ID; //$NON-NLS-1$
-	}
-
-	protected void initialize() {
-		this.setTitle(JptDbwsUiMessages.JdbcDriverWizardPage_title);
-		this.setDescription(JptDbwsUiMessages.JdbcDriverWizardPage_desc);
-		this.setImageDescriptor(JptDbwsUiPlugin.getImageDescriptor(JptDbwsUiIcons.DBWS_GEN_WIZ_BANNER));
-	}
-
-	// ********** intra-wizard methods **********
-
-	public void finish() {
-		this.saveWidgetValues();
-	}
-
-	public String getDriverJarList() {
-		return this.buildDriverJarListString();
-	}
-
-	// ********** internal methods **********
-
-	/**
-	 *	Initializes the JAR package from last used wizard page values.
-	 */
-	private void initializeJarPaths() {
-		IDialogSettings settings= this.getDialogSettings();
-		if(settings != null) {
-			// destination
-			String[] driverPaths = settings.getArray(this.storedDriverClasspathId);
-			if(driverPaths == null) {
-				return; // ie.- no settings stored
-			}
-			this.jarPaths = new ArrayList<String>();
-			
-			CollectionTools.addAll(this.jarPaths, driverPaths);
-		}
-	}
-	
-	private void saveWidgetValues() {
-		IDialogSettings settings= this.getDialogSettings();
-
-		if(settings != null) {
-			String[] driverPaths = this.jarPaths.toArray(new String[0]);
-			settings.put(this.storedDriverClasspathId, driverPaths);
-		}
-	}
-
-	private String buildDriverJarListString() {
-		if(this.jarPaths.isEmpty()) {
-			return StringTools.EMPTY_STRING;
-		}
-		StringBuffer result = new StringBuffer();
-		for(String jar : this.jarPaths) {
-			result.append(jar).append(PATH_SEPARATOR);
-		}
-		result.deleteCharAt(result.length() - 1);	// remove last separator
-		return result.toString();
-	}
-	
-	// ********** UI components **********
-
-	public void createControl(Composite parent) {
-		this.initializeJarPaths();
-		this.setPageComplete(true);
-		this.setControl(this.buildTopLevelControl(parent));
-	}
-
-	private Control buildTopLevelControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-
-		new JarsGroup(composite);
-		
-		return composite;
-	}
-
-	// ********** private methods **********
-
-	private void removeJarFile(String filePath) {
-		this.jarPaths.remove(filePath);
-	}
-	
-	private void addJarFile(String filePath) {
-		if( ! this.jarPaths.contains(filePath)) {
-			this.jarPaths.add(filePath);
-		}
-	}
-	
-	// ********** JarsGroup class **********
-
-	private class JarsGroup {
-
-		
-		// ********** constructor **********
-
-		private JarsGroup(Composite parent) {
-			super();
-			Composite composite = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout(2, false); //must be 4 for the package controls
-			layout.marginHeight = 0;
-			layout.marginWidth = 0;
-			composite.setLayout(layout);
-			composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp(this.group, HELP_CONTEXT_ID);
-
-			this.buildLabel(composite, 2, JptDbwsUiMessages.JdbcDriverWizardPage_driverFiles);
-			
-			this.buildDriverFilesTable(composite);
-		}
-	    
-		// ********** intra-wizard methods **********
-	    
-		public IJavaProject getJavaProject() {
-			IWizard wizard = getWizard();
-	    	
-			if( ! (wizard instanceof DbwsGeneratorWizard)) {
-				throw new NullPointerException();
-			}
-			return ((DbwsGeneratorWizard)wizard).getJavaProject();
-		}
-
-		private ArrayList<String> getJarPaths() {
-			return jarPaths;
-		}
-
-		// ********** private methods **********
-
-		private TableViewer buildDriverFilesTable(Composite parent) {
-			
-			TableViewer tableViewer = this.buildTableViewer(parent, this.getJarPaths());
-			
-			this.buildAddRemoveButtons(parent, tableViewer);
-			return tableViewer;
-		}
-		
-		private TableViewer buildTableViewer(Composite parent, ArrayList<String> tableDataModel) {	
-			
-			TableLayoutComposite tableLayout = new TableLayoutComposite(parent, SWT.NONE);
-			this.addColumnsData(tableLayout);
-			
-			final Table table = new Table(tableLayout, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
-			table.setLinesVisible(false);
-			
-			TableColumn column = new TableColumn(table, SWT.NONE, 0);
-			column.setResizable(true);
-			
-			GridData gridData= new GridData(GridData.FILL_BOTH);
-			gridData.horizontalSpan = 1;
-			gridData.heightHint= SWTUtil.getTableHeightHint(table, 7);
-			tableLayout.setLayoutData(gridData);
-			
-			TableViewer tableViewer = new TableViewer(table);
-			tableViewer.setUseHashlookup(true);
-			tableViewer.setLabelProvider(this.buildLabelProvider());
-			tableViewer.setContentProvider(this.buildContentProvider());
-			
-			tableViewer.setInput(tableDataModel);
-			tableViewer.refresh();
-			return tableViewer;
-		}
-		
-		private void buildAddRemoveButtons(Composite parent, final TableViewer tableViewer) {
-			
-			Composite buttonComposite = new Composite(parent, SWT.NULL);
-			GridLayout buttonLayout = new GridLayout(1, false);
-			buttonComposite.setLayout(buttonLayout);
-			GridData gridData =  new GridData();
-			gridData.horizontalAlignment = GridData.FILL;
-			gridData.verticalAlignment = GridData.BEGINNING;
-			buttonComposite.setLayoutData(gridData);
-			// Add buttons
-			Button addButton = new Button(buttonComposite, SWT.PUSH);
-			addButton.setText(JptDbwsUiMessages.JdbcDriverWizardPage_addButton);
-			gridData = new GridData();
-			gridData.horizontalAlignment = GridData.FILL;
-			gridData.grabExcessHorizontalSpace= true;
-			addButton.setLayoutData(gridData);
-			addButton.addSelectionListener(new SelectionListener() {
-				public void widgetDefaultSelected(SelectionEvent e) {}
-
-				public void widgetSelected(SelectionEvent e) {
-
-					ArrayList<String> jarFiles = promptJarFiles();
-					for(String jarFile : jarFiles) {
-						addJarFile(jarFile);
-					}
-					tableViewer.refresh();
-				}
-			});
-			// Remove buttons
-			Button removeButton = new Button(buttonComposite, SWT.PUSH);
-			removeButton.setText(JptDbwsUiMessages.JdbcDriverWizardPage_removeButton);
-			gridData =  new GridData();
-			gridData.horizontalAlignment = GridData.FILL;
-			gridData.grabExcessHorizontalSpace= true;
-			removeButton.setLayoutData(gridData);
-			removeButton.addSelectionListener(new SelectionListener() {
-				public void widgetDefaultSelected(SelectionEvent e) {}
-				
-				public void widgetSelected(SelectionEvent e) {
-					StructuredSelection selection = (StructuredSelection)tableViewer.getSelection();
-					if(selection.isEmpty()) {
-						return;
-					}
-					String jarFile = (String)selection.getFirstElement();
-					removeJarFile(jarFile);
-					
-					tableViewer.refresh();
-				}
-			});
-			addButton.setFocus();
-		}
-
-		private IBaseLabelProvider buildLabelProvider() {
-			return new TableLabelProvider();
-		}
-		
-		private IContentProvider buildContentProvider() {
-			return new TableContentProvider();
-		}
-
-		private ArrayList<String> promptJarFiles() {
-			String projectPath= this.getJavaProject().getProject().getLocation().toString();
-
-			FileDialog dialog = new FileDialog(getShell(), SWT.MULTI);
-			dialog.setText(JptDbwsUiMessages.JdbcDriverWizardPage_chooseADriverFile);
-			dialog.setFilterPath(projectPath);
-			dialog.setFilterExtensions(new String[] {BINDINGS_FILE_FILTER});
-
-			dialog.open();
-			String path = dialog.getFilterPath();
-			String[] fileNames = dialog.getFileNames();
-			ArrayList<String> results = new ArrayList<String>(fileNames.length);
-			for(String fileName : fileNames) {
-				results.add(path + File.separator + fileName);
-			}
-			return results;
-		}
-
-		private void addColumnsData(TableLayoutComposite layout) {
-			layout.addColumnData(new ColumnWeightData(50, true));
-		}
-
-		/**
-		 * Build and return a label
-		 */
-		private Label buildLabel(Composite parent, int span, String text) {
-			Label label = new Label(parent, SWT.NONE);
-			label.setText(text);
-			GridData gd = new GridData();
-			gd.horizontalSpan = span;
-			label.setLayoutData(gd);
-			return label;
-		}
-
-		// ********** inner class **********
-		
-		private class TableLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-			public Image getColumnImage(Object element, int columnIndex) {
-				return null;
-			}
-			
-			public String getColumnText(Object element, int columnIndex) {
-				return (String)element;
-			}
-		}
-		
-		private class TableContentProvider implements IStructuredContentProvider {
-
-			TableContentProvider() {
-				super();
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-			
-			public void dispose() {}
-			
-			public Object[] getElements(Object inputElement) {
-				return ((Collection<?>) inputElement).toArray();
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectFileOrXMLCatalogIdPanel.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectFileOrXMLCatalogIdPanel.java
deleted file mode 100644
index 7f36cc3..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectFileOrXMLCatalogIdPanel.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- * Code originate from org.eclipse.wst.xml.ui.internal.dialogs
- *******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jpt.dbws.eclipselink.ui.JptDbwsUiPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog;
-
-
-public class SelectFileOrXMLCatalogIdPanel extends Composite implements SelectionListener {
-
-	public interface PanelListener {
-		void completionStateChanged();
-	}
-
-	protected PanelListener listener;
-	protected PageBook pageBook;
-
-	protected SelectFilePanel selectFilePanel;
-	protected SelectXMLCatalogIdPanel selectXMLCatalogIdPanel;
-
-	// ********** constructor **********
-
-	public SelectFileOrXMLCatalogIdPanel(Composite parent, IStructuredSelection selection) {
-		super(parent, SWT.NONE);
-
-		// container group
-		setLayout(new GridLayout());
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 400;
-		gd.widthHint = 400;
-		setLayoutData(gd);
-
-		pageBook = new PageBook(this, SWT.NONE);
-		pageBook.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		selectFilePanel = new SelectFilePanel(pageBook, selection);
-		this.setSingleFileViewDefaultSelection(selection);
-		
-		// Catalog
-		ICatalog xmlCatalog = JptDbwsUiPlugin.instance().getDefaultXMLCatalog();
-		selectXMLCatalogIdPanel = new SelectXMLCatalogIdPanel(pageBook, xmlCatalog);
-		selectXMLCatalogIdPanel.getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateCompletionStateChange();
-			}
-		});
-		Dialog.applyDialogFont(parent);
-		pageBook.showPage(selectFilePanel.getControl());
-	}
-	
-	public void setSingleFileViewDefaultSelection(ISelection selection) {
-		this.selectFilePanel.setDefaultSelection(selection);
-	}
-
-	public IFile getFile() {
-		return selectFilePanel.getFile();
-	}
-
-	public String getXMLCatalogURI() {
-		return null;		// XMLCatalog not supported
-	}
-
-	public void setCatalogEntryType(int catalogEntryType) {
-		selectXMLCatalogIdPanel.setCatalogEntryType(catalogEntryType);
-	}
-
-	public void setFilterExtensions(String[] filterExtensions) {
-		selectFilePanel.resetFilters();
-		selectFilePanel.addFilterExtensions(filterExtensions);
-
-		selectXMLCatalogIdPanel.getTableViewer().setFilterExtensions(filterExtensions);
-	}
-
-	public void setListener(PanelListener listener) {
-		this.listener = listener;
-	}
-
-	public void setVisibleHelper(boolean isVisible) {
-		selectFilePanel.setVisibleHelper(isVisible);
-	}
-
-	public void updateCompletionStateChange() {
-		if (listener != null) {
-			listener.completionStateChanged();
-		}
-	}
-
-	public void widgetDefaultSelected(SelectionEvent e) {
-	}
-
-	public void widgetSelected(SelectionEvent e) {
-		pageBook.showPage(selectFilePanel.getControl());
-
-		updateCompletionStateChange();
-	}
-
-	// ********** inner class **********
-	
-	protected class SelectFilePanel extends SelectSingleFileViewFacade implements SelectSingleFileViewFacade.Listener {
-		protected Control control;
-
-		public SelectFilePanel(Composite parent, IStructuredSelection selection) {
-			super(selection, true);
-			// String[] ext = {".dtd"};
-			// addFilterExtensions(ext);
-			control = createControl(parent);
-			control.setLayoutData(new GridData(GridData.FILL_BOTH));
-			SelectFilePanel.this.setListener(this);
-		}
-
-		public Control getControl() {
-			return control;
-		}
-
-		public void setControlComplete(boolean isComplete) {
-			updateCompletionStateChange();
-		}
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectSingleFileViewFacade.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectSingleFileViewFacade.java
deleted file mode 100644
index c5363d5..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectSingleFileViewFacade.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- *  SelectSingleFileView
- *  
- *  Façade class to change accessibility of SelectSingleFileView.
- */
-@SuppressWarnings("restriction")
-public class SelectSingleFileViewFacade extends org.eclipse.wst.common.ui.internal.viewers.SelectSingleFileView {
-
-	public static interface Listener extends org.eclipse.wst.common.ui.internal.viewers.SelectSingleFileView.Listener
-	{}
-
-	public SelectSingleFileViewFacade(IStructuredSelection selection, boolean isFileMandatory) {
-		super(selection, isFileMandatory);
-	}
-
-	public void addFilterExtensions(String[] filterExtensions) {
-		super.addFilterExtensions(filterExtensions);
-	}
-
-	public Composite createControl(Composite parent) {
-		return super.createControl(parent);
-	}
-
-	public IFile getFile() {
-		return super.getFile();
-	}
-
-	public void resetFilters() {
-		super.resetFilters();
-	}
-	
-	public void setVisibleHelper(boolean isVisible) {
-		super.setVisibleHelper(isVisible);
-	}
-	
-	public void setDefaultSelection(ISelection selection) {
-		super.setDefaultSelection(selection);
-	}
-
-	public void setListener(Listener listener) {
-		super.setListener(listener);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectXMLCatalogIdPanel.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectXMLCatalogIdPanel.java
deleted file mode 100644
index 3e1ec46..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/SelectXMLCatalogIdPanel.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- * Code originate from org.eclipse.wst.xml.ui.internal.dialogs
- *******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jpt.dbws.eclipselink.ui.JptDbwsUiPlugin;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.JptDbwsUiMessages;
-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.wst.xml.core.internal.catalog.provisional.ICatalog;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
-
-
-public class SelectXMLCatalogIdPanel extends Composite {
-	protected int catalogEntryType;
-	protected boolean doTableSizeHack = false;
-
-	protected XMLCatalogTableViewer tableViewer;
-	protected ICatalog fXmlCatalog;
-
-	public SelectXMLCatalogIdPanel(Composite parent, ICatalog xmlCatalog) {
-		super(parent, SWT.NONE);
-		this.fXmlCatalog = xmlCatalog;
-
-		GridLayout gridLayout = new GridLayout();
-		this.setLayout(gridLayout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 200;
-		gd.widthHint = 700;
-		this.setLayoutData(gd);
-
-		Label label = new Label(this, SWT.NONE);
-		label.setText(JptDbwsUiMessages.BuilderXmlWizardPage_xmlCatalogTableTitle);
-
-		tableViewer = createTableViewer(this);
-		tableViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-		tableViewer.setInput("dummy"); //$NON-NLS-1$
-	}
-
-	protected XMLCatalogTableViewer createTableViewer(Composite parent) {
-		String headings[] = new String[2];
-		headings[0] = JptDbwsUiMessages.BuilderXmlWizardPage_xmlCatalogKeyColumn;
-		headings[1] = JptDbwsUiMessages.BuilderXmlWizardPage_xmlCatalogUriColumn;
-
-		XMLCatalogTableViewer theTableViewer = new XMLCatalogTableViewer(parent, headings) {
-
-			protected void addXMLCatalogEntries(List list, ICatalogEntry[] entries) {
-				for (int i = 0; i < entries.length; i++) {
-					ICatalogEntry entry = entries[i];
-					if (catalogEntryType == 0) {
-						list.add(entry);
-					}
-					else if (catalogEntryType == entry.getEntryType()) {
-						list.add(entry);
-					}
-				}
-			}
-
-			public Collection getXMLCatalogEntries() {
-				List result = null;
-
-				if ((fXmlCatalog == null) || doTableSizeHack) {
-					// this lets us create a table with an initial height of
-					// 10 rows
-					// otherwise we get stuck with 0 row heigh table... that's
-					// too small
-					doTableSizeHack = false;
-					result = new Vector();
-					for (int i = 0; i < 6; i++) {
-						result.add(""); //$NON-NLS-1$
-					}
-				}
-				else {
-					result = new Vector();
-					INextCatalog[] nextCatalogs = fXmlCatalog.getNextCatalogs();
-					for (int i = 0; i < nextCatalogs.length; i++) {
-						INextCatalog catalog = nextCatalogs[i];
-						ICatalog referencedCatalog = catalog.getReferencedCatalog();
-						if (referencedCatalog != null) {
-							if (JptDbwsUiPlugin.SYSTEM_CATALOG_ID.equals(referencedCatalog.getId())) {
-								ICatalog systemCatalog = referencedCatalog;
-								addXMLCatalogEntries(result, systemCatalog.getCatalogEntries());
-
-							}
-							else if (JptDbwsUiPlugin.USER_CATALOG_ID.equals(referencedCatalog.getId())) {
-								ICatalog userCatalog = referencedCatalog;
-								addXMLCatalogEntries(result, userCatalog.getCatalogEntries());
-
-							}
-						}
-					}
-				}
-				return result;
-			}
-		};
-		return theTableViewer;
-	}
-
-
-	public String getId() {
-		ICatalogEntry entry = getXMLCatalogEntry();
-		return entry != null ? entry.getKey() : null;
-	}
-
-	public XMLCatalogTableViewer getTableViewer() {
-		return tableViewer;
-	}
-
-	public String getURI() {
-		ICatalogEntry entry = getXMLCatalogEntry();
-		return entry != null ? entry.getURI() : null;
-	}
-
-	public ICatalogEntry getXMLCatalogEntry() {
-		ICatalogEntry result = null;
-		ISelection selection = tableViewer.getSelection();
-		Object selectedObject = (selection instanceof IStructuredSelection) ? ((IStructuredSelection) selection).getFirstElement() : null;
-		if (selectedObject instanceof ICatalogEntry) {
-			result = (ICatalogEntry) selectedObject;
-		}
-		return result;
-	}
-
-	public void setCatalogEntryType(int catalogEntryType) {
-		this.catalogEntryType = catalogEntryType;
-		tableViewer.refresh();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/WebDynamicProjectWizardPage.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/WebDynamicProjectWizardPage.java
deleted file mode 100644
index 0e32bfd..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/WebDynamicProjectWizardPage.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jpt.common.ui.internal.wizards.JavaProjectWizardPage;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.dbws.eclipselink.ui.internal.DbwsGeneratorUi;
-
-/**
- *  WebDynamicProjectWizardPage
- */
-public class WebDynamicProjectWizardPage extends JavaProjectWizardPage {
-
-	public WebDynamicProjectWizardPage(IJavaProject javaProject) {
-		super(javaProject);
-	}
-
-	@Override
-	protected Iterable<IProject> getJavaProjects() {
-	   return new FilteringIterable<IProject>(CollectionTools.collection(this.getProjects())) {
-	      @Override
-	      protected boolean accept(IProject next) {
-				return DbwsGeneratorUi.projectIsWebDynamic(next);
-	      }
-	   };
-	}
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/XMLCatalogTableViewer.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/XMLCatalogTableViewer.java
deleted file mode 100644
index c556561..0000000
--- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/XMLCatalogTableViewer.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- * Code originate from org.eclipse.wst.xml.ui.internal.dialogs
- *******************************************************************************/
-package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jpt.dbws.eclipselink.ui.JptDbwsUiPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
-
-import com.ibm.icu.text.Collator;
-
-public class XMLCatalogTableViewer extends TableViewer {
-
-	protected static String ERROR_STATE_KEY = "errorstatekey"; //$NON-NLS-1$
-
-	protected static Image dtdFileImage = JptDbwsUiPlugin.getImage("icons/full/obj16/dtdfile.gif"); //$NON-NLS-1$
-	protected static Image unknownFileImage = JptDbwsUiPlugin.getImage("icons/full/obj16/text.gif"); //$NON-NLS-1$
-	protected static Image xsdFileImage = JptDbwsUiPlugin.getImage("icons/full/obj16/XSDFile.gif"); //$NON-NLS-1$
-	protected static Image errorImage = JptDbwsUiPlugin.getImage("icons/full/ovr16/error_ovr.gif"); //$NON-NLS-1$
-
-	// ********** constructor **********
-
-	public XMLCatalogTableViewer(Composite parent, String[] columnProperties) {
-		super(parent, SWT.FULL_SELECTION);
-
-		Table table = getTable();
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-
-		TableLayout layout = new TableLayout();
-		for (int i = 0; i < columnProperties.length; i++) {
-			TableColumn column = new TableColumn(table, i);
-			column.setText(columnProperties[i]);
-			column.setAlignment(SWT.LEFT);
-			layout.addColumnData(new ColumnWeightData(50, true));
-		}
-		table.setLayout(layout);
-		table.setLinesVisible(false);
-
-		setColumnProperties(columnProperties);
-
-		setContentProvider(new CatalogEntryContentProvider());
-		setLabelProvider(new CatalogEntryLabelProvider());
-	}
-
-	public Collection getXMLCatalogEntries() {
-		return null;
-	}
-
-	public void menuAboutToShow(IMenuManager menuManager) {
-		Action action = new Action("hello") { //$NON-NLS-1$
-			public void run() {
-				System.out.println("run!"); //$NON-NLS-1$
-			}
-		};
-		menuManager.add(action);
-	}
-
-	public void setFilterExtensions(String[] extensions) {
-		resetFilters();
-		addFilter(new XMLCatalogTableViewerFilter(extensions));
-	}
-
-	// ********** inner class **********
-
-	public class CatalogEntryContentProvider implements IStructuredContentProvider {
-
-		public void dispose() {
-		}
-
-		public Object[] getElements(Object element) {
-			Object[] array = getXMLCatalogEntries().toArray();
-			Comparator comparator = new Comparator() {
-				public int compare(Object o1, Object o2) {
-					int result = 0;
-					if ((o1 instanceof ICatalogEntry) && (o2 instanceof ICatalogEntry)) {
-						ICatalogEntry mappingInfo1 = (ICatalogEntry) o1;
-						ICatalogEntry mappingInfo2 = (ICatalogEntry) o2;
-						result = Collator.getInstance().compare(mappingInfo1.getKey(), mappingInfo2.getKey());
-					}
-					return result;
-				}
-			};
-			Arrays.sort(array, comparator);
-			return array;
-		}
-
-		public void inputChanged(Viewer viewer, Object old, Object newobj) {
-		}
-
-		public boolean isDeleted(Object object) {
-			return false;
-		}
-	}
-
-	public class CatalogEntryLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-		public Image getColumnImage(Object object, int columnIndex) {
-			Image result = null;
-			if (columnIndex == 0) {
-				Image base = null;
-				if (object instanceof ICatalogEntry) {
-					ICatalogEntry catalogEntry = (ICatalogEntry) object;
-					String uri = catalogEntry.getURI();
-					if (uri.endsWith("dtd")) { //$NON-NLS-1$
-						base = dtdFileImage;
-					}
-					else if (uri.endsWith("xsd")) { //$NON-NLS-1$
-						base = xsdFileImage;
-					}
-					else {
-						base = unknownFileImage;
-					}
-
-					if (base != null) {
-						if (URIHelper.isReadableURI(uri, false)) {
-							result = base;
-						}
-						else {
-							// TODO... SSE port
-							result = base;// imageFactory.createCompositeImage(base,
-							// errorImage,
-							// ImageFactory.BOTTOM_LEFT);
-						}
-					}
-				}
-			}
-			return result;
-		}
-
-		public String getColumnText(Object object, int columnIndex) {
-			String result = null;
-			if (object instanceof ICatalogEntry) {
-				ICatalogEntry catalogEntry = (ICatalogEntry) object;
-				result = columnIndex == 0 ? catalogEntry.getKey() : catalogEntry.getURI();
-				result = URIHelper.removePlatformResourceProtocol(result);
-			}
-			return result != null ? result : ""; //$NON-NLS-1$
-		}
-	}
-
-	class XMLCatalogTableViewerFilter extends ViewerFilter {
-		protected String[] extensions;
-
-		public XMLCatalogTableViewerFilter(String[] extensions) {
-			this.extensions = extensions;
-		}
-
-		public boolean isFilterProperty(Object element, Object property) {
-			return false;
-		}
-
-		public boolean select(Viewer viewer, Object parent, Object element) {
-			boolean result = false;
-			if (element instanceof ICatalogEntry) {
-				ICatalogEntry catalogEntry = (ICatalogEntry) element;
-				for (int i = 0; i < extensions.length; i++) {
-					if (catalogEntry.getURI().endsWith(extensions[i])) {
-						result = true;
-						break;
-					}
-				}
-			}
-			return result;
-		}
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/.cvsignore b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/.project b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/.project
deleted file mode 100644
index 9856092..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index 00524af..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.jaxb.branding;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.html b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.ini b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.ini
deleted file mode 100644
index 7d88b9d..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.mappings b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.properties
deleted file mode 100644
index 9bd22c7..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - JAXB Support\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Oracle contributors and others 2010, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/build.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/build.properties
deleted file mode 100644
index 11a4e44..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties,\
-               component.xml
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/component.xml b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/component.xml
deleted file mode 100644
index bc275a7..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/component.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jaxb.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.jaxb.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.utility" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.ui" fragment="false"/>
-<plugin id="org.eclipse.jpt.jaxb.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.jaxb.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/icons/WTP_icon_x32_v2.png b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/plugin.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.branding/plugin.properties
deleted file mode 100644
index fbe477f..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.branding/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - JAXB Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.classpath b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.classpath
deleted file mode 100644
index 2fc0e3f..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/model/value/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.cvsignore b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.project b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.project
deleted file mode 100644
index 025cb3b..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.core.schemagen</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.settings/org.eclipse.jdt.core.prefs b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b92672f..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:07:29 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/META-INF/MANIFEST.MF
deleted file mode 100644
index 7405624..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jaxb.core.schemagen;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Import-Package: javax.xml.bind
-Export-Package: org.eclipse.jpt.jaxb.core.schemagen,
- org.eclipse.jpt.jaxb.core.schemagen.internal;x-internal:=true
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/about.html b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/about.html
deleted file mode 100644
index 071f586..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/about.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H2>About This Content</H2>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-<h3>Third Party Content</h3>
-<p>The Content includes items that have been sourced from third parties as set 
-  out below. If you did not receive this Content directly from the Eclipse Foundation, 
-  the following is provided for informational purposes only, and you should look 
-  to the Redistributor&#8217;s license for terms and conditions of use.</p>
-
-<h4><a name="JPA" id="JPA"></a>Java Persistence API (JPA) v1.0</h4>
-
-<blockquote>
-  <p>The Java Persistence API (JPA) which is distributed under <a href="https://glassfish.dev.java.net/public/CDDLv1.0.html">CDDL 
-    v1.0</a> is required by the Dali Java Persistence Tools Project in order 
-    to support this standard.</p>
-</blockquote>
-</BODY>
-</HTML>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/build.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/build.properties
deleted file mode 100644
index d535c61..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/plugin.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/plugin.properties
deleted file mode 100644
index 2e7dfca..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - JAXB Support - Schema Generation
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/Main.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/Main.java
deleted file mode 100644
index 9f6a922..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/Main.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.jaxb.core.schemagen;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.SchemaOutputResolver;
-import javax.xml.transform.Result;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.jpt.jaxb.core.schemagen.internal.JptJaxbCoreMessages;
-import org.eclipse.jpt.jaxb.core.schemagen.internal.Tools;
-
-/**
- *  Generate a JAXB Schema
- *  
- * Current command-line arguments:
- *     [-s schema.xsd] - specifies the target schema
- *     [-c className] - specifies the fully qualified class name
- *     
- *     [-p packageName] - specifies the source package // @deprecated
- */
-public class Main
-{
-	private String[] sourceClassNames;
-	private String targetSchemaName;
-	@SuppressWarnings("unused")
-	private boolean isDebugMode;
-
-	static public String NO_FACTORY_CLASS = "doesnt contain ObjectFactory.class";   //$NON-NLS-1$
-
-	// ********** static methods **********
-	
-	public static void main(String[] args) {
-		new Main().execute(args);
-	}
-	
-	// ********** constructors **********
-
-	private Main() {
-		super();
-	}
-
-	// ********** behavior **********
-	
-	protected void execute(String[] args) {
-		
-		this.initializeWith(args);
-		
-		this.generate();
-	}
-
-	// ********** internal methods **********
-    
-	private void initializeWith(String[] args) {
-    	this.sourceClassNames = this.getSourceClassNames(args);
-    	this.targetSchemaName = this.getTargetSchemaName(args);
-
-		this.isDebugMode = this.getDebugMode(args);
-	}
-
-	private void generate() {
-        // Create the JAXBContext
-		JAXBContext jaxbContext = this.buildJaxbContext();
-		
-        // Generate an XML Schema
-		if(jaxbContext != null) {
-			this.generateSchema(jaxbContext);
-		}
-		else {
-			System.out.println(Tools.bind(JptJaxbCoreMessages.SCHEMA_NOT_CREATED, this.targetSchemaName));
-		}
-    }
-	
-	private JAXBContext buildJaxbContext() {
-		System.out.println(Tools.getString(JptJaxbCoreMessages.LOADING_CLASSES));
-		JAXBContext jaxbContext = null;
-			try {
-				ClassLoader loader = Thread.currentThread().getContextClassLoader();
-				
-				Class[] sourceClasses = this.buildSourceClasses(this.sourceClassNames, loader);
-				
-				jaxbContext = JAXBContext.newInstance(sourceClasses);
-			}
-			catch(JAXBException ex) {
-				this.handleException(ex);
-			}
-			return jaxbContext;
-	 }
-	
-	private void generateSchema(JAXBContext jaxbContext) {
-		System.out.println(Tools.getString(JptJaxbCoreMessages.GENERATING_SCHEMA));
-		System.out.flush();
-		
-		SchemaOutputResolver schemaOutputResolver = 
-			new JptSchemaOutputResolver(this.targetSchemaName);
-
-		try {
-			jaxbContext.generateSchema(schemaOutputResolver);
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-    
-    private Class[] buildSourceClasses(String[] classNames, ClassLoader loader) {
-
-		ArrayList<Class> sourceClasses = new ArrayList<Class>(classNames.length);
-		for(String className: classNames) {
-			try {
-				sourceClasses.add(loader.loadClass(className));
-					System.out.println(className);
-			}
-			catch (ClassNotFoundException e) {
-				System.err.println(Tools.bind(JptJaxbCoreMessages.NOT_FOUND, className));
-			}
-		}
-		System.out.flush();
-		return sourceClasses.toArray(new Class[0]);
-    }
-	
-	private void handleException(JAXBException ex) {
-		String message = ex.getMessage();
-		Throwable linkedEx = ex.getLinkedException();
-		if(message != null && message.indexOf(NO_FACTORY_CLASS) > -1) {
-			System.err.println(message);
-		}
-		else if(linkedEx != null && linkedEx instanceof ClassNotFoundException) {
-			String errorMessage = Tools.bind(JptJaxbCoreMessages.CONTEXT_FACTORY_NOT_FOUND, linkedEx.getMessage());
-			System.err.println(errorMessage);
-		}
-		else {
-			ex.printStackTrace();
-		}
-	}
-
-	// ********** argument queries **********
-    
-	private String[] getSourceClassNames(String[] args) {
-
-		return this.getAllArgumentValue("-c", args);   //$NON-NLS-1$
-	}
-	
-	private String getTargetSchemaName(String[] args) {
-
-		return this.getArgumentValue("-s", args);   //$NON-NLS-1$
-	}
-
-	private boolean getDebugMode(String[] args) {
-
-		return this.argumentExists("-debug", args);   //$NON-NLS-1$
-	}
-
-	// ********** private methods **********
-
-	private String getArgumentValue(String argName, String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argName)) {
-				int j = i + 1;
-				if (j < args.length) {
-					return args[j];
-				}
-			}
-		}
-		return null;
-	}
-	
-	private String[] getAllArgumentValue(String argName, String[] args) {
-		List<String> argValues = new ArrayList<String>();
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argName)) {
-				int j = i + 1;
-				if (j < args.length) {
-					argValues.add(args[j]);
-					i++;
-				}
-			}
-		}
-		return argValues.toArray(new String[0]);
-	}
-	
-	private boolean argumentExists(String argName, String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argName)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-}
-
-// ********** inner class **********
-
-class JptSchemaOutputResolver extends SchemaOutputResolver {
-	
-	private final String defaultSchemaName;
-
-	// ********** constructor **********
-	
-	protected JptSchemaOutputResolver(String defaultSchemaName) {
-		this.defaultSchemaName = defaultSchemaName;
-	}
-
-	// ********** overrides **********
-	
-	 @Override
-    public Result createOutput(String namespaceURI, String suggestedFileName) throws IOException {
-
-        String filePath = (Tools.stringIsEmpty(namespaceURI)) ? 
-        		this.buildFileNameFrom(this.defaultSchemaName, suggestedFileName) : 
-        		this.modifyFileName(namespaceURI);
-	        	
-        filePath = this.canonicalFileName(filePath);
-		File file = new File(filePath);
-		StreamResult result = new StreamResult(file);
-		result.setSystemId(file.toURL().toExternalForm());
-
-		System.out.print(Tools.bind(JptJaxbCoreMessages.SCHEMA_GENERATED, file));
-        return result;
-    }
-
-	// ********** private methods **********
-
-	 private String buildFileNameFrom(String fileName, String suggestedFileName) {
-
-		 fileName = Tools.stripExtension(fileName);
-
-		 if(Tools.stringIsEmpty(fileName)) {
-			 return suggestedFileName;
-		 }
-		 String number = Tools.extractFileNumber(suggestedFileName);
-
-		 fileName = this.buildFileName(fileName, number);
-		 return Tools.appendXsdExtension(fileName);
-	 }
-
-	 private String buildFileName(String fileName, String number) {
-
-		 if(Tools.stringIsEmpty(number)) {
-			 return fileName;
-		 }
-		 return (number.equals("0")) ? fileName : fileName + number;   //$NON-NLS-1$
-	 }
-	 
-	 private String modifyFileName(String namespaceURI) throws IOException {
-
-		 String dir = Tools.extractDirectory(this.defaultSchemaName);
-
-		 String fileName = Tools.stripProtocol(namespaceURI);
-		 fileName = fileName.replaceAll("/", "_");		//$NON-NLS-1$
-		 fileName = Tools.appendXsdExtension(fileName);
-
-		String result = (Tools.stringIsEmpty(dir)) ? fileName : dir + File.separator + fileName;
-		
-		return result;
-	 }
-
-	 private String canonicalFileName(String fileName) {
-		return this.canonicalFile(new File(fileName)).getAbsolutePath();
-	}
-	
-	 private File canonicalFile(File file) {
-		try {
-			return file.getCanonicalFile();
-		} 
-		catch (IOException ioexception) {
-			return file.getAbsoluteFile();
-		}
-	}
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/JptJaxbCoreMessages.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/JptJaxbCoreMessages.java
deleted file mode 100644
index 4917053..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/JptJaxbCoreMessages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.jaxb.core.schemagen.internal;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Localized messages used by Dali JAXB core.
- */
-public class JptJaxbCoreMessages
-{
-
-	public static final String LOADING_CLASSES = "LOADING_CLASSES";
-	public static final String GENERATING_SCHEMA = "GENERATING_SCHEMA";
-	public static final String SCHEMA_GENERATED = "SCHEMA_GENERATED";
-	public static final String SCHEMA_NOT_CREATED = "SCHEMA_NOT_CREATED";
-	public static final String NOT_FOUND = "NOT_FOUND";
-	public static final String CONTEXT_FACTORY_NOT_FOUND = "CONTEXT_FACTORY_NOT_FOUND";
-	
-
-	private static final String BUNDLE_NAME = "org.eclipse.jpt.jaxb.core.schemagen.internal.jpt_jaxb_core"; //$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private JptJaxbCoreMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		}
-		catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/Tools.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/Tools.java
deleted file mode 100644
index 6427661..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/Tools.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.jaxb.core.schemagen.internal;
-
-import java.io.File;
-import java.text.MessageFormat;
-
-/**
- *  Tools
- */
-public final class Tools
-{
-	/** default file name used by the schemagen */
-	static public String GEN_DEFAULT_NAME = "schema";   //$NON-NLS-1$
-	
-	/** empty string */
-	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
-	// ********** queries **********
-
-	/**
-	 * Return whether the specified string is null, empty, or contains
-	 * only whitespace characters.
-	 */
-	public static boolean stringIsEmpty(String string) {
-		if (string == null) {
-			return true;
-		}
-		int len = string.length();
-		if (len == 0) {
-			return true;
-		}
-		return stringIsEmpty_(string.toCharArray(), len);
-	}	
-
-	private static boolean stringIsEmpty_(char[] s, int len) {
-		for (int i = len; i-- > 0; ) {
-			if ( ! Character.isWhitespace(s[i])) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	// ********** short name manipulation **********
-
-	/**
-	 * Strip the extension from the specified file name
-	 * and return the result. If the file name has no
-	 * extension, it is returned unchanged
-	 * File#basePath()
-	 */
-	public static String stripExtension(String fileName) {
-		int index = fileName.lastIndexOf('.');
-		if (index == -1) {
-			return fileName;
-		}
-		return fileName.substring(0, index);
-	}
-
-	public static String stripProtocol(String uri) {
-
-		 return uri.replaceFirst("http://", EMPTY_STRING);
-	}
-
-
-	public static String appendXsdExtension(String name) {
-
-		 return name + ".xsd";		//$NON-NLS-1$
-	}
-
-	public static String extractFileNumber(String fileName) {
-
-		 String result = stripExtension(fileName);
-		 if(Tools.stringIsEmpty(result)) {
-			 return EMPTY_STRING;
-		 }
-		 return result.replaceFirst(GEN_DEFAULT_NAME, EMPTY_STRING);
-	}
-
-	public static String extractDirectory(String path) {
-		if( ! path.contains(File.separator)) {
-			return EMPTY_STRING;	
-		}
-		return path.substring(0, path.lastIndexOf(File.separator));
-	}
-	
-	// ********** NLS utilities **********
-
-	public static String getString(String key) {
-		return JptJaxbCoreMessages.getString(key);
-	}
-	
-	public static String bind(String key, Object argument) {
-		return MessageFormat.format(getString(key), argument);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/jpt_jaxb_core.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/jpt_jaxb_core.properties
deleted file mode 100644
index b9112cd..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen/src/org/eclipse/jpt/jaxb/core/schemagen/internal/jpt_jaxb_core.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-################################################################################
-# Copyright (c) 2010 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-LOADING_CLASSES = loading...
-GENERATING_SCHEMA = \ngenerating schema...
-SCHEMA_GENERATED =  \nSchema {0} generated
-SCHEMA_NOT_CREATED =  \nSchema {0} not created
-NOT_FOUND =  \n\tNot found: {0}
-CONTEXT_FACTORY_NOT_FOUND =  \nThe JAXBContextFactory {0} \n\
-specified in the jaxb.properties file could not be located on the project classpath. \n\
-The JAXB provider that defines this factory should be added to the project classpath, \n\
-or the jaxb.properties file should be removed to use the default provider.
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/.cvsignore b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/.project b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/.project
deleted file mode 100644
index d123fb8..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.eclipselink.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index 88e0eb6..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.jaxb.eclipselink.branding;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.html b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.ini b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.ini
deleted file mode 100644
index 7d88b9d..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.mappings b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.properties
deleted file mode 100644
index f38c7c0..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - EclipseLink JAXB Support\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Oracle contributors and others 2010, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/build.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/build.properties
deleted file mode 100644
index d6bd03a..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/component.xml b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/component.xml
deleted file mode 100644
index a2db2d1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/component.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jaxb.eclipselink.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.jaxb.eclipselink.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.utility" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.eclipselink.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.ui" fragment="false"/>
-<plugin id="org.eclipse.jpt.jaxb.eclipselink.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.jaxb.eclipselink.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/icons/WTP_icon_x32_v2.png b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/plugin.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/plugin.properties
deleted file mode 100644
index d3fad8a..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - EclipseLink MOXy (JAXB) Support
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.classpath b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.cvsignore b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.project b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.project
deleted file mode 100644
index a482c34..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.eclipselink.core.schemagen</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.settings/org.eclipse.jdt.core.prefs b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4204445..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:07:53 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/META-INF/MANIFEST.MF
deleted file mode 100644
index 6094e17..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jaxb.eclipselink.core.schemagen;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Import-Package: javax.xml.bind,
- org.eclipse.persistence.jaxb
-Export-Package: org.eclipse.jpt.jaxb.eclipselink.core.schemagen,
- org.eclipse.jpt.jaxb.eclipselink.core.schemagen.internal;x-internal:=true
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/about.html b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/about.html
deleted file mode 100644
index 071f586..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/about.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H2>About This Content</H2>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-<h3>Third Party Content</h3>
-<p>The Content includes items that have been sourced from third parties as set 
-  out below. If you did not receive this Content directly from the Eclipse Foundation, 
-  the following is provided for informational purposes only, and you should look 
-  to the Redistributor&#8217;s license for terms and conditions of use.</p>
-
-<h4><a name="JPA" id="JPA"></a>Java Persistence API (JPA) v1.0</h4>
-
-<blockquote>
-  <p>The Java Persistence API (JPA) which is distributed under <a href="https://glassfish.dev.java.net/public/CDDLv1.0.html">CDDL 
-    v1.0</a> is required by the Dali Java Persistence Tools Project in order 
-    to support this standard.</p>
-</blockquote>
-</BODY>
-</HTML>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/build.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/build.properties
deleted file mode 100644
index d535c61..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/plugin.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/plugin.properties
deleted file mode 100644
index c057411..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - EclipseLink JAXB Support - Schema Generation
-providerName = Eclipse Web Tools Platform
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/Main.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/Main.java
deleted file mode 100644
index 0ae05f1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/Main.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.schemagen;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.SchemaOutputResolver;
-import javax.xml.transform.Result;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.jpt.jaxb.eclipselink.core.schemagen.internal.JptEclipseLinkJaxbCoreMessages;
-import org.eclipse.jpt.jaxb.eclipselink.core.schemagen.internal.Tools;
-import org.eclipse.persistence.jaxb.JAXBContext;
-import org.eclipse.persistence.jaxb.JAXBContextFactory;
-
-/**
- *  Generate a EclipseLink JAXB Schema
- *  
- * Current command-line arguments:
- *     [-s schema.xsd] - specifies the target schema
- *     [-c className] - specifies the fully qualified class name
- */
-public class Main
-{
-	private String[] sourceClassNames;
-	private String targetSchemaName;
-	@SuppressWarnings("unused")
-	private boolean isDebugMode;
-
-	static public String NO_FACTORY_CLASS = "doesnt contain ObjectFactory.class";   //$NON-NLS-1$
-	static public String CANNOT_BE_CAST_TO_JAXBCONTEXT = "cannot be cast to org.eclipse.persistence.jaxb.JAXBContext";   //$NON-NLS-1$
-
-	// ********** static methods **********
-	
-	public static void main(String[] args) {
-		new Main().execute(args);
-	}
-	
-	// ********** constructors **********
-
-	private Main() {
-		super();
-	}
-
-	// ********** behavior **********
-	
-	protected void execute(String[] args) {
-		
-		this.initializeWith(args);
-		
-		this.generate();
-	}
-
-	// ********** internal methods **********
-    
-	private void initializeWith(String[] args) {
-    	this.sourceClassNames = this.getSourceClassNames(args);
-    	this.targetSchemaName = this.getTargetSchemaName(args);
-
-		this.isDebugMode = this.getDebugMode(args);
-	}
-
-	private void generate() {
-        // Create the JAXBContext
-        JAXBContext jaxbContext = this.buildJaxbContext();
-
-        // Generate an XML Schema
-        if(jaxbContext != null) {
-			this.generateSchema(jaxbContext);
-		}
-        else {
-        	Tools.bind(JptEclipseLinkJaxbCoreMessages.SCHEMA_NOT_CREATED, this.targetSchemaName);
-        }
-	}
-	
-	private JAXBContext buildJaxbContext() {
-		System.out.println(Tools.getString(JptEclipseLinkJaxbCoreMessages.LOADING_CLASSES));
-        JAXBContext jaxbContext = null;
-		try {
-			ClassLoader loader = Thread.currentThread().getContextClassLoader();
-			
-			Class[] sourceClasses = this.buildSourceClasses(this.sourceClassNames, loader);
-			
-			//call MOXy JAXBContextFactory directly.  This eliminates the need to have the JAXB properties file in place
-			//in time for the generation.
-			jaxbContext = (JAXBContext)JAXBContextFactory.createContext(sourceClasses, Collections.<String,Object>emptyMap());
-		}
-		catch (JAXBException ex) {
-			this.handleJaxbException(ex);
-		}
-		catch (ClassCastException ex) {
-			this.handleClassCastException(ex);
-		}
-		return jaxbContext;
-	}
-	
-	private void generateSchema(JAXBContext jaxbContext) {
-		System.out.println(Tools.getString(JptEclipseLinkJaxbCoreMessages.GENERATING_SCHEMA));
-		System.out.flush();
-
-    	SchemaOutputResolver schemaOutputResolver = 
-    		new JptSchemaOutputResolver(this.targetSchemaName);
-
-		try {
-			jaxbContext.generateSchema(schemaOutputResolver);
-		}
-		catch(Exception e) {
-			e.printStackTrace();
-		}
-	}
-    
-    private Class[] buildSourceClasses(String[] classNames, ClassLoader loader) {
-
-		ArrayList<Class> sourceClasses = new ArrayList<Class>(classNames.length);
-		for(String className: classNames) {
-			try {
-				sourceClasses.add(loader.loadClass(className));
-					System.out.println(className);
-			}
-			catch (ClassNotFoundException e) {
-				System.err.println(Tools.bind(JptEclipseLinkJaxbCoreMessages.NOT_FOUND, className));
-			}
-		}
-		System.out.flush();
-		return sourceClasses.toArray(new Class[0]);
-    }
-	
-	private void handleJaxbException(JAXBException ex) {
-		String message = ex.getMessage();
-		Throwable linkedEx = ex.getLinkedException();
-		if(message != null && message.indexOf(NO_FACTORY_CLASS) > -1) {
-			System.err.println(message);
-		}
-		else if(linkedEx != null && linkedEx instanceof ClassNotFoundException) {
-			String errorMessage = Tools.bind(
-				JptEclipseLinkJaxbCoreMessages.CONTEXT_FACTORY_NOT_FOUND, linkedEx.getMessage());
-			System.err.println(errorMessage);
-		}
-		else {
-			ex.printStackTrace();
-		}
-	}
-	
-	private void handleClassCastException(ClassCastException ex) {
-		String message = ex.getMessage();
-		if(message != null && message.indexOf(CANNOT_BE_CAST_TO_JAXBCONTEXT) > -1) {
-			System.err.println(Tools.getString(JptEclipseLinkJaxbCoreMessages.PROPERTIES_FILE_NOT_FOUND));
-		}
-		else {
-			ex.printStackTrace();
-		}
-	}
-
-	// ********** argument queries **********
-    
-	private String[] getSourceClassNames(String[] args) {
-
-		return this.getAllArgumentValues("-c", args);   //$NON-NLS-1$
-	}
-	
-	private String getTargetSchemaName(String[] args) {
-
-		return this.getArgumentValue("-s", args);   //$NON-NLS-1$
-	}
-
-	private boolean getDebugMode(String[] args) {
-
-		return this.argumentExists("-debug", args);   //$NON-NLS-1$
-	}
-
-	// ********** private methods **********
-
-	private String getArgumentValue(String argName, String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argName)) {
-				int j = i + 1;
-				if (j < args.length) {
-					return args[j];
-				}
-			}
-		}
-		return null;
-	}
-	
-	private String[] getAllArgumentValues(String argName, String[] args) {
-		List<String> argValues = new ArrayList<String>();
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argName)) {
-				int j = i + 1;
-				if (j < args.length) {
-					argValues.add(args[j]);
-					i++;
-				}
-			}
-		}
-		return argValues.toArray(new String[0]);
-	}
-	
-	private boolean argumentExists(String argName, String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argName)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-}
-
-// ********** inner class **********
-
-class JptSchemaOutputResolver extends SchemaOutputResolver {
-	
-	private String defaultSchemaName;
-
-	// ********** constructor **********
-	
-	protected JptSchemaOutputResolver(String defaultSchemaName) {
-		this.defaultSchemaName = defaultSchemaName;
-	}
-
-	// ********** overrides **********
-
-	 @Override
-    public Result createOutput(String namespaceURI, String suggestedFileName) throws IOException {
-
-        String filePath = (Tools.stringIsEmpty(namespaceURI)) ? 
-        		this.buildFileNameFrom(this.defaultSchemaName, suggestedFileName) : 
-        		this.modifyFileName(namespaceURI);
-
-		File file = new File(filePath);
-        StreamResult result = new StreamResult(file);
-        result.setSystemId(file.toURI().toURL().toString());
-
-        System.out.print(Tools.bind(JptEclipseLinkJaxbCoreMessages.SCHEMA_GENERATED, file));
-        return result;
-    }
-
-		// ********** private methods **********
-
-	 private String buildFileNameFrom(String fileName, String suggestedFileName) {
-
-		 fileName = Tools.stripExtension(fileName);
-
-		 if(Tools.stringIsEmpty(fileName)) {
-			 return suggestedFileName;
-		 }
-		 String number = Tools.extractFileNumber(suggestedFileName);
-
-		 fileName = this.buildFileName(fileName, number);
-		 return Tools.appendXsdExtension(fileName);
-	 }
-
-	 private String buildFileName(String fileName, String number) {
-
-		 if(Tools.stringIsEmpty(number)) {
-			 return fileName;
-		 }
-		 return (number.equals("0")) ? fileName : fileName + number;   //$NON-NLS-1$
-	 }
-
-	 private String modifyFileName(String namespaceURI) throws IOException {
-
-		 String dir = Tools.extractDirectory(this.defaultSchemaName);
-
-		 String fileName = Tools.stripProtocol(namespaceURI);
-		 fileName = fileName.replaceAll("/", "_");		//$NON-NLS-1$
-		 fileName = Tools.appendXsdExtension(fileName);
-
-		String result = (Tools.stringIsEmpty(dir)) ? fileName : dir + File.separator + fileName;
-		
-		return result;
-	 }
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/JptEclipseLinkJaxbCoreMessages.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/JptEclipseLinkJaxbCoreMessages.java
deleted file mode 100644
index 65a9e2e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/JptEclipseLinkJaxbCoreMessages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.schemagen.internal;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Localized messages used by Dali EclipseLink JAXB core.
- */
-public class JptEclipseLinkJaxbCoreMessages
-{
-	public static final String LOADING_CLASSES = "LOADING_CLASSES";
-	public static final String GENERATING_SCHEMA = "GENERATING_SCHEMA";
-	public static final String SCHEMA_GENERATED = "SCHEMA_GENERATED";
-	public static final String SCHEMA_NOT_CREATED = "SCHEMA_NOT_CREATED";
-	public static final String NOT_FOUND = "NOT_FOUND";
-	public static final String CONTEXT_FACTORY_NOT_FOUND = "CONTEXT_FACTORY_NOT_FOUND";
-	public static final String PROPERTIES_FILE_NOT_FOUND = "PROPERTIES_FILE_NOT_FOUND";
-	
-
-	private static final String BUNDLE_NAME = "org.eclipse.jpt.jaxb.eclipselink.core.schemagen.internal.jpt_eclipselink_jaxb_core"; //$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private JptEclipseLinkJaxbCoreMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		}
-		catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/Tools.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/Tools.java
deleted file mode 100644
index 5a32e4c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/Tools.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.schemagen.internal;
-
-import java.io.File;
-import java.text.MessageFormat;
-
-/**
- *  Tools
- */
-public final class Tools
-{
-	/** default file name used by the schemagen */
-	static public String GEN_DEFAULT_NAME = "schema";   //$NON-NLS-1$
-	
-	/** empty string */
-	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
-	// ********** queries **********
-
-	/**
-	 * Return whether the specified string is null, empty, or contains
-	 * only whitespace characters.
-	 */
-	public static boolean stringIsEmpty(String string) {
-		if (string == null) {
-			return true;
-		}
-		int len = string.length();
-		if (len == 0) {
-			return true;
-		}
-		return stringIsEmpty_(string.toCharArray(), len);
-	}	
-
-	private static boolean stringIsEmpty_(char[] s, int len) {
-		for (int i = len; i-- > 0; ) {
-			if ( ! Character.isWhitespace(s[i])) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	// ********** short name manipulation **********
-
-	/**
-	 * Strip the extension from the specified file name
-	 * and return the result. If the file name has no
-	 * extension, it is returned unchanged
-	 * File#basePath()
-	 */
-	public static String stripExtension(String fileName) {
-		int index = fileName.lastIndexOf('.');
-		if (index == -1) {
-			return fileName;
-		}
-		return fileName.substring(0, index);
-	}
-
-	public static String stripProtocol(String uri) {
-
-		 return uri.replaceFirst("http://", EMPTY_STRING);
-	}
-
-
-	public static String appendXsdExtension(String name) {
-
-		 return name + ".xsd";		//$NON-NLS-1$
-	}
-
-	public static String extractFileNumber(String fileName) {
-
-		 String result = stripExtension(fileName);
-		 if(Tools.stringIsEmpty(result)) {
-			 return EMPTY_STRING;
-		 }
-		 return result.replaceFirst(GEN_DEFAULT_NAME, EMPTY_STRING);
-	}
-
-	public static String extractDirectory(String path) {
-		if( ! path.contains(File.separator)) {
-			return EMPTY_STRING;	
-		}
-		return path.substring(0, path.lastIndexOf(File.separator));
-	}
-	
-	// ********** NLS utilities **********
-
-	public static String getString(String key) {
-		return JptEclipseLinkJaxbCoreMessages.getString(key);
-	}
-	
-	public static String bind(String key, Object argument) {
-		return MessageFormat.format(getString(key), argument);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/jpt_eclipselink_jaxb_core.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/jpt_eclipselink_jaxb_core.properties
deleted file mode 100644
index a9f7661..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen/src/org/eclipse/jpt/jaxb/eclipselink/core/schemagen/internal/jpt_eclipselink_jaxb_core.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-################################################################################
-# Copyright (c) 2010 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-LOADING_CLASSES = loading...
-GENERATING_SCHEMA = \nMOXy generating schema...
-SCHEMA_GENERATED =  \nSchema {0} generated
-SCHEMA_NOT_CREATED =  \nSchema {0} not created
-NOT_FOUND =  \n\tNot found: {0}
-PROPERTIES_FILE_NOT_FOUND =  \nEclipseLink JAXBContextFactory must be specified in the jaxb.properties file to use EclipseLink MOXy for schema generation.\n\
-javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
-CONTEXT_FACTORY_NOT_FOUND =  \nThe JAXBContextFactory {0} \n\
-specified in the jaxb.properties file could not be located on the project classpath. \n\
-The JAXB provider that defines this factory should be added to the project classpath, \n\
-or the jaxb.properties file should be removed to use the default provider.
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.classpath b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.classpath
deleted file mode 100644
index ba29ee4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.classpath
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<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">
-		<accessrules>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/model/value/**"/>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/internal/model/listener/awt/**"/>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/internal/model/value/**"/>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/internal/swing/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/core/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jaxb/core/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/wst/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.cvsignore b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.project b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.project
deleted file mode 100644
index d899a36..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.eclipselink.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.settings/org.eclipse.jdt.core.prefs b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 30eb0fc..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:07:45 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF
deleted file mode 100644
index b560c41..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,37 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jaxb.eclipselink.core;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.jpt.jaxb.eclipselink.core.JptJaxbEclipseLinkCorePlugin
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.7.100,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.eclipselink.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jaxb.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.4.200,2.0.0)",
- org.eclipse.jst.j2ee;bundle-version="[1.1.500,2.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.4.200,2.0.0)",
- org.eclipse.wst.validation;bundle-version="[1.2.300,2.0.0)"
-Export-Package: org.eclipse.jpt.jaxb.eclipselink.core,
- org.eclipse.jpt.jaxb.eclipselink.core.context.java,
- org.eclipse.jpt.jaxb.eclipselink.core.internal;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.context;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.libval;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.binary;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.source;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_1;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_2;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_3;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_4;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.internal.validation;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.core.resource.java
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/about.html b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/build.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/build.properties
deleted file mode 100644
index b7fe121..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/,\
-               property_files/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.xml,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.properties
deleted file mode 100644
index 52ad60c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - EclipseLink JAXB Support - Core
-providerName = Eclipse Web Tools Platform
-
-ECLIPSELINK_PLATFORM_GROUP_LABEL = EclipseLink
-ECLIPSELINK_2_1_PLATFORM_LABEL = EclipseLink 2.1.x
-ECLIPSELINK_2_2_PLATFORM_LABEL = EclipseLink 2.2.x
-ECLIPSELINK_2_3_PLATFORM_LABEL = EclipseLink 2.3.x
-ECLIPSELINK_2_4_PLATFORM_LABEL = EclipseLink 2.4.x
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.xml b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.xml
deleted file mode 100644
index febcbf6..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/plugin.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<!--
-  Copyright (c) 2011, 2012 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:
-    Oracle - initial API and implementation
- -->
-
-<plugin>
-	
-	<extension
-		point="org.eclipse.jpt.jaxb.core.jaxbPlatforms">
-		
-		<jaxbPlatformGroup
-        	id="eclipselink"
-        	label="%ECLIPSELINK_PLATFORM_GROUP_LABEL"/>
-		
-		<jaxbPlatform
-			id="eclipselink_2_1"
-			label="%ECLIPSELINK_2_1_PLATFORM_LABEL"
-			factoryClass="org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_1.ELJaxb_2_1_PlatformDefinitionFactory"
-			group="eclipselink"
-			jaxbFacetVersion="2.1"
-			default="false"/>
-		
-		<jaxbPlatform
-			id="eclipselink_2_2"
-			label="%ECLIPSELINK_2_2_PLATFORM_LABEL"
-			factoryClass="org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_2.ELJaxb_2_2_PlatformDefinitionFactory"
-			group="eclipselink"
-			jaxbFacetVersion="2.2"
-			default="false"/>
-		
-		<jaxbPlatform
-			id="eclipselink_2_3"
-			label="%ECLIPSELINK_2_3_PLATFORM_LABEL"
-			factoryClass="org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_3.ELJaxb_2_3_PlatformDefinitionFactory"
-			group="eclipselink"
-			jaxbFacetVersion="2.2"
-			default="false"/>
-		
-		<jaxbPlatform
-			id="eclipselink_2_4"
-			label="%ECLIPSELINK_2_4_PLATFORM_LABEL"
-			factoryClass="org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_4.ELJaxb_2_4_PlatformDefinitionFactory"
-			group="eclipselink"
-			jaxbFacetVersion="2.2"
-			default="false"/>
-		
-	</extension>
-	
-	
-	<extension
-		point="org.eclipse.jpt.common.core.libraryValidators">
-		
-		<libraryValidator
-			id="eclipselinkUserLibraryValidator"
-			class="org.eclipse.jpt.jaxb.eclipselink.core.internal.libval.ELJaxbUserLibraryValidator">
-			<enablement>
-				<and>
-					<with variable="libraryProvider">
-						<test property="org.eclipse.jpt.common.core.extendsId"
-							value="jaxb-user-library-provider"/>
-					</with>
-					<with variable="config">
-						<adapt type = "org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription">
-							<test property="org.eclipse.jpt.jaxb.core.jaxbPlatformGroup"
-								value="eclipselink"/>
-						</adapt>
-					</with>
-				</and>
-			</enablement>
-		</libraryValidator>
-		
-	</extension>
-	
-</plugin>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/el_jaxb_validation.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/el_jaxb_validation.properties
deleted file mode 100644
index 124c79d..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/el_jaxb_validation.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-#  Copyright (c) 2011  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: 
-#  	Oracle - initial API and implementation
-###############################################################################
-
-PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY = Project is missing a jaxb.properties file specifying the EclipseLink JAXB context factory
-
-XML_PATH__ROOT_NOT_SUPPORTED = Root XmlPath is not supported.
-XML_PATH__INVALID_FORM_ILLEGAL_SEGMENT = Illegal XmlPath step \"{0}\".
-XML_PATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT = Self XmlPath step must be first step.
-XML_PATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT = Text XmlPath step must be last step.
-XML_PATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT = An attribute XmlPath step must be the last step.
-
-XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS = Insufficient XmlPaths specified.  There must be an XmlPath for each XmlElement.
-XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS = There is no XmlElement to match this XmlPath.  There must be an XmlElement for each Xmlpath.
-
-XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED = The 'mappedBy' property must be specified on an XmlInverseReference.
-XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED = Cannot resolve the attribute ''{0}'' on the class ''{1}''.
-XML_INVERSE_REFERENCE__MAPPED_BY_NOT_XML_ELEMENT = The attribute ''{0}'' on the class ''{1}'' is not mapped to an XmlElement.
\ No newline at end of file
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/ELJaxbMappingKeys.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/ELJaxbMappingKeys.java
deleted file mode 100644
index d42f183..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/ELJaxbMappingKeys.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core;
-
-/**
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface ELJaxbMappingKeys {
-	
-	String XML_INVERSE_REFERENCE_ATTRIBUTE_MAPPING_KEY = "xml-inverse-reference";
-	String XML_TRANSFORMATION_ATTRIBUTE_MAPPING_KEY = "xml-transformation";
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/ELJaxbPlatform.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/ELJaxbPlatform.java
deleted file mode 100644
index d229bda..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/ELJaxbPlatform.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core;
-
-import org.eclipse.jpt.jaxb.core.JaxbFacet;
-import org.eclipse.jpt.jaxb.core.JptJaxbCorePlugin;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformGroupDescription;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-
-public class ELJaxbPlatform {
-	
-	public static final JaxbPlatformGroupDescription GROUP 
-			= JptJaxbCorePlugin.getJaxbPlatformManager().getJaxbPlatformGroup("eclipselink"); //$NON-NLS-1$
-	
-	public static final JaxbPlatformDescription VERSION_2_1
-			= JptJaxbCorePlugin.getJaxbPlatformManager().getJaxbPlatform("eclipselink_2_1"); //$NON-NLS-1$
-	
-	public static final JaxbPlatformDescription VERSION_2_2
-			= JptJaxbCorePlugin.getJaxbPlatformManager().getJaxbPlatform("eclipselink_2_2"); //$NON-NLS-1$
-	
-	public static final JaxbPlatformDescription VERSION_2_3
-			= JptJaxbCorePlugin.getJaxbPlatformManager().getJaxbPlatform("eclipselink_2_3"); //$NON-NLS-1$
-	
-	public static final JaxbPlatformDescription VERSION_2_4
-			= JptJaxbCorePlugin.getJaxbPlatformManager().getJaxbPlatform("eclipselink_2_4"); //$NON-NLS-1$
-	
-	
-	public static JaxbPlatformDescription getDefaultPlatform(IProjectFacetVersion jaxbVersion) {
-		if (jaxbVersion.equals(JaxbFacet.VERSION_2_1)) {
-			return VERSION_2_1;
-		}
-		return VERSION_2_4;
-	}
-	
-	
-	/**
-	 * Not for instantiation
-	 */
-	private ELJaxbPlatform() {}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/JptJaxbEclipseLinkCorePlugin.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/JptJaxbEclipseLinkCorePlugin.java
deleted file mode 100644
index e6968180..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/JptJaxbEclipseLinkCorePlugin.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-public class JptJaxbEclipseLinkCorePlugin
-		extends Plugin {
-	
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.jpt.jaxb.eclipselink.core"; //$NON-NLS-1$
-	
-	
-	// ********** singleton **********
-	private static JptJaxbEclipseLinkCorePlugin INSTANCE;
-	
-	/**
-	 * Return the singleton JPT EclipseLink plug-in.
-	 */
-	public static JptJaxbEclipseLinkCorePlugin instance() {
-		return INSTANCE;
-	}	
-	
-	/**
-	 * Log the specified status.
-	 */
-	public static void log(IStatus status) {
-		INSTANCE.getLog().log(status);
-    }
-	
-	/**
-	 * Log the specified message.
-	 */
-	public static void log(String msg) {
-        log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null));
-    }
-	
-	/**
-	 * Log the specified exception or error.
-	 */
-	public static void log(Throwable throwable) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, throwable.getLocalizedMessage(), throwable));
-	}
-	
-	
-	// ********** plug-in implementation **********	
-	
-	public JptJaxbEclipseLinkCorePlugin() {
-		super();
-	}
-		
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		INSTANCE = this;
-	}
-
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		INSTANCE = null;
-		super.stop(context);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAnyAttributeMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAnyAttributeMapping.java
deleted file mode 100644
index b36fa72..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAnyAttributeMapping.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-import org.eclipse.jpt.jaxb.core.context.XmlAnyAttributeMapping;
-
-
-public interface ELXmlAnyAttributeMapping
-		extends XmlAnyAttributeMapping, ELXmlPathMapping {
-	
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAnyElementMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAnyElementMapping.java
deleted file mode 100644
index e48f536..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAnyElementMapping.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-import org.eclipse.jpt.jaxb.core.context.XmlAnyElementMapping;
-
-
-public interface ELXmlAnyElementMapping
-		extends XmlAnyElementMapping, ELXmlPathMapping {
-	
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAttributeMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAttributeMapping.java
deleted file mode 100644
index 5ebd7dc..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlAttributeMapping.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-import org.eclipse.jpt.jaxb.core.context.XmlAttributeMapping;
-
-
-public interface ELXmlAttributeMapping
-		extends XmlAttributeMapping, ELXmlNamedNodeMapping {
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlElementMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlElementMapping.java
deleted file mode 100644
index 15a2172..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlElementMapping.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-import org.eclipse.jpt.jaxb.core.context.XmlElementMapping;
-
-
-public interface ELXmlElementMapping
-		extends XmlElementMapping, ELXmlNamedNodeMapping {
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlElementsMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlElementsMapping.java
deleted file mode 100644
index 3de17ac..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlElementsMapping.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.jaxb.core.context.XmlElementsMapping;
-
-
-public interface ELXmlElementsMapping
-		extends XmlElementsMapping {
-	
-	// ***** xmlPaths *****
-	
-	/**
-	 * String associated with changes to the xmlPaths list
-	 */
-	String XML_PATHS_LIST = "xmlPaths";  ///$NON-NLS-1$
-	
-	ListIterable<ELXmlPath> getXmlPaths();
-	
-	int getXmlPathsSize();
-	
-	ELXmlPath addXmlPath(int index);
-	
-	void removeXmlPath(int index);
-	
-	void moveXmlPath(int targetIndex, int sourceIndex);
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlInverseReferenceMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlInverseReferenceMapping.java
deleted file mode 100644
index a9ea609..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlInverseReferenceMapping.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-import org.eclipse.jpt.jaxb.core.context.JaxbAttributeMapping;
-
-/**
- * Represents an EclipseLink XmlInverseReference attribute mapping in either
- * java annotations or oxm file.
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.2
- * @since 3.2
- */
-public interface ELXmlInverseReferenceMapping
-		extends JaxbAttributeMapping {
-	
-	// ***** mappedBy *****
-	
-	/**
-	 * String associated with changes to the mappedBy property
-	 */
-	String MAPPED_BY_PROPERTY = "mappedBy";  ///$NON-NLS-1$
-	
-	/**
-	 * Return the mappedBy property value.
-	 * A null indicates it is not specified.
-	 */
-	String getMappedBy();
-	
-	/**
-	 * Set the mappedBy property value.
-	 * Setting to null will unspecify it.
-	 */
-	void setMappedBy(String mappedBy);
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlNamedNodeMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlNamedNodeMapping.java
deleted file mode 100644
index 053988f..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlNamedNodeMapping.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-import org.eclipse.jpt.jaxb.core.context.XmlNamedNodeMapping;
-
-
-/**
- * Common interface for ELXmlElementMapping and ELXmlAttributeMapping
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.2
- * @since 3.2
- */
-public interface ELXmlNamedNodeMapping
-		extends XmlNamedNodeMapping, ELXmlPathMapping {
-	
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlPath.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlPath.java
deleted file mode 100644
index e7fc0d0..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlPath.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-import org.eclipse.jpt.jaxb.core.context.JaxbContextNode;
-
-
-public interface ELXmlPath
-		extends JaxbContextNode {
-	
-	// ***** value *****
-	
-	/**
-	 * String associated with changes to the value property
-	 */
-	String VALUE_PROPERTY = "value";  ///$NON-NLS-1$
-	
-	/**
-	 * Return the value property value.
-	 * A null indicates it is not specified.
-	 */
-	String getValue();
-	
-	/**
-	 * Set the value property value.
-	 * Null unspecifies the value.
-	 */
-	void setValue(String value);
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlPathMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlPathMapping.java
deleted file mode 100644
index d48572e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/context/java/ELXmlPathMapping.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.context.java;
-
-
-public interface ELXmlPathMapping {
-	
-	// ***** xmlPath *****
-	
-	/**
-	 * String associated with changes to the xmlPath property
-	 */
-	String XML_PATH_PROPERTY = "xmlPath";  ///$NON-NLS-1$
-	
-	/**
-	 * Return the xmlPath property value.
-	 * A null indicates it is not specified.
-	 */
-	ELXmlPath getXmlPath();
-	
-	/**
-	 * Add (and return) an xmlPath property value.
-	 * (Specifies the property)
-	 */
-	ELXmlPath addXmlPath();
-	
-	/**
-	 * Remove the xmlPath property value.
-	 * (Unspecifies the property)
-	 */
-	void removeXmlPath();
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/AbstractELJaxbPlatformDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/AbstractELJaxbPlatformDefinition.java
deleted file mode 100644
index 5e4365c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/AbstractELJaxbPlatformDefinition.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.jpt.jaxb.core.internal.AbstractJaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-
-
-public abstract class AbstractELJaxbPlatformDefinition
-		extends AbstractJaxbPlatformDefinition {
-	
-	protected AbstractELJaxbPlatformDefinition() {
-		super();
-	}
-	
-	
-	protected abstract JaxbPlatformDefinition getGenericJaxbPlatformDefinition();
-	
-	
-	@Override
-	public String getSchemaTypeMapping(String javaTypeName) {
-		String mapping = getGenericJaxbPlatformDefinition().getSchemaTypeMapping(javaTypeName);
-		return (mapping != null) ? mapping : super.getSchemaTypeMapping(javaTypeName);
-	}
-	
-	@Override
-	protected Map<String, String> buildJavaToSchemaTypes() {
-		Map<String, String> map = new HashMap<String, String>();
-		map.put("java.sql.Date", "date");
-		map.put("java.sql.Time", "time");
-		map.put("java.sql.Timestamp", "dateTime");
-		return map;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/ELJaxbContextRoot.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/ELJaxbContextRoot.java
deleted file mode 100644
index b162386..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/ELJaxbContextRoot.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context;
-
-import java.util.List;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jaxb.core.JaxbProject;
-import org.eclipse.jpt.jaxb.core.context.JaxbPackage;
-import org.eclipse.jpt.jaxb.core.internal.context.AbstractJaxbContextRoot;
-import org.eclipse.jpt.jaxb.core.resource.jaxbprops.JaxbPropertiesResource;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessages;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJaxbContextRoot
-		extends AbstractJaxbContextRoot {
-	
-	
-	public ELJaxbContextRoot(JaxbProject jaxbProject) {
-		super(jaxbProject);
-	}
-	
-	
-	// **************** validation ********************************************
-	
-	@Override
-	public void validate(List<IMessage> messages, IReporter reporter) {
-		super.validate(messages, reporter);
-		
-		validateJaxbProperties(messages, reporter);
-	}
-	
-	protected void validateJaxbProperties(List<IMessage> messages, IReporter reporter) {
-		String factoryProp = "javax.xml.bind.context.factory";
-		String factoryPropValue = "org.eclipse.persistence.jaxb.JAXBContextFactory";
-			
-		for (JaxbPackage jp : getPackages()) {
-			String pn = jp.getName();
-			JaxbPropertiesResource jpr = getJaxbProject().getJaxbPropertiesResource(pn);
-			if (jpr != null && StringTools.stringsAreEqual(jpr.getProperty(factoryProp), factoryPropValue)) {
-				return;
-			}
-		}
-		
-		messages.add(
-				ELJaxbValidationMessageBuilder.buildMessage(
-						IMessage.HIGH_SEVERITY,
-						ELJaxbValidationMessages.PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY,
-						getJaxbProject()));
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMapping.java
deleted file mode 100644
index a14f953..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMapping.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaXmlAnyAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlAnyAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlAnyAttributeMapping
-		extends GenericJavaXmlAnyAttributeMapping 
-		implements ELXmlAnyAttributeMapping {
-	
-	protected ELJavaXmlPath xmlPath;
-	
-	
-	public ELJavaXmlAnyAttributeMapping(JaxbPersistentAttribute parent) {
-		super(parent);
-		initXmlPath();
-	}
-	
-	
-	// ***** sync/update *****
-	
-	@Override
-	public void synchronizeWithResourceModel() {
-		super.synchronizeWithResourceModel();
-		syncXmlPath();
-	}
-	
-	
-	// ***** XmlPath *****
-	
-	public ELXmlPath getXmlPath() {
-		return this.xmlPath;
-	}
-	
-	protected void setXmlPath_(ELJavaXmlPath xmlPath) {
-		ELJavaXmlPath old = this.xmlPath;
-		this.xmlPath = xmlPath;
-		firePropertyChanged(XML_PATH_PROPERTY, old, this.xmlPath);
-	}
-	
-	public ELXmlPath addXmlPath() {
-		if (this.xmlPath != null) {
-			throw new IllegalStateException();
-		}
-		getJavaResourceAttribute().addAnnotation(0, ELJaxb.XML_PATH);
-		ELJavaXmlPath xmlPath = buildXmlPath();
-		setXmlPath_(xmlPath);
-		return xmlPath;
-	}
-	
-	public void removeXmlPath() {
-		if (this.xmlPath == null) {
-			throw new IllegalStateException();
-		}
-		while (getXmlPathAnnotation() != null) {
-			getJavaResourceAttribute().removeAnnotation(0, ELJaxb.XML_PATH);
-		}
-		setXmlPath_(null);
-	}
-	
-	protected void initXmlPath() {
-		XmlPathAnnotation annotation = getXmlPathAnnotation();
-		this.xmlPath = (annotation == null) ? null : buildXmlPath();
-	}
-	
-	protected void syncXmlPath() {
-		XmlPathAnnotation annotation = getXmlPathAnnotation();
-		if (annotation != null) {
-			if (this.xmlPath == null) {
-				setXmlPath_(buildXmlPath());
-			}
-			else {
-				this.xmlPath.synchronizeWithResourceModel();
-			}
-		}
-		else {
-			setXmlPath_(null);
-		}
-	}
-	
-	protected ELJavaXmlPath buildXmlPath() {
-		return new ELJavaXmlPath(this, new XmlPathContext());
-	}
-	
-	protected XmlPathAnnotation getXmlPathAnnotation() {
-		return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH);
-	}
-	
-	
-	// ***** validation *****
-	
-	@Override
-	public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		super.validate(messages, reporter, astRoot);
-		
-		if (this.xmlPath != null) {
-			validateXmlPath(messages, reporter, astRoot);
-		}
-	}
-	
-	protected void validateXmlPath(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		this.xmlPath.validate(messages, reporter, astRoot);
-	}
-	
-	
-	protected class XmlPathContext
-			implements ELJavaXmlPath.Context {
-		
-		public XmlPathAnnotation getAnnotation() {
-			return ELJavaXmlAnyAttributeMapping.this.getXmlPathAnnotation();
-		}
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMappingDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMappingDefinition.java
deleted file mode 100644
index 0735a5e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMappingDefinition.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.jaxb.core.internal.context.java.JavaXmlAnyAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class ELJavaXmlAnyAttributeMappingDefinition
-		extends JavaXmlAnyAttributeMappingDefinition {
-	
-	// singleton
-	private static final ELJavaXmlAnyAttributeMappingDefinition INSTANCE = 
-			new ELJavaXmlAnyAttributeMappingDefinition();
-	
-	private static final String[] SUPPORTING_ANNOTATION_NAMES = 
-			{
-				ELJaxb.XML_PATH };
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static ELJavaXmlAnyAttributeMappingDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Enforce singleton usage
-	 */
-	protected ELJavaXmlAnyAttributeMappingDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	public Iterable<String> getSupportingAnnotationNames() {
-		return new CompositeIterable<String>(
-				super.getSupportingAnnotationNames(),
-				new ArrayIterable<String>(SUPPORTING_ANNOTATION_NAMES));
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMapping.java
deleted file mode 100644
index 9dd2812..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMapping.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.context.XmlElementWrapper;
-import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaXmlAnyElementMapping;
-import org.eclipse.jpt.jaxb.core.resource.java.XmlElementWrapperAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlAnyElementMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlAnyElementMapping
-		extends GenericJavaXmlAnyElementMapping 
-		implements ELXmlAnyElementMapping {
-	
-	protected ELJavaXmlPath xmlPath;
-	
-	
-	public ELJavaXmlAnyElementMapping(JaxbPersistentAttribute parent) {
-		super(parent);
-		initXmlPath();
-	}
-	
-	
-	// ***** sync/update *****
-	
-	@Override
-	public void synchronizeWithResourceModel() {
-		super.synchronizeWithResourceModel();
-		syncXmlPath();
-	}
-	
-	
-	// ***** XmlPath *****
-	
-	public ELXmlPath getXmlPath() {
-		return this.xmlPath;
-	}
-	
-	protected void setXmlPath_(ELJavaXmlPath xmlPath) {
-		ELJavaXmlPath old = this.xmlPath;
-		this.xmlPath = xmlPath;
-		firePropertyChanged(XML_PATH_PROPERTY, old, this.xmlPath);
-	}
-	
-	public ELXmlPath addXmlPath() {
-		if (this.xmlPath != null) {
-			throw new IllegalStateException();
-		}
-		getJavaResourceAttribute().addAnnotation(0, ELJaxb.XML_PATH);
-		ELJavaXmlPath xmlPath = buildXmlPath();
-		setXmlPath_(xmlPath);
-		return xmlPath;
-	}
-	
-	public void removeXmlPath() {
-		if (this.xmlPath == null) {
-			throw new IllegalStateException();
-		}
-		while (getXmlPathAnnotation() != null) {
-			getJavaResourceAttribute().removeAnnotation(0, ELJaxb.XML_PATH);
-		}
-		setXmlPath_(null);
-	}
-	
-	protected void initXmlPath() {
-		XmlPathAnnotation annotation = getXmlPathAnnotation();
-		this.xmlPath = (annotation == null) ? null : buildXmlPath();
-	}
-	
-	protected void syncXmlPath() {
-		XmlPathAnnotation annotation = getXmlPathAnnotation();
-		if (annotation != null) {
-			if (this.xmlPath == null) {
-				setXmlPath_(buildXmlPath());
-			}
-			else {
-				this.xmlPath.synchronizeWithResourceModel();
-			}
-		}
-		else {
-			setXmlPath_(null);
-		}
-	}
-	
-	protected ELJavaXmlPath buildXmlPath() {
-		return new ELJavaXmlPath(this, new XmlPathContext());
-	}
-	
-	protected XmlPathAnnotation getXmlPathAnnotation() {
-		return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH);
-	}
-	
-	
-	// ***** misc *****
-	
-	@Override
-	protected XmlElementWrapper buildXmlElementWrapper() {
-		return new ELJavaXmlElementWrapper(this, new XmlElementWrapperContext());
-	}
-	
-	
-	// ***** validation *****
-	
-	@Override
-	public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		super.validate(messages, reporter, astRoot);
-		
-		if (this.xmlPath != null) {
-			validateXmlPath(messages, reporter, astRoot);
-		}
-	}
-	
-	protected void validateXmlPath(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		this.xmlPath.validate(messages, reporter, astRoot);
-	}
-	
-	
-	protected class XmlPathContext
-			implements ELJavaXmlPath.Context {
-		
-		public XmlPathAnnotation getAnnotation() {
-			return ELJavaXmlAnyElementMapping.this.getXmlPathAnnotation();
-		}
-	}
-	
-	
-	protected class XmlElementWrapperContext
-			implements ELJavaXmlElementWrapper.Context {
-		
-		public XmlElementWrapperAnnotation getAnnotation() {
-			return ELJavaXmlAnyElementMapping.this.getXmlElementWrapperAnnotation();
-		}
-		
-		public boolean hasXmlPath() {
-			return ELJavaXmlAnyElementMapping.this.xmlPath != null;
-		}
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMappingDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMappingDefinition.java
deleted file mode 100644
index 56a5cd9..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMappingDefinition.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.jaxb.core.internal.context.java.JavaXmlAnyElementMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class ELJavaXmlAnyElementMappingDefinition
-		extends JavaXmlAnyElementMappingDefinition {
-	
-	// singleton
-	private static final ELJavaXmlAnyElementMappingDefinition INSTANCE = 
-			new ELJavaXmlAnyElementMappingDefinition();
-	
-	
-	private static final String[] SUPPORTING_ANNOTATION_NAMES = 
-			{
-				ELJaxb.XML_PATH };
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static ELJavaXmlAnyElementMappingDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Enforce singleton usage
-	 */
-	protected ELJavaXmlAnyElementMappingDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	public Iterable<String> getSupportingAnnotationNames() {
-		return new CompositeIterable<String>(
-				super.getSupportingAnnotationNames(),
-				new ArrayIterable<String>(SUPPORTING_ANNOTATION_NAMES));
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMapping.java
deleted file mode 100644
index 6a04c97..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMapping.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaXmlAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlAttributeMapping
-		extends GenericJavaXmlAttributeMapping
-		implements ELXmlAttributeMapping {
-	
-	protected ELJavaXmlPath xmlPath;
-	
-	
-	public ELJavaXmlAttributeMapping(JaxbPersistentAttribute parent) {
-		super(parent);
-		initXmlPath();
-	}
-	
-	
-	// ***** sync/update *****
-	
-	@Override
-	public void synchronizeWithResourceModel() {
-		super.synchronizeWithResourceModel();
-		syncXmlPath();
-	}
-	
-	
-	// ***** XmlPath *****
-	
-	public ELXmlPath getXmlPath() {
-		return this.xmlPath;
-	}
-	
-	protected void setXmlPath_(ELJavaXmlPath xmlPath) {
-		ELJavaXmlPath old = this.xmlPath;
-		this.xmlPath = xmlPath;
-		firePropertyChanged(XML_PATH_PROPERTY, old, this.xmlPath);
-	}
-	
-	public ELXmlPath addXmlPath() {
-		if (this.xmlPath != null) {
-			throw new IllegalStateException();
-		}
-		getJavaResourceAttribute().addAnnotation(0, ELJaxb.XML_PATH);
-		ELJavaXmlPath xmlPath = buildXmlPath();
-		setXmlPath_(xmlPath);
-		return xmlPath;
-	}
-	
-	public void removeXmlPath() {
-		if (this.xmlPath == null) {
-			throw new IllegalStateException();
-		}
-		while (getXmlPathAnnotation() != null) {
-			getJavaResourceAttribute().removeAnnotation(0, ELJaxb.XML_PATH);
-		}
-		setXmlPath_(null);
-	}
-	
-	protected void initXmlPath() {
-		XmlPathAnnotation annotation = getXmlPathAnnotation();
-		this.xmlPath = (annotation == null) ? null : buildXmlPath();
-	}
-	
-	protected void syncXmlPath() {
-		XmlPathAnnotation annotation = getXmlPathAnnotation();
-		if (annotation != null) {
-			if (this.xmlPath == null) {
-				setXmlPath_(buildXmlPath());
-			}
-			else {
-				this.xmlPath.synchronizeWithResourceModel();
-			}
-		}
-		else {
-			setXmlPath_(null);
-		}
-	}
-	
-	protected ELJavaXmlPath buildXmlPath() {
-		return new ELJavaXmlPath(this, new XmlPathContext());
-	}
-	
-	protected XmlPathAnnotation getXmlPathAnnotation() {
-		return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH);
-	}
-	
-	
-	// ***** validation *****
-	
-	@Override
-	protected void validateQName(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		if (this.xmlPath == null) {
-			super.validateQName(messages, reporter, astRoot);
-		}
-		else {
-			validateXmlPath(messages, reporter, astRoot);
-		}
-	}
-	
-	protected void validateXmlPath(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		this.xmlPath.validate(messages, reporter, astRoot);
-	}
-	
-	
-	protected class XmlPathContext
-			implements ELJavaXmlPath.Context {
-		
-		public XmlPathAnnotation getAnnotation() {
-			return ELJavaXmlAttributeMapping.this.getXmlPathAnnotation();
-		}
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMappingDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMappingDefinition.java
deleted file mode 100644
index 1f51fb4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMappingDefinition.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.StringTokenizer;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.context.java.DefaultJavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.core.internal.context.java.JavaXmlAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-
-
-public class ELJavaXmlAttributeMappingDefinition
-		extends JavaXmlAttributeMappingDefinition
-		implements DefaultJavaAttributeMappingDefinition {
-	
-	// singleton
-	private static final ELJavaXmlAttributeMappingDefinition INSTANCE = 
-			new ELJavaXmlAttributeMappingDefinition();
-	
-	private static final String[] SUPPORTING_ANNOTATION_NAMES = 
-			{
-				ELJaxb.XML_PATH };
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static DefaultJavaAttributeMappingDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Enforce singleton usage
-	 */
-	protected ELJavaXmlAttributeMappingDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	public Iterable<String> getSupportingAnnotationNames() {
-		return new CompositeIterable<String>(
-				super.getSupportingAnnotationNames(),
-				new ArrayIterable<String>(SUPPORTING_ANNOTATION_NAMES));
-	}
-	
-	public boolean isDefault(JaxbPersistentAttribute persistentAttribute) {
-		// test whether annotated with @XmlPath, and if so, if last segment starts with "@"
-		// (presence of "@" elsewhere may be a node select clause)
-		XmlPathAnnotation xmlPathAnnotation = 
-				(XmlPathAnnotation) persistentAttribute.getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH);
-		if (xmlPathAnnotation == null) {
-			return false;
-		}
-		String value = xmlPathAnnotation.getValue();
-		if (value == null) {
-			return false;
-		}
-		StringTokenizer tokenizer = new StringTokenizer(value, "/");
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			if (! tokenizer.hasMoreTokens()) {
-				return token.startsWith("@");
-			}
-		}
-		return false;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElement.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElement.java
deleted file mode 100644
index 5414299..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElement.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.jaxb.core.context.java.JavaContextNode;
-import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaXmlElement;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlElement
-		extends GenericJavaXmlElement {
-	
-	public ELJavaXmlElement(JavaContextNode parent, Context context) {
-		super(parent, context);
-	}
-	
-	
-	@Override
-	protected Context getContext() {
-		return (Context) super.getContext();
-	}
-	
-	@Override
-	protected void validateQName(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		if (! getContext().hasXmlPath()) {
-			super.validateQName(messages, reporter, astRoot);
-		}
-	}
-	
-	
-	public interface Context
-			extends GenericJavaXmlElement.Context {
-		
-		boolean hasXmlPath();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMapping.java
deleted file mode 100644
index 9855bdd..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMapping.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.context.XmlElement;
-import org.eclipse.jpt.jaxb.core.context.XmlElementWrapper;
-import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaXmlElementMapping;
-import org.eclipse.jpt.jaxb.core.resource.java.XmlElementWrapperAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlElementMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlElementMapping
-		extends GenericJavaXmlElementMapping
-		implements ELXmlElementMapping {
-	
-	protected ELJavaXmlPath xmlPath;
-	
-	
-	public ELJavaXmlElementMapping(JaxbPersistentAttribute parent) {
-		super(parent);
-		initXmlPath();
-	}
-	
-	
-	// ***** sync/update *****
-	
-	@Override
-	public void synchronizeWithResourceModel() {
-		super.synchronizeWithResourceModel();
-		syncXmlPath();
-	}
-	
-	
-	// ***** XmlPath *****
-	
-	public ELXmlPath getXmlPath() {
-		return this.xmlPath;
-	}
-	
-	protected void setXmlPath_(ELJavaXmlPath xmlPath) {
-		ELJavaXmlPath old = this.xmlPath;
-		this.xmlPath = xmlPath;
-		firePropertyChanged(XML_PATH_PROPERTY, old, this.xmlPath);
-	}
-	
-	public ELXmlPath addXmlPath() {
-		if (this.xmlPath != null) {
-			throw new IllegalStateException();
-		}
-		getJavaResourceAttribute().addAnnotation(0, ELJaxb.XML_PATH);
-		ELJavaXmlPath xmlPath = buildXmlPath();
-		setXmlPath_(xmlPath);
-		return xmlPath;
-	}
-	
-	public void removeXmlPath() {
-		if (this.xmlPath == null) {
-			throw new IllegalStateException();
-		}
-		while (getXmlPathAnnotation() != null) {
-			getJavaResourceAttribute().removeAnnotation(0, ELJaxb.XML_PATH);
-		}
-		setXmlPath_(null);
-	}
-	
-	protected void initXmlPath() {
-		XmlPathAnnotation annotation = getXmlPathAnnotation();
-		this.xmlPath = (annotation == null) ? null : buildXmlPath();
-	}
-	
-	protected void syncXmlPath() {
-		XmlPathAnnotation annotation = getXmlPathAnnotation();
-		if (annotation != null) {
-			if (this.xmlPath == null) {
-				setXmlPath_(buildXmlPath());
-			}
-			else {
-				this.xmlPath.synchronizeWithResourceModel();
-			}
-		}
-		else {
-			setXmlPath_(null);
-		}
-	}
-	
-	protected ELJavaXmlPath buildXmlPath() {
-		return new ELJavaXmlPath(this, new XmlPathContext());
-	}
-	
-	protected XmlPathAnnotation getXmlPathAnnotation() {
-		return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH);
-	}
-	
-	
-	// ***** misc *****
-	
-	@Override
-	protected XmlElement buildXmlElement() {
-		return new ELJavaXmlElement(this, new XmlElementContext());
-	}
-	
-	@Override
-	protected XmlElementWrapper buildXmlElementWrapper() {
-		return new ELJavaXmlElementWrapper(this, new XmlElementWrapperContext());
-	}
-	
-	
-	// ***** validation *****
-	
-	@Override
-	public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		super.validate(messages, reporter, astRoot);
-		
-		if (this.xmlPath != null) {
-			validateXmlPath(messages, reporter, astRoot);
-		}
-	}
-	
-	protected void validateXmlPath(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		this.xmlPath.validate(messages, reporter, astRoot);
-	}
-	
-	
-	protected class XmlPathContext
-			implements ELJavaXmlPath.Context {
-		
-		public XmlPathAnnotation getAnnotation() {
-			return ELJavaXmlElementMapping.this.getXmlPathAnnotation();
-		}
-	}
-	
-	
-	protected class XmlElementContext
-			extends GenericJavaXmlElementMapping.XmlElementContext
-			implements ELJavaXmlElement.Context {
-		
-		public boolean hasXmlPath() {
-			return ELJavaXmlElementMapping.this.xmlPath != null;
-		}
-	}
-	
-	
-	protected class XmlElementWrapperContext
-			implements ELJavaXmlElementWrapper.Context {
-		
-		public XmlElementWrapperAnnotation getAnnotation() {
-			return ELJavaXmlElementMapping.this.getXmlElementWrapperAnnotation();
-		}
-		
-		public boolean hasXmlPath() {
-			return ELJavaXmlElementMapping.this.xmlPath != null;
-		}
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMappingDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMappingDefinition.java
deleted file mode 100644
index 88d4d98..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMappingDefinition.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.jaxb.core.context.java.DefaultJavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.core.internal.context.java.JavaXmlElementMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class ELJavaXmlElementMappingDefinition
-		extends JavaXmlElementMappingDefinition {
-	
-	// singleton
-	private static final ELJavaXmlElementMappingDefinition INSTANCE = 
-			new ELJavaXmlElementMappingDefinition();
-	
-	private static final String[] SUPPORTING_ANNOTATION_NAMES = 
-			{
-				ELJaxb.XML_PATH };
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static DefaultJavaAttributeMappingDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Enforce singleton usage
-	 */
-	protected ELJavaXmlElementMappingDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	public Iterable<String> getSupportingAnnotationNames() {
-		return new CompositeIterable<String>(
-				super.getSupportingAnnotationNames(),
-				new ArrayIterable<String>(SUPPORTING_ANNOTATION_NAMES));
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementWrapper.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementWrapper.java
deleted file mode 100644
index d92928a..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementWrapper.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.jaxb.core.context.JaxbAttributeMapping;
-import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaXmlElementWrapper;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlElementWrapper
-		extends GenericJavaXmlElementWrapper {
-	
-	public ELJavaXmlElementWrapper(JaxbAttributeMapping parent, Context context) {
-		super(parent, context);
-	}
-	
-	
-	protected Context getContext() {
-		return (Context) this.context;
-	}
-	
-	@Override
-	protected void validateQName(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		if (! getContext().hasXmlPath()) {
-			super.validateQName(messages, reporter, astRoot);
-		}
-	}
-	
-	public interface Context
-			extends GenericJavaXmlElementWrapper.Context {
-		
-		boolean hasXmlPath();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMapping.java
deleted file mode 100644
index 68ae49e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMapping.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.Iterator;
-import java.util.List;
-import javax.xml.namespace.QName;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.internal.Bag;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.SubListIterableWrapper;
-import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrapper;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.context.XmlElement;
-import org.eclipse.jpt.jaxb.core.context.XmlElementWrapper;
-import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaXmlElementsMapping;
-import org.eclipse.jpt.jaxb.core.resource.java.XmlElementAnnotation;
-import org.eclipse.jpt.jaxb.core.resource.java.XmlElementWrapperAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlElementsMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessages;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlElementsMapping
-		extends GenericJavaXmlElementsMapping
-		implements ELXmlElementsMapping {
-	
-	protected final ContextListContainer<ELJavaXmlPath, XmlPathAnnotation> xmlPathContainer;
-	
-	
-	public ELJavaXmlElementsMapping(JaxbPersistentAttribute parent) {
-		super(parent);
-		this.xmlPathContainer = buildXmlPathContainer();
-	}
-	
-	
-	// ***** sync/update *****
-	
-	@Override
-	public void synchronizeWithResourceModel() {
-		super.synchronizeWithResourceModel();
-		this.xmlPathContainer.synchronizeWithResourceModel();
-	}
-	
-	@Override
-	public void update() {
-		super.update();
-		this.xmlPathContainer.update();
-	}
-	
-	
-	// ***** xmlPaths *****
-	
-	public ListIterable<ELXmlPath> getXmlPaths() {
-		return new SuperListIterableWrapper<ELXmlPath>(xmlPathContainer.getContextElements());
-	}
-	
-	public int getXmlPathsSize() {
-		return this.xmlPathContainer.getContextElementsSize();
-	}
-	
-	public ELXmlPath addXmlPath(int index) {
-		XmlPathAnnotation annotation = (XmlPathAnnotation) getJavaResourceAttribute().addAnnotation(index, ELJaxb.XML_PATH);
-		return this.xmlPathContainer.addContextElement(index, annotation);
-	}
-	
-	public void removeXmlPath(int index) {
-		getJavaResourceAttribute().removeAnnotation(index, ELJaxb.XML_PATH);
-		this.xmlPathContainer.removeContextElement(index);
-	}
-	
-	public void moveXmlPath(int targetIndex, int sourceIndex) {
-		getJavaResourceAttribute().moveAnnotation(targetIndex, sourceIndex, ELJaxb.XML_PATH);
-		this.xmlPathContainer.moveContextElement(targetIndex, sourceIndex);
-	}
-	
-	protected ELJavaXmlPath buildXmlPath(XmlPathAnnotation xmlPathAnnotation) {
-		return new ELJavaXmlPath(this, new XmlPathContext(xmlPathAnnotation));
-	}
-	
-	protected ContextListContainer<ELJavaXmlPath, XmlPathAnnotation> buildXmlPathContainer() {
-		XmlPathContainer container = new XmlPathContainer();
-		container.initialize();
-		return container;
-	}
-	
-	protected ListIterable<XmlPathAnnotation> getXmlPathAnnotations() {
-		return new SubListIterableWrapper<NestableAnnotation, XmlPathAnnotation>(
-				getJavaResourceAttribute().getAnnotations(ELJaxb.XML_PATH));
-	}
-	
-	
-	// ***** misc *****
-	
-	@Override
-	protected XmlElement buildXmlElement(XmlElementAnnotation xmlElementAnnotation) {
-		return new ELJavaXmlElement(this, new XmlElementContext(xmlElementAnnotation));
-	}
-	
-	@Override
-	protected XmlElementWrapper buildXmlElementWrapper() {
-		return new ELJavaXmlElementWrapper(this, new XmlElementWrapperContext());
-	}
-	
-	
-	// ***** validation *****
-	
-	@Override
-	public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		super.validate(messages, reporter, astRoot);
-		
-		if (getXmlPathsSize() > 0 ) {
-			validateXmlPaths(messages, reporter, astRoot);
-		}
-	}
-	
-	protected void validateXmlPaths(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		Iterator<XmlElement> xmlElements = getXmlElements().iterator();
-		Iterator<ELJavaXmlPath> xmlPaths = this.xmlPathContainer.getContextElements().iterator();
-		
-		while (xmlElements.hasNext() && xmlPaths.hasNext()) {
-			xmlElements.next();
-			xmlPaths.next();
-		}
-		
-		if (xmlElements.hasNext()) {
-			messages.add(
-					ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS,
-							this,
-							getXmlPathsTextRange(astRoot)));
-		}
-		
-		while (xmlPaths.hasNext()) {
-			ELJavaXmlPath xmlPath = xmlPaths.next();
-			messages.add(
-					ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS,
-							this,
-							xmlPath.getValidationTextRange(astRoot)));
-		}
-		
-		for (ELJavaXmlPath xmlPath : this.xmlPathContainer.getContextElements()) {
-			xmlPath.validate(messages, reporter, astRoot);
-		}
-	}
-	
-	@Override
-	protected void validateDuplicateQName(XmlElement xmlElement, Bag<QName> xmlElementQNames, 
-				List<IMessage> messages, CompilationUnit astRoot) {
-		
-		if (getXmlPathsSize() == 0) { 
-			super.validateDuplicateQName(xmlElement, xmlElementQNames, messages, astRoot);
-		}
-	}
-	
-	protected TextRange getXmlPathsTextRange(CompilationUnit astRoot) {
-		Annotation annotation = getJavaResourceAttribute().getAnnotation(ELJaxb.XML_PATHS);
-		if (annotation == null) {
-			annotation = getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH);
-		}
-		return annotation.getTextRange(astRoot);
-	}
-	
-	
-	protected class XmlPathContainer
-			extends ContextListContainer<ELJavaXmlPath, XmlPathAnnotation> {
-		
-		@Override
-		protected String getContextElementsPropertyName() {
-			return ELXmlElementsMapping.XML_PATHS_LIST;
-		}
-		
-		@Override
-		protected ELJavaXmlPath buildContextElement(XmlPathAnnotation resourceElement) {
-			return ELJavaXmlElementsMapping.this.buildXmlPath(resourceElement);
-		}
-		
-		@Override
-		protected ListIterable<XmlPathAnnotation> getResourceElements() {
-			return ELJavaXmlElementsMapping.this.getXmlPathAnnotations();
-		}
-		
-		@Override
-		protected XmlPathAnnotation getResourceElement(ELJavaXmlPath contextElement) {
-			// in the context of this mapping, there will never be an ELXmlPath without an annotation
-			return contextElement.getAnnotation();
-		}
-		
-//		public int indexOf(Xml)
-	}
-	
-	
-	protected class XmlPathContext
-			implements ELJavaXmlPath.Context {
-		
-		protected XmlPathAnnotation annotation;
-		
-		
-		protected XmlPathContext(XmlPathAnnotation annotation) {
-			this.annotation = annotation;
-		}
-		
-		public XmlPathAnnotation getAnnotation() {
-			return this.annotation;
-		}
-	}
-	
-	
-	protected class XmlElementContext
-			extends GenericJavaXmlElementsMapping.XmlElementContext
-			implements ELJavaXmlElement.Context {
-		
-		protected XmlElementContext(XmlElementAnnotation annotation) {
-			super(annotation);
-		}
-		
-		public boolean hasXmlPath() {
-			return ELJavaXmlElementsMapping.this.getXmlPathsSize() > 0;
-		}
-	}
-	
-	protected class XmlElementWrapperContext
-			implements ELJavaXmlElementWrapper.Context {
-		
-		public XmlElementWrapperAnnotation getAnnotation() {
-			return ELJavaXmlElementsMapping.this.getXmlElementWrapperAnnotation();
-		}
-		
-		public boolean hasXmlPath() {
-			return ELJavaXmlElementsMapping.this.getXmlPathsSize() > 0;
-		}
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMappingDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMappingDefinition.java
deleted file mode 100644
index 3c2ccb1..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMappingDefinition.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
-import org.eclipse.jpt.jaxb.core.internal.context.java.JavaXmlElementsMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class ELJavaXmlElementsMappingDefinition
-		extends JavaXmlElementsMappingDefinition {
-	
-	
-	// singleton
-	private static final ELJavaXmlElementsMappingDefinition INSTANCE = 
-			new ELJavaXmlElementsMappingDefinition();
-	
-	
-	private static final String[] SUPPORTING_ANNOTATION_NAMES = 
-			{
-				ELJaxb.XML_PATH,
-				ELJaxb.XML_PATHS };
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static ELJavaXmlElementsMappingDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Enforce singleton usage
-	 */
-	protected ELJavaXmlElementsMappingDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	public Iterable<String> getSupportingAnnotationNames() {
-		return new CompositeIterable<String>(
-				super.getSupportingAnnotationNames(),
-				new ArrayIterable<String>(SUPPORTING_ANNOTATION_NAMES));
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMapping.java
deleted file mode 100644
index eea73fd..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMapping.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.Filter;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jpt.jaxb.core.MappingKeys;
-import org.eclipse.jpt.jaxb.core.context.JaxbClassMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.internal.context.java.AbstractJavaAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbMappingKeys;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlInverseReferenceMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessages;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlInverseReferenceAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlInverseReferenceMapping
-		extends AbstractJavaAttributeMapping<XmlInverseReferenceAnnotation>
-		implements ELXmlInverseReferenceMapping {
-	
-	protected String mappedBy;
-	
-	
-	public ELJavaXmlInverseReferenceMapping(JaxbPersistentAttribute parent) {
-		super(parent);
-		this.mappedBy = getResourceMappedBy();
-	}
-	
-	
-	public String getKey() {
-		return ELJaxbMappingKeys.XML_INVERSE_REFERENCE_ATTRIBUTE_MAPPING_KEY;
-	}
-	
-	@Override
-	protected String getAnnotationName() {
-		return ELJaxb.XML_INVERSE_REFERENCE;
-	}
-	
-	
-	// ***** sync/update *****
-	
-	@Override
-	public void synchronizeWithResourceModel() {
-		super.synchronizeWithResourceModel();
-		
-		setMappedBy_(getResourceMappedBy());
-	}
-	
-	
-	// ***** mappedBy *****
-	
-	public String getMappedBy() {
-		return mappedBy;
-	}
-	
-	public void setMappedBy(String mappedBy) {
-		getXmlInverseReferenceAnnotation().setMappedBy(mappedBy);
-		setMappedBy_(mappedBy);
-	}
-	
-	protected void setMappedBy_(String mappedBy) {
-		String old = this.mappedBy;
-		this.mappedBy = mappedBy;
-		firePropertyChanged(MAPPED_BY_PROPERTY, old, mappedBy);
-	}
-	
-	public XmlInverseReferenceAnnotation getXmlInverseReferenceAnnotation() {
-		return (XmlInverseReferenceAnnotation) getJavaResourceAttribute().getAnnotation(ELJaxb.XML_INVERSE_REFERENCE);
-	}
-	
-	public String getResourceMappedBy() {
-		return getXmlInverseReferenceAnnotation().getMappedBy();
-	}
-	
-	
-	// ***** misc *****
-	
-	protected JaxbClassMapping getReferencedClassMapping() {
-		String referencedClassName = getValueTypeName();
-		return (referencedClassName == null) ? null : getContextRoot().getClassMapping(referencedClassName);
-	}
-	
-	protected JaxbPersistentAttribute getReferencedAttribute() {
-		String mappedBy = getMappedBy();
-		if (StringTools.stringIsEmpty(mappedBy)) {
-			return null;
-		}
-		JaxbClassMapping referencedClassMapping = getReferencedClassMapping();
-		if (referencedClassMapping == null) {
-			return null;
-		}
-		JaxbPersistentAttribute tempResult = null;
-		for (JaxbPersistentAttribute attribute : referencedClassMapping.getAllLocallyDefinedAttributes()) {
-			if (attribute.getName().equals(mappedBy)) {
-				if (attribute.getMappingKey() == MappingKeys.XML_TRANSIENT_ATTRIBUTE_MAPPING_KEY) {
-					tempResult = attribute;
-				}
-				else {
-					return attribute;
-				}
-			}
-		}
-		return tempResult;
-	}
-	
-	
-	// ***** content assist *****
-	
-	@Override
-	public Iterable<String> getJavaCompletionProposals(int pos, Filter<String> filter, CompilationUnit astRoot) {
-		Iterable<String> result = super.getJavaCompletionProposals(pos, filter, astRoot);
-		if (! CollectionTools.isEmpty(result)) {
-			return result;
-		}
-		
-		if (getXmlInverseReferenceAnnotation().mappedByTouches(pos, astRoot)) {
-			result = getMappedByProposals(filter, astRoot);
-		}
-		if (! CollectionTools.isEmpty(result)) {
-			return result;
-		}
-		
-		return EmptyIterable.instance();
-	}
-	
-	protected Iterable<String> getMappedByProposals(Filter<String> filter, CompilationUnit astRoot) {
-		JaxbClassMapping referencedClassMapping = getReferencedClassMapping();
-		
-		if (referencedClassMapping == null) {
-			return EmptyIterable.instance();
-		}
-		
-		return StringTools.convertToJavaStringLiterals(
-				new TransformationIterable<JaxbPersistentAttribute, String>(referencedClassMapping.getAllLocallyDefinedAttributes()) {
-					@Override
-					protected String transform(JaxbPersistentAttribute o) {
-						return o.getName();
-					}
-				});
-	}
-	
-	
-	// ***** validation *****
-	
-	@Override
-	public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		super.validate(messages, reporter, astRoot);
-		
-		validateMappedBy(messages, reporter, astRoot);
-	}
-	
-	protected void validateMappedBy(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		String mappedBy = getMappedBy();
-		if (StringTools.stringIsEmpty(mappedBy)) {
-			messages.add(
-					ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED,
-							this,
-							getMappedByTextRange(astRoot)));
-			return;
-		}
-		
-		JaxbClassMapping referencedClassMapping = getReferencedClassMapping();
-		if (referencedClassMapping == null) {
-			// TODO validate?
-			return;
-		}
-		
-		JaxbPersistentAttribute referencedAttribute = getReferencedAttribute();
-		if (referencedAttribute == null) {
-			messages.add(
-					ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED,
-							new String[] { mappedBy, referencedClassMapping.getJaxbType().getFullyQualifiedName() },
-							this,
-							getMappedByTextRange(astRoot)));
-		}
-		else if (referencedAttribute.getMappingKey() != MappingKeys.XML_ELEMENT_ATTRIBUTE_MAPPING_KEY) {
-			messages.add(
-					ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_INVERSE_REFERENCE__MAPPED_BY_NOT_XML_ELEMENT,
-							new String[] { mappedBy, referencedClassMapping.getJaxbType().getFullyQualifiedName() },
-							this,
-							getMappedByTextRange(astRoot)));
-		}
-	}
-	
-	protected TextRange getMappedByTextRange(CompilationUnit astRoot) {
-		TextRange textRange = getXmlInverseReferenceAnnotation().getMappedByTextRange(astRoot);
-		return (textRange != null) ? textRange : getValidationTextRange(astRoot);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMappingDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMappingDefinition.java
deleted file mode 100644
index 17b1cf2..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMappingDefinition.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jaxb.core.JaxbFactory;
-import org.eclipse.jpt.jaxb.core.context.JaxbAttributeMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.context.java.JavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.core.internal.context.java.AbstractJavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbMappingKeys;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class ELJavaXmlInverseReferenceMappingDefinition
-		extends AbstractJavaAttributeMappingDefinition {
-	
-	// singleton
-	private static final JavaAttributeMappingDefinition INSTANCE = new ELJavaXmlInverseReferenceMappingDefinition();
-	
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static JavaAttributeMappingDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Enforce singleton usage
-	 */
-	protected ELJavaXmlInverseReferenceMappingDefinition() {
-		super();
-	}
-	
-	
-	public String getKey() {
-		return ELJaxbMappingKeys.XML_INVERSE_REFERENCE_ATTRIBUTE_MAPPING_KEY;
-	}
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_INVERSE_REFERENCE;
-	}
-	
-	public Iterable<String> getSupportingAnnotationNames() {
-		return EmptyIterable.instance();
-	}
-	
-	public JaxbAttributeMapping buildMapping(JaxbPersistentAttribute parent, JaxbFactory factory) {
-		// TODO: move to factory once API opens up again
-		return new ELJavaXmlInverseReferenceMapping(parent);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlPath.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlPath.java
deleted file mode 100644
index 9f3af73..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlPath.java
+++ /dev/null
@@ -1,293 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.utility.SimpleTextRange;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jaxb.core.context.java.JavaContextNode;
-import org.eclipse.jpt.jaxb.core.internal.context.java.AbstractJavaContextNode;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessages;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-public class ELJavaXmlPath
-		extends AbstractJavaContextNode
-		implements ELXmlPath {
-		
-	protected String value;
-	
-	protected Context context;
-	
-	protected List<Step> steps;
-	
-	
-	public ELJavaXmlPath(JavaContextNode parent, Context context) {
-		super(parent);
-		this.context = context;
-		initValue();
-	}
-	
-	
-	// ***** sync/update *****
-	
-	@Override
-	public void synchronizeWithResourceModel() {
-		super.synchronizeWithResourceModel();
-		syncValue();
-	}
-	
-	
-	// ***** value *****
-	
-	public String getValue() {
-		return this.value;
-	}
-	
-	public void setValue(String value) {
-		getAnnotation().setValue(value);
-		setValue_(value);
-	}
-	
-	protected void setValue_(String value) {
-		String old = this.value;
-		this.value = value;
-		firePropertyChanged(VALUE_PROPERTY, old, this.value);
-	}
-	
-	protected void initValue() {
-		this.value = getAnnotation().getValue();
-		initSteps();
-	}
-	
-	protected void syncValue() {
-		setValue_(getAnnotation().getValue());
-		syncSteps();
-		
-	}
-	
-	protected XmlPathAnnotation getAnnotation() {
-		return this.context.getAnnotation();
-	}
-	
-	
-	// ***** steps *****
-	
-	protected void initSteps() {
-		this.steps = new Vector<Step>();
-		CollectionTools.addAll(this.steps, parse(this.value));
-	}
-	
-	protected void syncSteps() {
-		String oldXpath = getCompleteXpath();
-		if (! StringTools.stringsAreEqual(this.value, oldXpath)) {
-			this.steps.clear();
-			CollectionTools.addAll(this.steps, parse(this.value));
-		}
-	}
-	
-	protected String getCompleteXpath() {
-		StringBuffer sb = new StringBuffer();
-		for (Iterator<Step> stream = this.steps.iterator(); stream.hasNext(); ) {
-			sb.append(stream.next().value);
-			if (stream.hasNext()) {
-				sb.append(DELIM);
-			}
-		}
-		return sb.toString();
-	}
-	
-	
-	// ***** validation *****
-	
-	@Override
-	public TextRange getValidationTextRange(CompilationUnit astRoot) {
-		return getAnnotation().getTextRange(astRoot);
-	}
-	
-	@Override
-	public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
-		super.validate(messages, reporter, astRoot);
-		
-		String completeXpath = getCompleteXpath();
-		if (completeXpath.startsWith(DELIM)) {
-			messages.add(
-					ELJaxbValidationMessageBuilder.buildMessage(
-								IMessage.HIGH_SEVERITY,
-								ELJaxbValidationMessages.XML_PATH__ROOT_NOT_SUPPORTED,
-								new String[] { this.value },
-								ELJavaXmlPath.this,
-								getValueTextRange(astRoot)));
-			return;
-		}
-		
-		IMessage firstFormError = null;
-		Iterator<Step> stream = this.steps.iterator();
-		while (firstFormError == null && stream.hasNext() ) {
-			firstFormError = stream.next().getFirstFormError(messages, astRoot);
-		}
-		if (firstFormError != null) {
-			messages.add(firstFormError);
-			return;
-		}
-	}
-	
-	protected TextRange getValueTextRange(CompilationUnit astRoot) {
-		// should never be null
-		return getAnnotation().getValueTextRange(astRoot);
-	}
-	
-	protected TextRange buildTextRange(Step step, CompilationUnit astRoot) {
-		TextRange entireTextRange = getValueTextRange(astRoot);
-		int start = 1; // move to right one since initial text range includes first quote
-		for (Step each : this.steps) {
-			int length = each.value.length();
-				if (each == step) {
-				if (length == 0) {
-					if (this.steps.size() > 1) {
-						// expand text range to include either leading or trailing "/"
-						length += 1;
-						if (step.index != 0) {
-							// if step is not first step, use leading "/"
-							start --;
-						}
-					}
-					else {
-						return entireTextRange;
-					}
-				}
-				return new SimpleTextRange(entireTextRange.getOffset() + start, length, entireTextRange.getLineNumber());
-			}
-			else {
-				start += length + 1; // step plus "/"
-			}
-		}
-		throw new IllegalArgumentException("Step must be in list of this XmlPath's steps.");
-	}
-	
-	
-	// ***** xpath parsing *****
-	
-	protected static String DELIM = "/";
-	
-	protected static String TEXT = "text()";
-	
-	protected static String SELF = ".";
-	
-	protected static String ATT_PREFIX = "@";
-	
-	protected Step[] parse(String xpath) {
-		if (xpath == null) {
-			return new Step[0];
-		}
-		String[] segments = xpath.split(DELIM, -1);
-		Step[] steps = new Step[segments.length];
-		for (int i = 0; i < segments.length; i ++ ) {
-			steps[i] = new Step(segments[i], i);
-		}
-		return steps;
-	}
-	
-	
-	public interface Context {
-		
-		XmlPathAnnotation getAnnotation();
-	}
-	
-	
-	protected class Step {
-		
-		protected String value;
-		
-		protected int index;
-		
-		protected Flavor flavor;
-		
-		
-		protected Step(String value, int index) {
-			this.value = value;
-			this.index = index;
-			this.flavor = determineFlavor();
-		}
-		
-		protected Flavor determineFlavor() {
-			if (StringTools.stringIsEmpty(this.value)) {
-				return Flavor.EMPTY;
-			}
-			else if (TEXT.equals(this.value)) {
-				return Flavor.TEXT;
-			}
-			else if (SELF.equals(this.value)) {
-				return Flavor.SELF;
-			}
-			else if (this.value.startsWith(ATT_PREFIX)) {
-				return Flavor.ATTRIBUTE;
-			}
-			else {
-				return Flavor.ELEMENT;
-			}
-		}
-		
-		protected IMessage getFirstFormError(List<IMessage> messages, CompilationUnit astRoot) {
-			switch (this.flavor) {
-				case EMPTY :
-					return ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_PATH__INVALID_FORM_ILLEGAL_SEGMENT,
-							new String[] { this.value },
-							ELJavaXmlPath.this,
-							ELJavaXmlPath.this.buildTextRange(this, astRoot));
-				case SELF :
-					if (this.index != 0) {
-						return ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_PATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT,
-							ELJavaXmlPath.this,
-							ELJavaXmlPath.this.buildTextRange(this, astRoot));
-					}
-					return null;
-				case TEXT :
-					if (this.index != ELJavaXmlPath.this.steps.size() - 1) {
-						return ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_PATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT,
-							ELJavaXmlPath.this,
-							ELJavaXmlPath.this.buildTextRange(this, astRoot));
-					}
-					return null;
-				case ATTRIBUTE :
-					if (this.index != ELJavaXmlPath.this.steps.size() - 1) {
-						return ELJaxbValidationMessageBuilder.buildMessage(
-							IMessage.HIGH_SEVERITY,
-							ELJaxbValidationMessages.XML_PATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT,
-							ELJavaXmlPath.this,
-							ELJavaXmlPath.this.buildTextRange(this, astRoot));
-					}
-
-				default :
-					return null;
-			}
-		}
-	}
-	
-	
-	protected enum Flavor {
-		
-		EMPTY,
-		
-		SELF,
-		
-		TEXT,
-		
-		ELEMENT,
-		
-		ATTRIBUTE
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlTransformationMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlTransformationMapping.java
deleted file mode 100644
index 036908c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlTransformationMapping.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.internal.context.java.AbstractJavaAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbMappingKeys;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlTransformationAnnotation;
-
-
-public class ELJavaXmlTransformationMapping
-		extends AbstractJavaAttributeMapping<XmlTransformationAnnotation> {
-	
-	public ELJavaXmlTransformationMapping(JaxbPersistentAttribute parent) {
-		super(parent);
-	}
-	
-	
-	public String getKey() {
-		return ELJaxbMappingKeys.XML_TRANSFORMATION_ATTRIBUTE_MAPPING_KEY;
-	}
-	
-	@Override
-	protected String getAnnotationName() {
-		return ELJaxb.XML_TRANSFORMATION;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlTransformationMappingDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlTransformationMappingDefinition.java
deleted file mode 100644
index afd05f4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlTransformationMappingDefinition.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
-
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jaxb.core.JaxbFactory;
-import org.eclipse.jpt.jaxb.core.context.JaxbAttributeMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.context.java.JavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.core.internal.context.java.AbstractJavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbMappingKeys;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class ELJavaXmlTransformationMappingDefinition
-		extends AbstractJavaAttributeMappingDefinition {
-	
-	// singleton
-	private static final JavaAttributeMappingDefinition INSTANCE = new ELJavaXmlTransformationMappingDefinition();
-	
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static JavaAttributeMappingDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Enforce singleton usage
-	 */
-	protected ELJavaXmlTransformationMappingDefinition() {
-		super();
-	}
-	
-	
-	public String getKey() {
-		return ELJaxbMappingKeys.XML_TRANSFORMATION_ATTRIBUTE_MAPPING_KEY;
-	}
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_TRANSFORMATION;
-	}
-	
-	public Iterable<String> getSupportingAnnotationNames() {
-		return EmptyIterable.instance();
-	}
-	
-	public JaxbAttributeMapping buildMapping(JaxbPersistentAttribute parent, JaxbFactory factory) {
-		// TODO: move to factory once API opens up again
-		return new ELJavaXmlTransformationMapping(parent);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/libval/ELJaxbUserLibraryValidator.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/libval/ELJaxbUserLibraryValidator.java
deleted file mode 100644
index 9e6c36d..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/libval/ELJaxbUserLibraryValidator.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.libval;
-
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jpt.common.core.internal.libval.LibValUtil;
-import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
-import org.eclipse.jpt.common.core.libval.LibraryValidator;
-import org.eclipse.jpt.common.eclipselink.core.internal.JptCommonEclipseLinkCoreMessages;
-import org.eclipse.jpt.common.eclipselink.core.internal.libval.EclipseLinkLibValUtil;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jpt.jaxb.core.JptJaxbCorePlugin;
-import org.eclipse.jpt.jaxb.core.internal.libprov.JaxbUserLibraryProviderInstallOperationConfig;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbPlatform;
-import org.eclipse.osgi.service.resolver.VersionRange;
-
-
-/**
- * Library validator for EclipseLink JAXB user libraries.
- * 
- * In order to validate that the correct eclipselink.jar is present in the user library, the version
- * class which appears in standard EclipseLink libraries will be examined and compared against the
- * union of calculated version ranges, depending on the platform specified in the config.
- */
-public class ELJaxbUserLibraryValidator
-		implements LibraryValidator {
-	
-	public IStatus validate(JptLibraryProviderInstallOperationConfig config) {
-		JaxbUserLibraryProviderInstallOperationConfig jaxbConfig 
-				= (JaxbUserLibraryProviderInstallOperationConfig) config;
-		JaxbPlatformDescription platform = jaxbConfig.getJaxbPlatform();
-		Set<VersionRange> versionRanges = new HashSet<VersionRange>();
-		
-		if (ELJaxbPlatform.VERSION_2_1.equals(platform)) {
-			versionRanges.add(new VersionRange("[2.1, 3.0)")); //$NON-NLS-1$
-		}
-		else if (ELJaxbPlatform.VERSION_2_2.equals(platform)) {
-			versionRanges.add(new VersionRange("[2.2, 3.0)")); //$NON-NLS-1$
-		}
-		else if (ELJaxbPlatform.VERSION_2_3.equals(platform)) {
-			versionRanges.add(new VersionRange("[2.3, 3.0)")); //$NON-NLS-1$
-		}
-		else if (ELJaxbPlatform.VERSION_2_4.equals(platform)) {
-			versionRanges.add(new VersionRange("[2.4, 3.0)")); //$NON-NLS-1$
-		}
-		
-		IStatus status = EclipseLinkLibValUtil.validate(jaxbConfig.resolve(), versionRanges);
-		
-		if (! status.isOK()) {
-			return status;
-		}
-		
-		// finally look for xjc classes
-		
-		Set<String> classNames = new HashSet<String>();
-		
-		classNames.add("com.sun.tools.xjc.XJCFacade"); //$NON-NLS-1$
-		classNames.add("com.sun.xml.bind.Util"); //$NON-NLS-1$
-		
-		Iterable<IPath> libraryPaths = 
-				new TransformationIterable<IClasspathEntry, IPath>(jaxbConfig.resolve()) {
-					@Override
-					protected IPath transform(IClasspathEntry o) {
-						return o.getPath();
-					}
-				};
-		
-		status = LibValUtil.validate(libraryPaths, classNames);
-		
-		if (! status.isOK()) {
-			return new Status(IStatus.WARNING, JptJaxbCorePlugin.PLUGIN_ID, JptCommonEclipseLinkCoreMessages.ELJaxbUserLibraryValidator_noXjcClasses);
-		}
-		
-		return Status.OK_STATUS;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlInverseReferenceAnnotationDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlInverseReferenceAnnotationDefinition.java
deleted file mode 100644
index 305d19e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlInverseReferenceAnnotationDefinition.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.binary.BinaryXmlInverseReferenceAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.source.SourceXmlInverseReferenceAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class XmlInverseReferenceAnnotationDefinition
-		implements AnnotationDefinition {
-	
-	// singleton
-	private static final AnnotationDefinition INSTANCE = new XmlInverseReferenceAnnotationDefinition();
-	
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static AnnotationDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Ensure single instance.
-	 */
-	private XmlInverseReferenceAnnotationDefinition() {
-		super();
-	}
-	
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_INVERSE_REFERENCE;
-	}
-	
-	public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement) {
-		return new SourceXmlInverseReferenceAnnotation(parent, annotatedElement);
-	}
-	
-	public Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent) {
-		throw new UnsupportedOperationException();
-	}
-	
-	public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) {
-		return new BinaryXmlInverseReferenceAnnotation(parent, jdtAnnotation);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlPathAnnotationDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlPathAnnotationDefinition.java
deleted file mode 100644
index 4c6593c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlPathAnnotationDefinition.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotationDefinition;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.binary.BinaryXmlPathAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.source.SourceXmlPathAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class XmlPathAnnotationDefinition
-		implements NestableAnnotationDefinition {
-	
-	// singleton
-	private static final NestableAnnotationDefinition INSTANCE = new XmlPathAnnotationDefinition();
-	
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static NestableAnnotationDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	private XmlPathAnnotationDefinition() {
-		super();
-	}
-	
-	
-	public String getNestableAnnotationName() {
-		return ELJaxb.XML_PATH;
-	}
-	
-	public String getContainerAnnotationName() {
-		return ELJaxb.XML_PATHS;
-	}
-	
-	public String getElementName() {
-		return ELJaxb.XML_PATH__VALUE;
-	}
-	
-	public NestableAnnotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement, int index) {
-		return SourceXmlPathAnnotation.buildSourceXmlPathAnnotation(parent, annotatedElement, index);
-	}
-	
-	public NestableAnnotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation, int index) {
-		return new BinaryXmlPathAnnotation(parent, jdtAnnotation);
-	}
-}
-
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlPathsAnnotationDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlPathsAnnotationDefinition.java
deleted file mode 100644
index 61ed74d..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlPathsAnnotationDefinition.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryNamedAnnotation;
-import org.eclipse.jpt.common.core.internal.resource.java.source.SourceNamedAnnotation;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class XmlPathsAnnotationDefinition
-		implements AnnotationDefinition {
-	
-	// singleton
-	private static final AnnotationDefinition INSTANCE = new XmlPathsAnnotationDefinition();
-	
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static AnnotationDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Ensure single instance.
-	 */
-	private XmlPathsAnnotationDefinition() {
-		super();
-	}
-	
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_PATHS;
-	}
-	
-	public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement) {
-		return new SourceNamedAnnotation(parent, annotatedElement, getAnnotationName());
-	}
-	
-	public Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent) {
-		throw new UnsupportedOperationException();
-	}
-	
-	public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) {
-		return new BinaryNamedAnnotation(parent, jdtAnnotation, getAnnotationName());
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlTransformationAnnotationDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlTransformationAnnotationDefinition.java
deleted file mode 100644
index a8e219f..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/XmlTransformationAnnotationDefinition.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.binary.BinaryXmlTransformationAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.source.SourceXmlTransformationAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-
-
-public class XmlTransformationAnnotationDefinition
-		implements AnnotationDefinition {
-	
-	// singleton
-	private static final AnnotationDefinition INSTANCE = new XmlTransformationAnnotationDefinition();
-	
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static AnnotationDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Ensure single instance.
-	 */
-	private XmlTransformationAnnotationDefinition() {
-		super();
-	}
-	
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_TRANSFORMATION;
-	}
-	
-	public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement) {
-		return new SourceXmlTransformationAnnotation(parent, annotatedElement);
-	}
-	
-	public Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent) {
-		throw new UnsupportedOperationException();
-	}
-	
-	public Annotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) {
-		return new BinaryXmlTransformationAnnotation(parent, jdtAnnotation);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlInverseReferenceAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlInverseReferenceAnnotation.java
deleted file mode 100644
index e2a600b..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlInverseReferenceAnnotation.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryAnnotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlInverseReferenceAnnotation;
-
-
-public class BinaryXmlInverseReferenceAnnotation
-		extends BinaryAnnotation
-		implements XmlInverseReferenceAnnotation {
-	
-	private String mappedBy;
-	
-	
-	public BinaryXmlInverseReferenceAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) {
-		super(parent, jdtAnnotation);
-		this.mappedBy = buildMappedBy();
-	}
-	
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_INVERSE_REFERENCE;
-	}
-	
-	@Override
-	public void update() {
-		super.update();
-		setMappedBy_(buildMappedBy());
-	}
-	
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.mappedBy);
-	}
-	
-	
-	// ***** mappedBy *****
-	
-	public String getMappedBy() {
-		return this.mappedBy;
-	}
-	
-	public void setMappedBy(String mappedBy) {
-		throw new UnsupportedOperationException();
-	}
-	
-	private void setMappedBy_(String mappedBy) {
-		String old = this.mappedBy;
-		this.mappedBy = mappedBy;
-		this.firePropertyChanged(MAPPED_BY_PROPERTY, old, mappedBy);
-	}
-	
-	private String buildMappedBy() {
-		return (String) this.getJdtMemberValue(ELJaxb.XML_INVERSE_REFERENCE__MAPPED_BY);
-	}
-	
-	public TextRange getMappedByTextRange(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-	
-	public boolean mappedByTouches(int pos, CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlPathAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlPathAnnotation.java
deleted file mode 100644
index 41e5f85..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlPathAnnotation.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryAnnotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-
-
-public class BinaryXmlPathAnnotation
-		extends BinaryAnnotation
-		implements XmlPathAnnotation {
-	
-	private String value;
-	
-	
-	public BinaryXmlPathAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) {
-		super(parent, jdtAnnotation);
-		this.value = buildValue();
-	}
-	
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_PATH;
-	}
-	
-	@Override
-	public void update() {
-		super.update();
-		setValue_(buildValue());
-	}
-	
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.value);
-	}
-	
-	
-	// ***** value *****
-	
-	public String getValue() {
-		return this.value;
-	}
-	
-	public void setValue(String value) {
-		throw new UnsupportedOperationException();
-	}
-	
-	private void setValue_(String value) {
-		String old = this.value;
-		this.value = value;
-		this.firePropertyChanged(VALUE_PROPERTY, old, value);
-	}
-	
-	private String buildValue() {
-		return (String) this.getJdtMemberValue(ELJaxb.XML_PATH__VALUE);
-	}
-	
-	public TextRange getValueTextRange(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-	
-	public boolean valueTouches(int pos, CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlTransformationAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlTransformationAnnotation.java
deleted file mode 100644
index 7b9d0e6..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/binary/BinaryXmlTransformationAnnotation.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.binary;
-
-import org.eclipse.jdt.core.IAnnotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryAnnotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlTransformationAnnotation;
-
-
-public class BinaryXmlTransformationAnnotation
-		extends BinaryAnnotation
-		implements XmlTransformationAnnotation {
-	
-	private Boolean optional;
-	
-	
-	public BinaryXmlTransformationAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) {
-		super(parent, jdtAnnotation);
-		this.optional = buildOptional();
-	}
-	
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_TRANSFORMATION;
-	}
-	
-	@Override
-	public void update() {
-		super.update();
-		setOptional_(buildOptional());
-	}
-	
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.optional);
-	}
-	
-	
-	// ***** optional 
-	
-	public Boolean getOptional() {
-		return this.optional;
-	}
-	
-	public void setOptional(Boolean optional) {
-		throw new UnsupportedOperationException();
-	}
-	
-	private void setOptional_(Boolean optional) {
-		Boolean old = this.optional;
-		this.optional = optional;
-		this.firePropertyChanged(OPTIONAL_PROPERTY, old, optional);
-	}
-	
-	private Boolean buildOptional() {
-		return (Boolean) this.getJdtMemberValue(ELJaxb.XML_TRANSFORMATION__OPTIONAL);
-	}
-	
-	public TextRange getOptionalTextRange(CompilationUnit astRoot) {
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlInverseReferenceAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlInverseReferenceAnnotation.java
deleted file mode 100644
index 305eb4e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlInverseReferenceAnnotation.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.source.SourceAnnotation;
-import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotatedElementAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.StringExpressionConverter;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlInverseReferenceAnnotation;
-
-
-public class SourceXmlInverseReferenceAnnotation
-		extends SourceAnnotation
-		implements XmlInverseReferenceAnnotation {
-	
-	public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ELJaxb.XML_INVERSE_REFERENCE);
-	
-	private final DeclarationAnnotationElementAdapter<String> mappedByDeclarationAdapter;
-	private final AnnotationElementAdapter<String> mappedByAdapter;
-	private String mappedBy;
-	
-	
-	public SourceXmlInverseReferenceAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement element) {
-		this(parent, element, DECLARATION_ANNOTATION_ADAPTER, new ElementAnnotationAdapter(element, DECLARATION_ANNOTATION_ADAPTER));
-	}
-
-	public SourceXmlInverseReferenceAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement element, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
-		super(parent, element, daa, annotationAdapter);
-		this.mappedByDeclarationAdapter = buildMappedByDeclarationAdapter(daa);
-		this.mappedByAdapter = buildMappedByAdapter(this.mappedByDeclarationAdapter);
-	}
-	
-	
-	private DeclarationAnnotationElementAdapter<String> buildMappedByDeclarationAdapter(DeclarationAnnotationAdapter daa) {
-		return new ConversionDeclarationAnnotationElementAdapter<String>(daa, ELJaxb.XML_INVERSE_REFERENCE__MAPPED_BY, StringExpressionConverter.instance());
-	}
-	
-	private AnnotationElementAdapter<String> buildMappedByAdapter(DeclarationAnnotationElementAdapter<String> daea) {
-		return new AnnotatedElementAnnotationElementAdapter<String>(this.annotatedElement, daea);
-	}
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_INVERSE_REFERENCE;
-	}
-	
-	public void initialize(CompilationUnit astRoot) {
-		this.mappedBy = buildMappedBy(astRoot);
-	}
-	
-	public void synchronizeWith(CompilationUnit astRoot) {
-		this.syncMappedBy(buildMappedBy(astRoot));
-	}
-	
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.mappedBy);
-	}
-	
-	
-	// ***** mappedBy *****
-	
-	public String getMappedBy() {
-		return this.mappedBy;
-	}
-	
-	public void setMappedBy(String mappedBy) {
-		if (attributeValueHasChanged(this.mappedBy, mappedBy)) {
-			this.mappedBy = mappedBy;
-			this.mappedByAdapter.setValue(mappedBy);
-		}
-	}
-	
-	private void syncMappedBy(String astMappedBy) {
-		String old = this.mappedBy;
-		this.mappedBy = astMappedBy;
-		this.firePropertyChanged(MAPPED_BY_PROPERTY, old, this.mappedBy);
-	}
-	
-	private String buildMappedBy(CompilationUnit astRoot) {
-		return this.mappedByAdapter.getValue(astRoot);
-	}
-	
-	public TextRange getMappedByTextRange(CompilationUnit astRoot) {
-		return this.getElementTextRange(this.mappedByDeclarationAdapter, astRoot);
-	}
-	
-	public boolean mappedByTouches(int pos, CompilationUnit astRoot) {
-		return elementTouches(this.mappedByDeclarationAdapter, pos, astRoot);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlPathAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlPathAnnotation.java
deleted file mode 100644
index e3690bd..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlPathAnnotation.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.source.SourceAnnotation;
-import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotatedElementAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.CombinationIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementIndexedAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.StringExpressionConverter;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-
-
-public class SourceXmlPathAnnotation
-		extends SourceAnnotation
-		implements XmlPathAnnotation {
-	
-	public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = 
-			new SimpleDeclarationAnnotationAdapter(ELJaxb.XML_PATH);
-	public static final DeclarationAnnotationAdapter CONTAINER_DECLARATION_ANNOTATION_ADAPTER = 
-			new SimpleDeclarationAnnotationAdapter(ELJaxb.XML_PATHS);
-	
-	private final DeclarationAnnotationElementAdapter<String> valueDeclarationAdapter;
-	private final AnnotationElementAdapter<String> valueAdapter;
-	private String value;
-	
-	
-	public static SourceXmlPathAnnotation buildSourceXmlPathAnnotation(
-			JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement, int index) {
-		
-		IndexedDeclarationAnnotationAdapter idaa = buildXmlPathDeclarationAnnotationAdapter(index);
-		IndexedAnnotationAdapter iaa = buildXmlPathAnnotationAdapter(annotatedElement, idaa);
-		return new SourceXmlPathAnnotation(parent, annotatedElement, idaa, iaa);
-	}
-	
-	
-	private SourceXmlPathAnnotation(
-			JavaResourceAnnotatedElement parent,
-			AnnotatedElement annotatedElement,
-			IndexedDeclarationAnnotationAdapter daa,
-			IndexedAnnotationAdapter annotationAdapter) {
-		
-		super(parent, annotatedElement, daa, annotationAdapter);
-		this.valueDeclarationAdapter = buildValueAdapter(daa);
-		this.valueAdapter = this.buildAnnotationElementAdapter(this.valueDeclarationAdapter);
-	}
-	
-	
-	private DeclarationAnnotationElementAdapter<String> buildValueAdapter(DeclarationAnnotationAdapter daa) {
-		return buildAnnotationElementAdapter(daa, ELJaxb.XML_PATH__VALUE, StringExpressionConverter.instance());
-	}
-	
-	private DeclarationAnnotationElementAdapter<String> buildAnnotationElementAdapter(
-			DeclarationAnnotationAdapter annotationAdapter, String elementName, ExpressionConverter<String> converter) {
-		
-		return new ConversionDeclarationAnnotationElementAdapter<String>(annotationAdapter, elementName, converter);
-	}
-	
-	private AnnotationElementAdapter<String> buildAnnotationElementAdapter(
-			DeclarationAnnotationElementAdapter<String> daea) {
-		
-		return new AnnotatedElementAnnotationElementAdapter<String>(this.annotatedElement, daea);
-	}
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_PATH;
-	}
-	
-	public void initialize(CompilationUnit astRoot) {
-		this.value = buildValue(astRoot);
-	}
-	
-	public void synchronizeWith(CompilationUnit astRoot) {
-		syncValue(buildValue(astRoot));
-	}
-	
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.value);
-	}
-	
-	
-	// ***** value *****
-	
-	public String getValue() {
-		return this.value;
-	}
-	
-	public void setValue(String value) {
-		if (this.attributeValueHasChanged(this.value, value)) {
-			this.value = value;
-			this.valueAdapter.setValue(value);
-		}
-	}
-	
-	private void syncValue(String astValue) {
-		String old = this.value;
-		this.value = astValue;
-		this.firePropertyChanged(VALUE_PROPERTY, old, astValue);
-	}
-	
-	private String buildValue(CompilationUnit astRoot) {
-		return this.valueAdapter.getValue(astRoot);
-	}
-	
-	public TextRange getValueTextRange(CompilationUnit astRoot) {
-		return this.getElementTextRange(this.valueDeclarationAdapter, astRoot);
-	}
-	
-	public boolean valueTouches(int pos, CompilationUnit astRoot) {
-		return elementTouches(this.valueDeclarationAdapter, pos, astRoot);
-	}
-	
-	
-	// ***** NestableAnnotation impl *****
-	
-	/**
-	 * convenience implementation of method from NestableAnnotation interface
-	 * for subclasses
-	 */
-	@Override
-	public void moveAnnotation(int newIndex) {
-		this.getIndexedAnnotationAdapter().moveAnnotation(newIndex);
-	}
-	
-	private IndexedAnnotationAdapter getIndexedAnnotationAdapter() {
-		return (IndexedAnnotationAdapter) this.annotationAdapter;
-	}
-	
-	
-	// ********** static methods **********
-
-	private static IndexedAnnotationAdapter buildXmlPathAnnotationAdapter(
-			AnnotatedElement annotatedElement, IndexedDeclarationAnnotationAdapter idaa) {
-		
-		return new ElementIndexedAnnotationAdapter(annotatedElement, idaa);
-	}
-	
-	private static IndexedDeclarationAnnotationAdapter buildXmlPathDeclarationAnnotationAdapter(int index) {
-		IndexedDeclarationAnnotationAdapter idaa = 
-				new CombinationIndexedDeclarationAnnotationAdapter(
-					DECLARATION_ANNOTATION_ADAPTER,
-					CONTAINER_DECLARATION_ANNOTATION_ADAPTER,
-					index,
-					ELJaxb.XML_PATH);
-		return idaa;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlTransformationAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlTransformationAnnotation.java
deleted file mode 100644
index 3cdb791..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/resource/java/source/SourceXmlTransformationAnnotation.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.source;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.internal.resource.java.source.SourceAnnotation;
-import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotatedElementAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ElementAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotationElementAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.DeclarationAnnotationElementAdapter;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlTransformationAnnotation;
-
-
-public class SourceXmlTransformationAnnotation
-		extends SourceAnnotation
-		implements XmlTransformationAnnotation {
-	
-	public static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ELJaxb.XML_TRANSFORMATION);
-	
-	private final DeclarationAnnotationElementAdapter<Boolean> optionalDeclarationAdapter;
-	private final AnnotationElementAdapter<Boolean> optionalAdapter;
-	private Boolean optional;
-	
-	
-	public SourceXmlTransformationAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement element) {
-		this(parent, element, DECLARATION_ANNOTATION_ADAPTER, new ElementAnnotationAdapter(element, DECLARATION_ANNOTATION_ADAPTER));
-	}
-
-	public SourceXmlTransformationAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement element, DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
-		super(parent, element, daa, annotationAdapter);
-		this.optionalDeclarationAdapter = buildOptionalDeclarationAdapter(daa);
-		this.optionalAdapter = buildShortCircuitBooleanElementAdapter(this.optionalDeclarationAdapter);
-	}
-	
-	
-	private DeclarationAnnotationElementAdapter<Boolean> buildOptionalDeclarationAdapter(DeclarationAnnotationAdapter daa) {
-		return ConversionDeclarationAnnotationElementAdapter.forBooleans(daa, ELJaxb.XML_TRANSFORMATION__OPTIONAL);
-	}
-	
-	private AnnotationElementAdapter<Boolean> buildShortCircuitBooleanElementAdapter(DeclarationAnnotationElementAdapter<Boolean> daea) {
-		return new AnnotatedElementAnnotationElementAdapter<Boolean>(this.annotatedElement, daea);
-	}
-	
-	public String getAnnotationName() {
-		return ELJaxb.XML_TRANSFORMATION;
-	}
-	
-	public void initialize(CompilationUnit astRoot) {
-		this.optional = buildOptional(astRoot);
-	}
-	
-	public void synchronizeWith(CompilationUnit astRoot) {
-		this.syncOptional(buildOptional(astRoot));
-	}
-	
-	@Override
-	public void toString(StringBuilder sb) {
-		sb.append(this.optional);
-	}
-	
-	
-	// ********** optional
-	
-	public Boolean getOptional() {
-		return this.optional;
-	}
-	
-	public void setOptional(Boolean optional) {
-		if (attributeValueHasChanged(this.optional, optional)) {
-			this.optional = optional;
-			this.optionalAdapter.setValue(optional);
-		}
-	}
-	
-	private void syncOptional(Boolean astOptional) {
-		Boolean old = this.optional;
-		this.optional = astOptional;
-		this.firePropertyChanged(OPTIONAL_PROPERTY, old, this.optional);
-	}
-	
-	private Boolean buildOptional(CompilationUnit astRoot) {
-		return this.optionalAdapter.getValue(astRoot);
-	}
-	
-	public TextRange getOptionalTextRange(CompilationUnit astRoot) {
-		return this.getElementTextRange(this.optionalDeclarationAdapter, astRoot);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_Factory.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_Factory.java
deleted file mode 100644
index 6acf970..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_Factory.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_1;
-
-import org.eclipse.jpt.jaxb.core.JaxbFactory;
-import org.eclipse.jpt.jaxb.core.JaxbProject;
-import org.eclipse.jpt.jaxb.core.context.JaxbContextRoot;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.context.XmlAnyAttributeMapping;
-import org.eclipse.jpt.jaxb.core.context.XmlAnyElementMapping;
-import org.eclipse.jpt.jaxb.core.context.XmlAttributeMapping;
-import org.eclipse.jpt.jaxb.core.context.XmlElementMapping;
-import org.eclipse.jpt.jaxb.core.context.XmlElementsMapping;
-import org.eclipse.jpt.jaxb.core.internal.AbstractJaxbFactory;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.ELJaxbContextRoot;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAnyAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAnyElementMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlElementMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlElementsMapping;
-
-
-public class ELJaxb_2_1_Factory
-		extends AbstractJaxbFactory {
-	
-	// singleton
-	private static final JaxbFactory INSTANCE = new ELJaxb_2_1_Factory();
-	
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static JaxbFactory instance() {
-		return INSTANCE;
-	}
-	
-	
-	/**
-	 * Ensure single instance.
-	 */
-	private ELJaxb_2_1_Factory() {
-		super();
-	}
-	
-	
-	@Override
-	public JaxbContextRoot buildContextRoot(JaxbProject parent) {
-		return new ELJaxbContextRoot(parent);
-	}
-	
-	@Override
-	public XmlAnyAttributeMapping buildJavaXmlAnyAttributeMapping(JaxbPersistentAttribute parent) {
-		return new ELJavaXmlAnyAttributeMapping(parent);
-	}
-	
-	@Override
-	public XmlAnyElementMapping buildJavaXmlAnyElementMapping(JaxbPersistentAttribute parent) {
-		return new ELJavaXmlAnyElementMapping(parent);
-	}
-	
-	@Override
-	public XmlAttributeMapping buildJavaXmlAttributeMapping(JaxbPersistentAttribute parent) {
-		return new ELJavaXmlAttributeMapping(parent);
-	}
-	
-	@Override
-	public XmlElementMapping buildJavaXmlElementMapping(JaxbPersistentAttribute parent) {
-		return new ELJavaXmlElementMapping(parent);
-	}
-	
-	@Override
-	public XmlElementsMapping buildJavaXmlElementsMapping(JaxbPersistentAttribute parent) {
-		return new ELJavaXmlElementsMapping(parent);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_PlatformDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_PlatformDefinition.java
deleted file mode 100644
index 1f21faa..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_PlatformDefinition.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_1;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jpt.common.core.JptResourceType;
-import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotationDefinition;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.jaxb.core.JaxbFactory;
-import org.eclipse.jpt.jaxb.core.JaxbResourceModelProvider;
-import org.eclipse.jpt.jaxb.core.context.java.DefaultJavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.core.context.java.JavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.core.internal.jaxb21.GenericJaxb_2_1_PlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbPlatform;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.AbstractELJaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAnyAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAnyElementMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlElementMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlElementsMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlInverseReferenceMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.XmlInverseReferenceAnnotationDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.XmlPathAnnotationDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.XmlPathsAnnotationDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.resource.java.XmlTransformationAnnotationDefinition;
-
-
-public class ELJaxb_2_1_PlatformDefinition
-		extends  AbstractELJaxbPlatformDefinition {
-	
-	// singleton
-	private static final JaxbPlatformDefinition INSTANCE = new ELJaxb_2_1_PlatformDefinition();
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static JaxbPlatformDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	protected ELJaxb_2_1_PlatformDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	protected JaxbPlatformDefinition getGenericJaxbPlatformDefinition() {
-		return GenericJaxb_2_1_PlatformDefinition.instance();
-	}
-	
-	public JaxbPlatformDescription getDescription() {
-		return ELJaxbPlatform.VERSION_2_1;
-	}
-	
-	public JaxbFactory getFactory() {
-		return ELJaxb_2_1_Factory.instance();
-	}
-	
-	@Override
-	protected JaxbResourceModelProvider[] buildResourceModelProviders() {
-		return ArrayTools.array(
-				getGenericJaxbPlatformDefinition().getResourceModelProviders(), 
-				new JaxbResourceModelProvider[0]);
-			
-	}
-	
-	public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) {
-		return getGenericJaxbPlatformDefinition().getMostRecentSupportedResourceType(contentType);
-	}
-	
-	@Override
-	protected AnnotationDefinition[] buildAnnotationDefinitions() {
-		return ArrayTools.addAll(
-				getGenericJaxbPlatformDefinition().getAnnotationDefinitions(),
-				XmlInverseReferenceAnnotationDefinition.instance(),
-				XmlPathsAnnotationDefinition.instance(),
-				XmlTransformationAnnotationDefinition.instance());
-	}
-	
-	@Override
-	protected NestableAnnotationDefinition[] buildNestableAnnotationDefinitions() {
-		return ArrayTools.addAll(
-				getGenericJaxbPlatformDefinition().getNestableAnnotationDefinitions(),
-				XmlPathAnnotationDefinition.instance());
-	}
-	
-	@Override
-	protected void addDefaultJavaAttributeMappingDefinitionsTo(
-			ArrayList<DefaultJavaAttributeMappingDefinition> definitions) {
-		CollectionTools.addAll(definitions, ELJavaXmlAttributeMappingDefinition.instance());
-		CollectionTools.addAll(definitions, ELJavaXmlElementMappingDefinition.instance());
-		CollectionTools.addAll(definitions, getGenericJaxbPlatformDefinition().getDefaultJavaAttributeMappingDefinitions());
-	}
-	
-	@Override
-	protected void addSpecifiedJavaAttributeMappingDefinitionsTo(
-			ArrayList<JavaAttributeMappingDefinition> definitions) {
-		CollectionTools.addAll(definitions, ELJavaXmlAnyAttributeMappingDefinition.instance());
-		CollectionTools.addAll(definitions, ELJavaXmlAnyElementMappingDefinition.instance());
-		CollectionTools.addAll(definitions, ELJavaXmlAttributeMappingDefinition.instance());
-		CollectionTools.addAll(definitions, ELJavaXmlElementMappingDefinition.instance());
-		CollectionTools.addAll(definitions, ELJavaXmlElementsMappingDefinition.instance());
-		CollectionTools.addAll(definitions, ELJavaXmlInverseReferenceMappingDefinition.instance());
-		CollectionTools.addAll(definitions, getGenericJaxbPlatformDefinition().getSpecifiedJavaAttributeMappingDefinitions());
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_PlatformDefinitionFactory.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_PlatformDefinitionFactory.java
deleted file mode 100644
index 61bc504..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_1/ELJaxb_2_1_PlatformDefinitionFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_1;
-
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinitionFactory;
-
-
-public class ELJaxb_2_1_PlatformDefinitionFactory
-		implements JaxbPlatformDefinitionFactory {
-	
-	public JaxbPlatformDefinition buildJaxbPlatformDefinition() {
-		return ELJaxb_2_1_PlatformDefinition.instance();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_2/ELJaxb_2_2_PlatformDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_2/ELJaxb_2_2_PlatformDefinition.java
deleted file mode 100644
index 9dd2e1c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_2/ELJaxb_2_2_PlatformDefinition.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_2;
-
-import java.util.ArrayList;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.jaxb.core.context.java.JavaAttributeMappingDefinition;
-import org.eclipse.jpt.jaxb.core.internal.jaxb22.GenericJaxb_2_2_PlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbPlatform;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlTransformationMappingDefinition;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_1.ELJaxb_2_1_PlatformDefinition;
-
-
-public class ELJaxb_2_2_PlatformDefinition
-		extends  ELJaxb_2_1_PlatformDefinition {
-	
-	// singleton
-	private static final JaxbPlatformDefinition INSTANCE = new ELJaxb_2_2_PlatformDefinition();
-	
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static JaxbPlatformDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	protected ELJaxb_2_2_PlatformDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	public JaxbPlatformDescription getDescription() {
-		return ELJaxbPlatform.VERSION_2_2;
-	}
-	
-	@Override
-	protected JaxbPlatformDefinition getGenericJaxbPlatformDefinition() {
-		return GenericJaxb_2_2_PlatformDefinition.instance();
-	}
-	
-	@Override
-	protected void addSpecifiedJavaAttributeMappingDefinitionsTo(
-			ArrayList<JavaAttributeMappingDefinition> definitions) {
-		super.addSpecifiedJavaAttributeMappingDefinitionsTo(definitions);
-		CollectionTools.addAll(definitions, ELJavaXmlTransformationMappingDefinition.instance());
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_2/ELJaxb_2_2_PlatformDefinitionFactory.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_2/ELJaxb_2_2_PlatformDefinitionFactory.java
deleted file mode 100644
index d1844d7..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_2/ELJaxb_2_2_PlatformDefinitionFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_2;
-
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinitionFactory;
-
-
-public class ELJaxb_2_2_PlatformDefinitionFactory
-		implements JaxbPlatformDefinitionFactory {
-	
-	public JaxbPlatformDefinition buildJaxbPlatformDefinition() {
-		return ELJaxb_2_2_PlatformDefinition.instance();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_3/ELJaxb_2_3_PlatformDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_3/ELJaxb_2_3_PlatformDefinition.java
deleted file mode 100644
index 38ff005..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_3/ELJaxb_2_3_PlatformDefinition.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_3;
-
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbPlatform;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_2.ELJaxb_2_2_PlatformDefinition;
-
-
-public class ELJaxb_2_3_PlatformDefinition
-		extends  ELJaxb_2_2_PlatformDefinition {
-	
-	// singleton
-	private static final JaxbPlatformDefinition INSTANCE = new ELJaxb_2_3_PlatformDefinition();
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static JaxbPlatformDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	protected ELJaxb_2_3_PlatformDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	public JaxbPlatformDescription getDescription() {
-		return ELJaxbPlatform.VERSION_2_3;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_3/ELJaxb_2_3_PlatformDefinitionFactory.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_3/ELJaxb_2_3_PlatformDefinitionFactory.java
deleted file mode 100644
index 9dfc64c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_3/ELJaxb_2_3_PlatformDefinitionFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_3;
-
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinitionFactory;
-
-
-public class ELJaxb_2_3_PlatformDefinitionFactory
-		implements JaxbPlatformDefinitionFactory {
-	
-	public JaxbPlatformDefinition buildJaxbPlatformDefinition() {
-		return ELJaxb_2_3_PlatformDefinition.instance();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_4/ELJaxb_2_4_PlatformDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_4/ELJaxb_2_4_PlatformDefinition.java
deleted file mode 100644
index 20648b2..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_4/ELJaxb_2_4_PlatformDefinition.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_4;
-
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbPlatform;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_3.ELJaxb_2_3_PlatformDefinition;
-
-
-public class ELJaxb_2_4_PlatformDefinition
-		extends  ELJaxb_2_3_PlatformDefinition {
-	
-	// singleton
-	private static final JaxbPlatformDefinition INSTANCE = new ELJaxb_2_4_PlatformDefinition();
-	
-	/**
-	 * Return the singleton.
-	 */
-	public static JaxbPlatformDefinition instance() {
-		return INSTANCE;
-	}
-	
-	
-	protected ELJaxb_2_4_PlatformDefinition() {
-		super();
-	}
-	
-	
-	@Override
-	public JaxbPlatformDescription getDescription() {
-		return ELJaxbPlatform.VERSION_2_4;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_4/ELJaxb_2_4_PlatformDefinitionFactory.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_4/ELJaxb_2_4_PlatformDefinitionFactory.java
deleted file mode 100644
index 0dfb2a8..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/v2_4/ELJaxb_2_4_PlatformDefinitionFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_4;
-
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinition;
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDefinitionFactory;
-
-
-public class ELJaxb_2_4_PlatformDefinitionFactory
-	implements JaxbPlatformDefinitionFactory {
-
-	public JaxbPlatformDefinition buildJaxbPlatformDefinition() {
-		return ELJaxb_2_4_PlatformDefinition.instance();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessageBuilder.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessageBuilder.java
deleted file mode 100644
index 60a8593..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessageBuilder.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.validation;
-
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jaxb.core.JaxbNode;
-import org.eclipse.jpt.jaxb.core.JptJaxbCorePlugin;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.jpt.jaxb.core.internal.validation.DefaultValidationMessages;
-
-public class ELJaxbValidationMessageBuilder {
-
-	private static String[] DEFAULT_PARMS = new String[0];
-	private static TextRange DEFAULT_TEXT_RANGE = TextRange.Empty.instance();
-
-	public static IMessage buildMessage(int defaultSeverity, String messageId, JaxbNode targetObject) {
-		return buildMessage(defaultSeverity, messageId, targetObject.getResource());
-	}
-
-	public static IMessage buildMessage(int defaultSeverity, String messageId, IResource targetObject) {
-		return buildMessage(defaultSeverity, messageId, DEFAULT_PARMS, targetObject);
-	}
-
-	public static IMessage buildMessage(int defaultSeverity, String messageId, String[] parms, JaxbNode targetObject) {
-		return buildMessage(defaultSeverity, messageId, parms, targetObject.getResource());
-	}
-
-	public static IMessage buildMessage(int defaultSeverity, String messageId, String[] parms, IResource targetObject) {
-		return buildMessage(defaultSeverity, messageId, parms, targetObject, DEFAULT_TEXT_RANGE);
-	}
-
-	public static IMessage buildMessage(int defaultSeverity, String messageId, JaxbNode targetObject, TextRange textRange) {
-		return buildMessage(defaultSeverity, messageId, targetObject.getResource(), textRange);
-	}
-
-	public static IMessage buildMessage(int defaultSeverity, String messageId, IResource targetObject, TextRange textRange) {
-		return buildMessage(defaultSeverity, messageId, DEFAULT_PARMS, targetObject, textRange);
-	}
-
-	public static IMessage buildMessage(int defaultSeverity, String messageId, String[] parms, JaxbNode targetObject, TextRange textRange) {
-		return buildMessage(defaultSeverity, messageId, parms, targetObject.getResource(), textRange);
-	}
-
-	public static IMessage buildMessage(int defaultSeverity, String messageId, String[] parms, IResource targetObject, TextRange textRange) {
-		return DefaultValidationMessages.buildMessage(defaultSeverity, messageId, parms, targetObject, textRange, MESSAGE_FACTORY);
-	}
-
-
-	private ELJaxbValidationMessageBuilder() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-
-	private static final DefaultValidationMessages.MessageFactory MESSAGE_FACTORY = new EclipseLinkMessageFactory();
-
-	/* CU private */ static class EclipseLinkMessageFactory
-		implements DefaultValidationMessages.MessageFactory
-	{
-		public IMessage buildMessage(int severity, String messageId, String[] parms, IResource targetObject) {
-			// TODO check for preference override
-//			int prefSeverity = JpaValidationPreferences.getProblemSeverityPreference(targetObject, messageId);
-//			if (prefSeverity != JpaValidationPreferences.NO_SEVERITY_PREFERENCE){
-//				severity = prefSeverity;
-//			}
-			IMessage message = new EclipseLinkMessage(ELJaxbValidationMessages.BUNDLE_NAME, severity, messageId, parms, targetObject);
-			// TODO "EclipseLink JAXB" validation marker?
-			message.setMarkerId(JptJaxbCorePlugin.VALIDATION_MARKER_ID);
-			return message;
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this);
-		}
-	}
-
-	/**
-	 * We have to build this message so {@link Message} uses the right class
-	 * loader to retrieve the message bundles.
-	 * <p>
-	 * Another way we could potentially solve this is to have a separate
-	 * EclispeLink JPA validator and set up the extension points so that
-	 * it only runs against JPA projects with the EclispeLink platform....
-	 */
-	/* CU private */ static class EclipseLinkMessage
-		extends Message
-	{
-		EclipseLinkMessage(String bundleName, int severity, String id, String[] params, Object target) {
-			super(bundleName, severity, id, params, target);
-		}
-
-		@Override
-		public ResourceBundle getBundle(Locale locale, ClassLoader classLoader) {
-			try {
-				return super.getBundle(locale, this.getClass().getClassLoader());
-			} catch (MissingResourceException ex) {
-				return super.getBundle(locale, classLoader);
-			}
-		}
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessages.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessages.java
deleted file mode 100644
index f89b115..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.internal.validation;
-
-@SuppressWarnings("nls")
-public interface ELJaxbValidationMessages {
-	
-	// bundle name
-	String BUNDLE_NAME = "el_jaxb_validation";
-	
-	
-	// validation on project
-	String PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY = "PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY";
-	
-	
-	String XML_PATH__ROOT_NOT_SUPPORTED = "XML_PATH__ROOT_NOT_SUPPORTED";
-	String XML_PATH__INVALID_FORM_ILLEGAL_SEGMENT = "XML_PATH__INVALID_FORM_ILLEGAL_SEGMENT";
-	String XML_PATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT = "XML_PATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT";
-	String XML_PATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT = "XML_PATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT";
-	String XML_PATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT = "XML_PATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT";
-	
-	// used on XmlElements mapping
-	String XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS = "XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS";
-	String XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS = "XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS";
-	
-	String XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED = "XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED";
-	String XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED = "XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED";
-	String XML_INVERSE_REFERENCE__MAPPED_BY_NOT_XML_ELEMENT = "XML_INVERSE_REFERENCE__MAPPED_BY_NOT_XML_ELEMENT";
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/ELJaxb.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/ELJaxb.java
deleted file mode 100644
index de22c61..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/ELJaxb.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.resource.java;
-
-/**
- * EclipseLink JAXB Java-related stuff (annotations etc.)
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-@SuppressWarnings("nls")
-public interface ELJaxb {
-	
-	// EclipseLink annotations package
-	
-	String PACKAGE = "org.eclipse.persistence.oxm.annotations";
-	String PACKAGE_ = PACKAGE + '.';
-	
-	
-	// Annotations
-	
-	String XML_INVERSE_REFERENCE = PACKAGE_ + "XmlInverseReference";
-		String XML_INVERSE_REFERENCE__MAPPED_BY = "mappedBy";
-	
-	String XML_PATH = PACKAGE_ + "XmlPath";
-		String XML_PATH__VALUE = "value";
-	
-	String XML_PATHS = PACKAGE_ + "XmlPaths";
-	
-	String XML_TRANSFORMATION = PACKAGE_ + "XmlTransformation";
-		String XML_TRANSFORMATION__OPTIONAL = "optional";
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlInverseReferenceAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlInverseReferenceAnnotation.java
deleted file mode 100644
index b7b7a07..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlInverseReferenceAnnotation.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.utility.TextRange;
-
-/**
- * Corresponds to the EclipseLink annotation
- * org.eclipse.persistence.oxm.annotations.XmlInverseReference
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.2
- * @since 3.0
- */
-public interface XmlInverseReferenceAnnotation
-		extends Annotation {
-	
-	/**
-	 * String associated with change events to the 'mappedBy' property
-	 */
-	String MAPPED_BY_PROPERTY = "mappedBy"; //$NON-NLS-1$
-	
-	/**
-	 * Corresponds to the 'mappedBy' element of the XmlInverseReference annotation.
-	 * Return null if the element does not exist in Java.
-	 */
-	String getMappedBy();
-	
-	/**
-	 * Corresponds to the 'mappedBy' element of the XmlInverseReference annotation.
-	 * Set to null to remove the element.
-	 */
-	void setMappedBy(String mappedBy);
-	
-	/**
-	 * Return the text range associated with the 'mappedBy' element.
-	 * Return the text range of this annotation if the element is absent.
-	 */
-	TextRange getMappedByTextRange(CompilationUnit astRoot);
-	
-	/**
-	 * Return whether the specified text position is within the 'mappedBy' element.
-	 */
-	boolean mappedByTouches(int pos, CompilationUnit astRoot);
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlPathAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlPathAnnotation.java
deleted file mode 100644
index 5a6908a..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlPathAnnotation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.core.utility.TextRange;
-
-/**
- * Corresponds to the EclipseLink annotation
- * org.eclipse.persistence.oxm.annotations.XmlPath
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.2
- * @since 3.2
- */
-public interface XmlPathAnnotation
-		extends NestableAnnotation {
-	
-	/**
-	 * String associated with change events to the 'value' property
-	 */
-	String VALUE_PROPERTY = "value"; //$NON-NLS-1$
-	
-	/**
-	 * Corresponds to the 'value' element of the annotation.
-	 * Return null if the element does not exist in Java (the annotation is a marker annotation.)
-	 */
-	String getValue();
-	
-	/**
-	 * Corresponds to the 'value' element of the annotation.
-	 * Set to null to remove the element (to make it a marker annotation.)
-	 */
-	void setValue(String value);
-	
-	/**
-	 * Return the text range associated with the 'value' element.
-	 * Return the text range of this annotation if the element is absent.
-	 */
-	TextRange getValueTextRange(CompilationUnit astRoot);
-	
-	/**
-	 * Return whether the specified text position is within the 'value' element.
-	 */
-	boolean valueTouches(int pos, CompilationUnit astRoot);
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlTransformationAnnotation.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlTransformationAnnotation.java
deleted file mode 100644
index df70717..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/resource/java/XmlTransformationAnnotation.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.utility.TextRange;
-
-/**
- * Corresponds to the EclipseLink annotation
- * org.eclipse.persistence.oxm.annotations.XmlTransformation
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @version 3.0
- * @since 3.0
- */
-public interface XmlTransformationAnnotation
-		extends Annotation {
-	
-	/**
-	 * String associated with change events to the 'optional' property
-	 */
-	String OPTIONAL_PROPERTY = "optional"; //$NON-NLS-1$
-	
-	/**
-	 * Corresponds to the 'optional' element of the XmlTransformation annotation.
-	 * Return null if the element does not exist in Java.
-	 */
-	Boolean getOptional();
-	
-	/**
-	 * Corresponds to the 'optional' element of the XmlTransformation annotation.
-	 * Set to null to remove the element.
-	 */
-	void setOptional(Boolean optional);
-	
-	/**
-	 * Return the text range associated with the 'optional' element.
-	 * Return the text range of this annotation if the element is absent.
-	 */
-	TextRange getOptionalTextRange(CompilationUnit astRoot);
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.classpath b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.classpath
deleted file mode 100644
index 783ee1e..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jaxb/ui/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/ui/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.cvsignore b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.project b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.project
deleted file mode 100644
index d5a24d6..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.eclipselink.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.settings/org.eclipse.jdt.core.prefs b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ca38fa9..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:08:04 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index cd35f33..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jaxb.eclipselink.ui;singleton:=true
-Bundle-Version: 1.2.0.qualifier
-Bundle-Activator: org.eclipse.jpt.jaxb.eclipselink.ui.JptJaxbEclipseLinkUiPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.ui;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jaxb.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.jaxb.eclipselink.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.jaxb.ui;bundle-version="[1.1.0,2.0.0)",
- org.eclipse.swt;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)"
-Export-Package: org.eclipse.jpt.jaxb.eclipselink.ui,
- org.eclipse.jpt.jaxb.eclipselink.ui.internal;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_1;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_2;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_3;x-internal:=true,
- org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_4;x-internal:=true
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/about.html b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/build.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/build.properties
deleted file mode 100644
index 08bc038..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               icons/,\
-               plugin.xml,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/icons/full/obj16/xml-inverse-reference.gif b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/icons/full/obj16/xml-inverse-reference.gif
deleted file mode 100644
index ce55b84..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/icons/full/obj16/xml-inverse-reference.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/icons/full/obj16/xml-transformation.gif b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/icons/full/obj16/xml-transformation.gif
deleted file mode 100644
index fecf9e5..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/icons/full/obj16/xml-transformation.gif
+++ /dev/null
Binary files differ
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/plugin.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/plugin.properties
deleted file mode 100644
index 0720b7b..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-pluginName= Dali Java Persistence Tools - EclipseLink MOXy Support - UI
-providerName=Eclipse Web Tools Platform
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/plugin.xml b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/plugin.xml
deleted file mode 100644
index 012d4a4..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/plugin.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<!--
-  Copyright (c) 2007, 2011 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:
-    Oracle - initial API and implementation
- -->
-
-<plugin>
-	
-	<extension
-		point="org.eclipse.jpt.jaxb.ui.jaxbPlatformUis">
-		
-		<jaxbPlatformUi
-			id="eclipselink_2_1.ui"
-			jaxbPlatform="eclipselink_2_1"
-			class="org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_1.ELJaxb_2_1_PlatformUi"/>
-		
-		<jaxbPlatformUi
-			id="eclipselink_2_2.ui"
-			jaxbPlatform="eclipselink_2_2"
-			class="org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_2.ELJaxb_2_2_PlatformUi"/>
-		
-		<jaxbPlatformUi
-			id="eclipselink_2_3.ui"
-			jaxbPlatform="eclipselink_2_3"
-			class="org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_3.ELJaxb_2_3_PlatformUi"/>
-		
-		<jaxbPlatformUi
-			id="eclipselink_2_4.ui"
-			jaxbPlatform="eclipselink_2_4"
-			class="org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_4.ELJaxb_2_4_PlatformUi"/>
-		
-	</extension>
-	
-</plugin>
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/Activator.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/Activator.java
deleted file mode 100644
index 39e8158..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/Activator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.ui;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	private static BundleContext context;
-
-	static BundleContext getContext() {
-		return context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext bundleContext) throws Exception {
-		Activator.context = bundleContext;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext bundleContext) throws Exception {
-		Activator.context = null;
-	}
-
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/JptJaxbEclipseLinkUiPlugin.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/JptJaxbEclipseLinkUiPlugin.java
deleted file mode 100644
index 23b5d76..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/JptJaxbEclipseLinkUiPlugin.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The activator class controls the plug-in life cycle
- * 
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-@SuppressWarnings("nls")
-public class JptJaxbEclipseLinkUiPlugin
-		extends AbstractUIPlugin {
-	
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.jpt.jaxb.eclipselink.ui";
-	
-	
-	// ********** singleton **********
-	
-	private static JptJaxbEclipseLinkUiPlugin INSTANCE;
-	
-	/**
-	 * Returns the singleton Plugin
-	 */
-	public static JptJaxbEclipseLinkUiPlugin instance() {
-		return INSTANCE;
-	}
-	
-	
-	// ********** error logging **********
-	
-	public static void log(IStatus status) {
-        INSTANCE.getLog().log(status);
-    }
-	
-	public static void log(String msg) {
-        log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null));
-    }
-	
-	public static void log(Throwable throwable) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, throwable.getLocalizedMessage(), throwable));
-	}
-	
-	
-	// ********** Image API **********
-	
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (! key.startsWith("icons/")) {
-			key = "icons/" + key;
-		}
-		if (! key.endsWith(".gif")) {
-			key = key + ".gif";
-		}
-		return imageDescriptorFromPlugin(PLUGIN_ID, key);
-	}
-
-	/**
-	 * This returns an image for a .gif from the icons folder
-	 */
-	//TODO we are using the ImageRegistry here and storing all our icons for the life of the plugin, 
-	//which means until the workspace is closed.  This is better than before where we constantly 
-	//created new images. Bug 306437 is about cleaning this up and using Local Resource Managers 
-	//on our views so that closing the JPA perspective would mean our icons are disposed.
-	public static Image getImage(String key) {
-		ImageRegistry imageRegistry = instance().getImageRegistry();
-		Image image = imageRegistry.get(key);
-		if (image == null) {
-			imageRegistry.put(key, getImageDescriptor(key));
-			image = imageRegistry.get(key);
-		}
-		return image;
-	}
-	
-	
-	// ********** constructors **********
-	
-	public JptJaxbEclipseLinkUiPlugin() {
-		super();
-		if (INSTANCE != null) {
-			throw new IllegalStateException();
-		}
-		INSTANCE = this;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbMappingImageHelper.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbMappingImageHelper.java
deleted file mode 100644
index 91fa343..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbMappingImageHelper.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal;
-
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbMappingKeys;
-import org.eclipse.jpt.jaxb.eclipselink.ui.JptJaxbEclipseLinkUiPlugin;
-import org.eclipse.jpt.jaxb.ui.internal.JaxbMappingImageHelper;
-import org.eclipse.swt.graphics.Image;
-
-
-public class ELJaxbMappingImageHelper {
-	
-	public static Image imageForAttributeMapping(String mappingKey) {
-		String iconKey = iconKeyForAttributeMapping(mappingKey);
-		return (iconKey == null) ? 
-				JaxbMappingImageHelper.imageForAttributeMapping(mappingKey) 
-				: JptJaxbEclipseLinkUiPlugin.getImage(iconKey);
-	}
-	
-	public static String iconKeyForAttributeMapping(String mappingKey) {
-		if (ELJaxbMappingKeys.XML_INVERSE_REFERENCE_ATTRIBUTE_MAPPING_KEY == mappingKey) {
-			return JptJaxbEclipseLinkUiIcons.XML_INVERSE_REFERENCE;
-		}
-		else if (ELJaxbMappingKeys.XML_TRANSFORMATION_ATTRIBUTE_MAPPING_KEY.equals(mappingKey)) {
-			return JptJaxbEclipseLinkUiIcons.XML_TRANSFORMATION;
-		}
-		
-		return null;
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbNavigatorItemLabelProviderFactory.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbNavigatorItemLabelProviderFactory.java
deleted file mode 100644
index 52d9500..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbNavigatorItemLabelProviderFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal;
-
-import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProvider;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.ui.internal.jaxb21.GenericJaxb_2_1_NavigatorItemLabelProviderFactory;
-
-
-public class ELJaxbNavigatorItemLabelProviderFactory
-		extends GenericJaxb_2_1_NavigatorItemLabelProviderFactory {
-	
-	private static ELJaxbNavigatorItemLabelProviderFactory INSTANCE = new ELJaxbNavigatorItemLabelProviderFactory();
-	
-	
-	public static GenericJaxb_2_1_NavigatorItemLabelProviderFactory instance() {
-		return INSTANCE;
-	}
-	
-	
-	private ELJaxbNavigatorItemLabelProviderFactory() {
-		super();
-	}
-	
-	
-	@Override
-	public ItemExtendedLabelProvider buildProvider(Object item, ItemExtendedLabelProvider.Manager manager) {
-		
-		if (item instanceof JaxbPersistentAttribute) {
-			return new ELJaxbPersistentAttributeItemLabelProvider((JaxbPersistentAttribute) item, manager);
-		}
-		
-		return super.buildProvider(item, manager);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbNavigatorUi.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbNavigatorUi.java
deleted file mode 100644
index 86a9cfa..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbNavigatorUi.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal;
-
-import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProviderFactory;
-import org.eclipse.jpt.jaxb.ui.internal.jaxb21.GenericJaxb_2_1_NavigatorUi;
-
-
-public class ELJaxbNavigatorUi
-		extends GenericJaxb_2_1_NavigatorUi {
-	
-	private static ELJaxbNavigatorUi INSTANCE = new ELJaxbNavigatorUi();
-	
-	
-	public static ELJaxbNavigatorUi instance() {
-		return INSTANCE;
-	}
-	
-	
-	private ELJaxbNavigatorUi() {
-		super();
-	}
-	
-	
-	@Override
-	public ItemExtendedLabelProviderFactory getItemLabelProviderFactory() {
-		return ELJaxbNavigatorItemLabelProviderFactory.instance();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbPersistentAttributeItemLabelProvider.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbPersistentAttributeItemLabelProvider.java
deleted file mode 100644
index ea3b47b..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/ELJaxbPersistentAttributeItemLabelProvider.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal;
-
-import org.eclipse.jpt.common.ui.jface.ItemLabelProvider;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.ui.internal.jaxb21.JaxbPersistentAttributeItemLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-
-public class ELJaxbPersistentAttributeItemLabelProvider
-	extends JaxbPersistentAttributeItemLabelProvider
-{
-	public ELJaxbPersistentAttributeItemLabelProvider(JaxbPersistentAttribute attribute, ItemLabelProvider.Manager manager) {
-		super(attribute, manager);
-	}
-	
-	
-	@Override
-	protected Image buildImage(String mappingKey) {
-		return ELJaxbMappingImageHelper.imageForAttributeMapping(mappingKey);
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/JptJaxbEclipseLinkUiIcons.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/JptJaxbEclipseLinkUiIcons.java
deleted file mode 100644
index 1483338..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/JptJaxbEclipseLinkUiIcons.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal;
-
-
-public class JptJaxbEclipseLinkUiIcons {
-	
-	public static final String XML_INVERSE_REFERENCE = "full/obj16/xml-inverse-reference";
-	public static final String XML_TRANSFORMATION = "full/obj16/xml-transformation";
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_1/ELJaxb_2_1_PlatformUi.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_1/ELJaxb_2_1_PlatformUi.java
deleted file mode 100644
index cdaa30c..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_1/ELJaxb_2_1_PlatformUi.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_1;
-
-import org.eclipse.jpt.jaxb.ui.internal.jaxb21.GenericJaxb_2_1_NavigatorUi;
-import org.eclipse.jpt.jaxb.ui.navigator.JaxbNavigatorUi;
-import org.eclipse.jpt.jaxb.ui.platform.JaxbPlatformUi;
-
-
-public class ELJaxb_2_1_PlatformUi
-		implements JaxbPlatformUi {
-	
-	public JaxbNavigatorUi getNavigatorUi() {
-		return GenericJaxb_2_1_NavigatorUi.instance();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_2/ELJaxb_2_2_PlatformUi.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_2/ELJaxb_2_2_PlatformUi.java
deleted file mode 100644
index 2737982..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_2/ELJaxb_2_2_PlatformUi.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_2;
-
-import org.eclipse.jpt.jaxb.eclipselink.ui.internal.ELJaxbNavigatorUi;
-import org.eclipse.jpt.jaxb.ui.navigator.JaxbNavigatorUi;
-import org.eclipse.jpt.jaxb.ui.platform.JaxbPlatformUi;
-
-
-public class ELJaxb_2_2_PlatformUi
-		implements JaxbPlatformUi {
-	
-	public JaxbNavigatorUi getNavigatorUi() {
-		return ELJaxbNavigatorUi.instance();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_3/ELJaxb_2_3_PlatformUi.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_3/ELJaxb_2_3_PlatformUi.java
deleted file mode 100644
index dbc9c4f..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_3/ELJaxb_2_3_PlatformUi.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_3;
-
-import org.eclipse.jpt.jaxb.eclipselink.ui.internal.ELJaxbNavigatorUi;
-import org.eclipse.jpt.jaxb.ui.navigator.JaxbNavigatorUi;
-import org.eclipse.jpt.jaxb.ui.platform.JaxbPlatformUi;
-
-
-public class ELJaxb_2_3_PlatformUi
-		implements JaxbPlatformUi {
-	
-	public JaxbNavigatorUi getNavigatorUi() {
-		return ELJaxbNavigatorUi.instance();
-	}
-}
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_4/ELJaxb_2_4_PlatformUi.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_4/ELJaxb_2_4_PlatformUi.java
deleted file mode 100644
index 62cb7ff..0000000
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui/src/org/eclipse/jpt/jaxb/eclipselink/ui/internal/v2_4/ELJaxb_2_4_PlatformUi.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.ui.internal.v2_4;
-
-import org.eclipse.jpt.jaxb.eclipselink.ui.internal.ELJaxbNavigatorUi;
-import org.eclipse.jpt.jaxb.ui.navigator.JaxbNavigatorUi;
-import org.eclipse.jpt.jaxb.ui.platform.JaxbPlatformUi;
-
-
-public class ELJaxb_2_4_PlatformUi
-		implements JaxbPlatformUi {
-	
-	public JaxbNavigatorUi getNavigatorUi() {
-		return ELJaxbNavigatorUi.instance();
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.classpath b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.classpath
deleted file mode 100644
index f8b7c93..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.classpath
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/core/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jaxb/core/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jaxb/eclipselink/core/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.cvsignore b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.project b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.project
deleted file mode 100644
index 71513f6..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.eclipselink.core.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.settings/org.eclipse.jdt.core.prefs b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ee129ed..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu May 05 17:25:11 EDT 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/META-INF/MANIFEST.MF b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index fd20bb1..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jaxb.eclipselink.core.tests;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Dali-Comment: jdk 1.6 has the javax.xml.bind annotations
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Activator: org.eclipse.jpt.jaxb.eclipselink.core.tests.JptJaxbEclipseLinkCoreTestsPlugin
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.core.tests;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jaxb.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.jaxb.core.tests;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.jaxb.eclipselink.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.4.200,2.0.0)",
- org.junit;bundle-version="3.8.0"
-Export-Package: org.eclipse.jpt.jaxb.eclipselink.core.tests,
- org.eclipse.jpt.jaxb.eclipselink.core.tests.internal,
- org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource,
- org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.java
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/about.html b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/build.properties b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/build.properties
deleted file mode 100644
index 9cd29bc..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               test.xml,\
-               plugin.properties
-source.. = src/
-output.. = bin/
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/plugin.properties b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/plugin.properties
deleted file mode 100644
index 8861cc4..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName=Dali Java Persistence Tools - EclipseLink JAXB Core Tests
-providerName=Eclipse Web Tools Platform
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/JptJaxbEclipseLinkCoreTestsPlugin.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/JptJaxbEclipseLinkCoreTestsPlugin.java
deleted file mode 100644
index 0c35938..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/JptJaxbEclipseLinkCoreTestsPlugin.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-import org.eclipse.jpt.jaxb.core.JaxbProjectManager;
-import org.eclipse.jpt.jaxb.core.JptJaxbCorePlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * configure the core to handle events synchronously when we are
- * running tests
- */
-@SuppressWarnings("nls")
-public class JptJaxbEclipseLinkCoreTestsPlugin
-		extends Plugin {
-	
-	private static JptJaxbEclipseLinkCoreTestsPlugin INSTANCE;
-	
-	
-	public static JptJaxbEclipseLinkCoreTestsPlugin instance() {
-		return INSTANCE;
-	}
-	
-		
-	// ********** plug-in implementation **********
-	
-	public JptJaxbEclipseLinkCoreTestsPlugin() {
-		super();
-		if (INSTANCE != null) {
-			throw new IllegalStateException();
-		}
-		// this convention is *wack*...  ~bjv
-		INSTANCE = this;
-	}
-	
-	
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		JaxbProjectManager jaxbProjectManager = JptJaxbCorePlugin.getProjectManager();
-		ReflectionTools.executeMethod(jaxbProjectManager, "handleEventsSynchronously");
-		ReflectionTools.executeStaticMethod(JptJaxbCorePlugin.class, "doNotFlushPreferences");
-	}
-	
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/ELJaxbCoreTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/ELJaxbCoreTests.java
deleted file mode 100644
index 233d80c..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/ELJaxbCoreTests.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal;
-
-import java.io.File;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jpt.jaxb.core.tests.internal.projects.TestJaxbProject;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbCoreContextModelTests;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.ELJaxbCoreResourceModelTests;
-
-
-public class ELJaxbCoreTests {
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ELJaxbCoreTests.class.getPackage().getName());
-		suite.addTest(ELJaxbCoreResourceModelTests.suite());
-		suite.addTest(ELJaxbCoreContextModelTests.suite());
-		return suite;
-	}
-	
-	public static boolean requiredJarsExists() {
-		return jaxbJarPropertyExists() 
-			&& jaxbJarFileExists()
-			&& eclipselinkJarPropertyExists() 
-			&& eclipselinkJarFileExists();
-	}
-	
-	public static boolean jaxbJarPropertyExists() {
-		return getSystemProperty(TestJaxbProject.JAXB_JAR_NAME_SYSTEM_PROPERTY) != null;
-	}
-	
-	public static boolean jaxbJarFileExists() {
-		return (new File(getSystemProperty(TestJaxbProject.JAXB_JAR_NAME_SYSTEM_PROPERTY))).exists();
-	}
-	
-	public static boolean eclipselinkJarPropertyExists() {
-		return getSystemProperty(TestJaxbProject.ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY) != null;
-	}
-	
-	public static boolean eclipselinkJarFileExists() {
-		return (new File(getSystemProperty(TestJaxbProject.ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY))).exists();
-	}
-	
-	public static String buildMissingJarErrorMessage() {
-		if( ! jaxbJarPropertyExists()) {
-			return errorMissingProperty(TestJaxbProject.JAXB_JAR_NAME_SYSTEM_PROPERTY);
-		}
-		else if( ! jaxbJarFileExists()) {
-			return errorJarFileDoesNotExist(getSystemProperty(TestJaxbProject.JAXB_JAR_NAME_SYSTEM_PROPERTY));
-		}
-		else if( ! eclipselinkJarPropertyExists()) {
-			return errorMissingProperty(TestJaxbProject.ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY);
-		}
-		return errorJarFileDoesNotExist(getSystemProperty(TestJaxbProject.ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY));
-	}
-	
-	/*********** private **********/
-	private static String errorMissingProperty(String propertyName) {
-		return "missing Java system property: \"" + propertyName + "\"";
-	}
-	
-	private static String errorJarFileDoesNotExist(String propertyValue) {
-		return "JAR file doesn't exist: \"" + propertyValue + "\"";
-	}
-	
-	private static String getSystemProperty(String propertyName) {
-		return System.getProperty(propertyName);
-	}
-	
-	
-	private ELJaxbCoreTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbContextModelTestCase.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbContextModelTestCase.java
deleted file mode 100644
index 4bb947c..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbContextModelTestCase.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context;
-
-import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformDescription;
-import org.eclipse.jpt.jaxb.core.tests.internal.context.JaxbContextModelTestCase;
-import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbPlatform;
-
-
-public abstract class ELJaxbContextModelTestCase
-		extends JaxbContextModelTestCase {
-	
-	public ELJaxbContextModelTestCase(String name) {
-		super(name);
-	}
-	
-	
-	@Override
-	protected JaxbPlatformDescription getPlatform() {
-		return ELJaxbPlatform.getDefaultPlatform(getProjectFacetVersion());
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbCoreContextModelTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbCoreContextModelTests.java
deleted file mode 100644
index 1eacaf9..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbCoreContextModelTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.ELJaxbCoreTests;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java.ELJaxbCoreJavaContextModelTests;
-
-
-public class ELJaxbCoreContextModelTests extends TestCase
-{
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ELJaxbCoreContextModelTests.class.getName());
-		
-		if (ELJaxbCoreTests.requiredJarsExists()) {
-//			suite.addTestSuite(GenericContextRootTests.class);
-			suite.addTest(ELJaxbCoreJavaContextModelTests.suite());
-		}
-		else {
-			suite.addTest(TestSuite.warning(ELJaxbCoreTests.buildMissingJarErrorMessage()));
-		}
-		return suite;
-	}
-
-	private ELJaxbCoreContextModelTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAnyAttributeMappingTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAnyAttributeMappingTests.java
deleted file mode 100644
index 3e98fb4..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAnyAttributeMappingTests.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.core.context.JaxbClass;
-import org.eclipse.jpt.jaxb.core.context.JaxbClassMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAnyAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbContextModelTestCase;
-
-
-public class ELJavaXmlAnyAttributeMappingTests
-		extends ELJaxbContextModelTestCase {
-	
-	public ELJavaXmlAnyAttributeMappingTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTypeWithXmlAnyAttribute() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, JAXB.XML_ANY_ATTRIBUTE);
-			}
-			
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlAnyAttribute");
-			}
-		});
-	}
-	
-	
-	public void testModifyXmlPath() throws Exception {
-		createTypeWithXmlAnyAttribute();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlAnyAttributeMapping mapping = (ELJavaXmlAnyAttributeMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-		
-		mapping.addXmlPath();
-		
-		assertEquals(1, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNotNull(mapping.getXmlPath());
-		
-		mapping.removeXmlPath();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-	}
-	
-	public void testUpdateXmlPath() throws Exception {
-		createTypeWithXmlAnyAttribute();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlAnyAttributeMapping mapping = (ELJavaXmlAnyAttributeMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-		
-		AnnotatedElement annotatedElement = this.annotatedElement(resourceAttribute);
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAnyAttributeMappingTests.this.addMarkerAnnotation(
-						declaration.getDeclaration(), ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertEquals(1, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNotNull(mapping.getXmlPath());
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAnyAttributeMappingTests.this.removeAnnotation(declaration, ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAnyElementMappingTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAnyElementMappingTests.java
deleted file mode 100644
index c1105b1..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAnyElementMappingTests.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.core.context.JaxbClass;
-import org.eclipse.jpt.jaxb.core.context.JaxbClassMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAnyElementMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbContextModelTestCase;
-
-
-public class ELJavaXmlAnyElementMappingTests
-		extends ELJaxbContextModelTestCase {
-	
-	public ELJavaXmlAnyElementMappingTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTypeWithXmlAnyElement() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, JAXB.XML_ANY_ELEMENT);
-			}
-			
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlAnyElement");
-			}
-		});
-	}
-	
-	
-	public void testModifyXmlPath() throws Exception {
-		createTypeWithXmlAnyElement();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlAnyElementMapping mapping = (ELJavaXmlAnyElementMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-		
-		mapping.addXmlPath();
-		
-		assertEquals(1, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNotNull(mapping.getXmlPath());
-		
-		mapping.removeXmlPath();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-	}
-	
-	public void testUpdateXmlPath() throws Exception {
-		createTypeWithXmlAnyElement();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlAnyElementMapping mapping = (ELJavaXmlAnyElementMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-		
-		AnnotatedElement annotatedElement = this.annotatedElement(resourceAttribute);
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAnyElementMappingTests.this.addMarkerAnnotation(
-						declaration.getDeclaration(), ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertEquals(1, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNotNull(mapping.getXmlPath());
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAnyElementMappingTests.this.removeAnnotation(declaration, ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAttributeMappingTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAttributeMappingTests.java
deleted file mode 100644
index 92bf535..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlAttributeMappingTests.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.core.MappingKeys;
-import org.eclipse.jpt.jaxb.core.context.JaxbClass;
-import org.eclipse.jpt.jaxb.core.context.JaxbClassMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlAttributeMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbContextModelTestCase;
-
-
-public class ELJavaXmlAttributeMappingTests
-		extends ELJaxbContextModelTestCase {
-	
-	public ELJavaXmlAttributeMappingTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTypeWithXmlAttribute() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, JAXB.XML_ATTRIBUTE);
-			}
-			
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlAttribute");
-			}
-		});
-	}
-	
-	private ICompilationUnit createTypeWithXmlPath() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, ELJaxb.XML_PATH);
-			}
-			
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlPath");
-			}
-		});
-	}
-	
-	
-	public void testModifyXmlPath() throws Exception {
-		createTypeWithXmlAttribute();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlAttributeMapping mapping = (ELJavaXmlAttributeMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-		
-		mapping.addXmlPath();
-		
-		assertEquals(1, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNotNull(mapping.getXmlPath());
-		
-		mapping.removeXmlPath();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-	}
-	
-	public void testUpdateXmlPath() throws Exception {
-		createTypeWithXmlAttribute();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlAttributeMapping mapping = (ELJavaXmlAttributeMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-		
-		AnnotatedElement annotatedElement = this.annotatedElement(resourceAttribute);
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAttributeMappingTests.this.addMarkerAnnotation(
-						declaration.getDeclaration(), ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertEquals(1, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNotNull(mapping.getXmlPath());
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAttributeMappingTests.this.removeAnnotation(declaration, ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-	}
-	
-	public void testDefault() throws Exception {
-		createTypeWithXmlPath();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		JavaResourceAttribute resourceAttribute = persistentAttribute.getJavaResourceAttribute();
-		XmlPathAnnotation xmlPathAnnotation = (XmlPathAnnotation) resourceAttribute.getAnnotation(0, ELJaxb.XML_PATH);
-		
-		assertNotNull(xmlPathAnnotation);
-		assertFalse(persistentAttribute.getMapping().getKey() == MappingKeys.XML_ATTRIBUTE_ATTRIBUTE_MAPPING_KEY);
-		
-		AnnotatedElement annotatedElement = this.annotatedElement(resourceAttribute);
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAttributeMappingTests.this.setMemberValuePair(
-						declaration, ELJaxb.XML_PATH, "./element[@name=\"foo\"]/element[1]/text()");
-			}
-		});
-		
-		assertNotNull(xmlPathAnnotation.getValue());
-		assertFalse(persistentAttribute.getMapping().getKey() == MappingKeys.XML_ATTRIBUTE_ATTRIBUTE_MAPPING_KEY);
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAttributeMappingTests.this.setMemberValuePair(
-						declaration, ELJaxb.XML_PATH, "element/@attribute");
-			}
-		});
-		
-		assertNotNull(xmlPathAnnotation.getValue());
-		assertTrue(persistentAttribute.getMapping().getKey() == MappingKeys.XML_ATTRIBUTE_ATTRIBUTE_MAPPING_KEY);
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlAttributeMappingTests.this.removeMemberValuePair(
-						declaration, ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertNull(xmlPathAnnotation.getValue());
-		assertFalse(persistentAttribute.getMapping().getKey() == MappingKeys.XML_ATTRIBUTE_ATTRIBUTE_MAPPING_KEY);
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlElementMappingTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlElementMappingTests.java
deleted file mode 100644
index a70cb9a..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlElementMappingTests.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2012  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.core.MappingKeys;
-import org.eclipse.jpt.jaxb.core.context.JaxbClass;
-import org.eclipse.jpt.jaxb.core.context.JaxbClassMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlElementMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbContextModelTestCase;
-
-
-public class ELJavaXmlElementMappingTests
-		extends ELJaxbContextModelTestCase {
-	
-	public ELJavaXmlElementMappingTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTypeWithXmlElement() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, JAXB.XML_ELEMENT);
-			}
-			
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlElement");
-			}
-		});
-	}
-	
-	private ICompilationUnit createTypeWithXmlPath() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, ELJaxb.XML_PATH);
-			}
-			
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlPath");
-			}
-		});
-	}
-	
-	
-	public void testModifyXmlPath() throws Exception {
-		createTypeWithXmlElement();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlElementMapping mapping = (ELJavaXmlElementMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-		
-		mapping.addXmlPath();
-		
-		assertEquals(1, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNotNull(mapping.getXmlPath());
-		
-		mapping.removeXmlPath();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-	}
-
-	public void testUpdateXmlPath() throws Exception {
-		createTypeWithXmlElement();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlElementMapping mapping = (ELJavaXmlElementMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-		
-		AnnotatedElement annotatedElement = this.annotatedElement(resourceAttribute);
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlElementMappingTests.this.addMarkerAnnotation(
-						declaration.getDeclaration(), ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertEquals(1, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNotNull(mapping.getXmlPath());
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlElementMappingTests.this.removeAnnotation(declaration, ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertEquals(0, CollectionTools.size(resourceAttribute.getAnnotations(ELJaxb.XML_PATH)));
-		assertNull(mapping.getXmlPath());
-	}
-	
-	public void testDefault() throws Exception {
-		createTypeWithXmlPath();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		JavaResourceAttribute resourceAttribute = persistentAttribute.getJavaResourceAttribute();
-		XmlPathAnnotation xmlPathAnnotation = (XmlPathAnnotation) resourceAttribute.getAnnotation(0, ELJaxb.XML_PATH);
-		
-		assertNotNull(xmlPathAnnotation);
-		assertTrue(persistentAttribute.getMapping().getKey() == MappingKeys.XML_ELEMENT_ATTRIBUTE_MAPPING_KEY);
-		
-		AnnotatedElement annotatedElement = this.annotatedElement(resourceAttribute);
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlElementMappingTests.this.setMemberValuePair(
-						declaration, ELJaxb.XML_PATH, "element/@attribute");
-			}
-		});
-		
-		assertNotNull(xmlPathAnnotation.getValue());
-		assertFalse(persistentAttribute.getMapping().getKey() == MappingKeys.XML_ELEMENT_ATTRIBUTE_MAPPING_KEY);
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlElementMappingTests.this.setMemberValuePair(
-						declaration, ELJaxb.XML_PATH, "./element[@name=\"foo\"]/element[1]/text()");
-			}
-		});
-		
-		assertNotNull(xmlPathAnnotation.getValue());
-		assertTrue(persistentAttribute.getMapping().getKey() == MappingKeys.XML_ELEMENT_ATTRIBUTE_MAPPING_KEY);
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlElementMappingTests.this.removeMemberValuePair(
-						declaration, ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertNull(xmlPathAnnotation.getValue());
-		assertTrue(persistentAttribute.getMapping().getKey() == MappingKeys.XML_ELEMENT_ATTRIBUTE_MAPPING_KEY);
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlElementsMappingTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlElementsMappingTests.java
deleted file mode 100644
index 8f81a35..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlElementsMappingTests.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterables.SubIterableWrapper;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.core.context.JaxbClass;
-import org.eclipse.jpt.jaxb.core.context.JaxbClassMapping;
-import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlElementsMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbContextModelTestCase;
-
-
-public class ELJavaXmlElementsMappingTests
-		extends ELJaxbContextModelTestCase {
-	
-	public ELJavaXmlElementsMappingTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTypeWithXmlElements() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, JAXB.XML_ELEMENTS);
-			}
-			
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlElements");
-			}
-		});
-	}
-	
-	protected NormalAnnotation newXmlPathAnnotation(AST ast, String value) {
-		NormalAnnotation annotation = newNormalAnnotation(ast, ELJaxb.XML_PATH);
-		addMemberValuePair(annotation, ELJaxb.XML_PATH__VALUE, value);
-		return annotation;
-	}
-	
-	protected void addXmlPath(ModifiedDeclaration declaration, int index, String value) {
-		NormalAnnotation annotation = newXmlPathAnnotation(declaration.getAst(), value);
-		addArrayElement(declaration, ELJaxb.XML_PATHS, index, "value", annotation);		
-	}
-	
-	protected void moveXmlPath(ModifiedDeclaration declaration, int targetIndex, int sourceIndex) {
-		moveArrayElement((NormalAnnotation) declaration.getAnnotationNamed(ELJaxb.XML_PATHS), "value", targetIndex, sourceIndex);
-	}
-	
-	protected void removeXmlPath(ModifiedDeclaration declaration, int index) {
-		removeArrayElement((NormalAnnotation) declaration.getAnnotationNamed(ELJaxb.XML_PATHS), "value", index);
-	}
-	
-	
-	public void testUpdateXmlElements() throws Exception {
-		createTypeWithXmlElements();
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		ELXmlElementsMapping mapping = (ELXmlElementsMapping) CollectionTools.get(classMapping.getAttributes(), 0).getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		Iterable<ELXmlPath> xmlPaths = mapping.getXmlPaths();
-		assertTrue(CollectionTools.isEmpty(xmlPaths));
-		assertEquals(0, mapping.getXmlPathsSize());
-		
-		//add 2 XmlPath annotations
-		AnnotatedElement annotatedElement = annotatedElement(resourceAttribute);
-		annotatedElement.edit(
-				new Member.Editor() {
-					public void edit(ModifiedDeclaration declaration) {
-						ELJavaXmlElementsMappingTests.this.addXmlPath(declaration, 0, "foo");
-						ELJavaXmlElementsMappingTests.this.addXmlPath(declaration, 1, "bar");
-					}
-				});
-		
-		xmlPaths = mapping.getXmlPaths();
-		
-		assertFalse(CollectionTools.isEmpty(xmlPaths));
-		assertEquals(2, mapping.getXmlPathsSize());
-		assertEquals("foo", CollectionTools.get(xmlPaths, 0).getValue());
-		assertEquals("bar", CollectionTools.get(xmlPaths, 1).getValue());
-		
-		// switch XmlPath annotations
-		annotatedElement.edit(
-				new Member.Editor() {
-					public void edit(ModifiedDeclaration declaration) {
-						ELJavaXmlElementsMappingTests.this.moveXmlPath(declaration, 0, 1);
-					}
-				});
-		
-		xmlPaths = mapping.getXmlPaths();
-		
-		assertFalse(CollectionTools.isEmpty(xmlPaths));
-		assertEquals(2, mapping.getXmlPathsSize());
-		assertEquals("bar", CollectionTools.get(xmlPaths, 0).getValue());
-		assertEquals("foo", CollectionTools.get(xmlPaths, 1).getValue());
-		
-		// remove XmlPath annotations
-		annotatedElement.edit(
-				new Member.Editor() {
-					public void edit(ModifiedDeclaration declaration) {
-						ELJavaXmlElementsMappingTests.this.removeXmlPath(declaration, 1);
-						ELJavaXmlElementsMappingTests.this.removeXmlPath(declaration, 0);
-					}
-				});
-		
-		xmlPaths = mapping.getXmlPaths();
-		
-		assertTrue(CollectionTools.isEmpty(xmlPaths));
-		assertEquals(0, mapping.getXmlPathsSize());
-	}
-
-	public void testModifyXmlPaths() throws Exception {
-		createTypeWithXmlElements();
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		ELXmlElementsMapping mapping = (ELXmlElementsMapping) CollectionTools.get(classMapping.getAttributes(), 0).getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		
-		assertEquals(0, resourceAttribute.getAnnotationsSize(ELJaxb.XML_PATH));
-		assertEquals(0, mapping.getXmlPathsSize());
-		
-		mapping.addXmlPath(0).setValue("foo");
-		mapping.addXmlPath(1).setValue("baz");
-		mapping.addXmlPath(1).setValue("bar");
-		
-		Iterable<XmlPathAnnotation> xmlPathAnnotations = 
-				new SubIterableWrapper(resourceAttribute.getAnnotations(ELJaxb.XML_PATH));
-		
-		assertEquals(3, CollectionTools.size(xmlPathAnnotations));
-		assertEquals(3, mapping.getXmlPathsSize());
-		assertEquals("foo", CollectionTools.get(xmlPathAnnotations, 0).getValue());
-		assertEquals("bar", CollectionTools.get(xmlPathAnnotations, 1).getValue());
-		assertEquals("baz", CollectionTools.get(xmlPathAnnotations, 2).getValue());
-		
-		mapping.moveXmlPath(1, 2);
-		
-		xmlPathAnnotations = 
-				new SubIterableWrapper(resourceAttribute.getAnnotations(ELJaxb.XML_PATH));
-		
-		assertEquals(3, CollectionTools.size(xmlPathAnnotations));
-		assertEquals(3, mapping.getXmlPathsSize());
-		assertEquals("foo", CollectionTools.get(xmlPathAnnotations, 0).getValue());
-		assertEquals("baz", CollectionTools.get(xmlPathAnnotations, 1).getValue());
-		assertEquals("bar", CollectionTools.get(xmlPathAnnotations, 2).getValue());
-		
-		mapping.removeXmlPath(2);
-		mapping.removeXmlPath(0);
-		mapping.removeXmlPath(0);
-		
-		xmlPathAnnotations = 
-				new SubIterableWrapper(resourceAttribute.getAnnotations(ELJaxb.XML_PATH));
-		
-		assertEquals(0, CollectionTools.size(xmlPathAnnotations));
-		assertEquals(0, mapping.getXmlPathsSize());
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlInverseReferenceMappingTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlInverseReferenceMappingTests.java
deleted file mode 100644
index ba7710b..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlInverseReferenceMappingTests.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.core.context.JaxbClass;
-import org.eclipse.jpt.jaxb.core.context.JaxbClassMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlInverseReferenceMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlInverseReferenceAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbContextModelTestCase;
-
-
-public class ELJavaXmlInverseReferenceMappingTests
-		extends ELJaxbContextModelTestCase {
-	
-	public ELJavaXmlInverseReferenceMappingTests(String name) {
-		super(name);
-	}
-	
-	private ICompilationUnit createTypeWithXmlInverseReference() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, ELJaxb.XML_INVERSE_REFERENCE);
-			}
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlInverseReference");
-			}
-		});
-	}
-	
-	
-	public void testModifyMappedBy() throws Exception {
-		createTypeWithXmlInverseReference();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlInverseReferenceMapping mapping = (ELJavaXmlInverseReferenceMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		XmlInverseReferenceAnnotation annotation = (XmlInverseReferenceAnnotation) resourceAttribute.getAnnotation(ELJaxb.XML_INVERSE_REFERENCE);
-		
-		assertNull(annotation.getMappedBy());
-		assertNull(mapping.getMappedBy());
-		
-		mapping.setMappedBy("foo");
-		
-		assertEquals("foo", annotation.getMappedBy());
-		assertEquals("foo", mapping.getMappedBy());
-		
-		mapping.setMappedBy(null);
-		
-		assertNull(annotation.getMappedBy());
-		assertNull(mapping.getMappedBy());
-	}
-
-	public void testUpdateMappedBy() throws Exception {
-		createTypeWithXmlInverseReference();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlInverseReferenceMapping mapping = (ELJavaXmlInverseReferenceMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		XmlInverseReferenceAnnotation annotation = (XmlInverseReferenceAnnotation) resourceAttribute.getAnnotation(ELJaxb.XML_INVERSE_REFERENCE);
-		
-		assertNull(annotation.getMappedBy());
-		assertNull(mapping.getMappedBy());
-		
-		AnnotatedElement annotatedElement = this.annotatedElement(resourceAttribute);
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlInverseReferenceMappingTests.this.addMemberValuePair(
-						(MarkerAnnotation) declaration.getAnnotationNamed(ELJaxb.XML_INVERSE_REFERENCE),
-						ELJaxb.XML_INVERSE_REFERENCE__MAPPED_BY, "foo");
-			}
-		});
-		
-		assertEquals("foo", annotation.getMappedBy());
-		assertEquals("foo", mapping.getMappedBy());
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				NormalAnnotation annotation = (NormalAnnotation) declaration.getAnnotationNamed(ELJaxb.XML_INVERSE_REFERENCE);
-				ELJavaXmlInverseReferenceMappingTests.this.values(annotation).remove(0);
-			}
-		});
-		
-		assertNull(annotation.getMappedBy());
-		assertNull(mapping.getMappedBy());
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlPathTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlPathTests.java
deleted file mode 100644
index 2f58cb9..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJavaXmlPathTests.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
-import org.eclipse.jpt.common.core.utility.jdt.Member;
-import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.core.context.JaxbClass;
-import org.eclipse.jpt.jaxb.core.context.JaxbClassMapping;
-import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute;
-import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlElementMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java.ELJavaXmlElementMapping;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbContextModelTestCase;
-
-
-public class ELJavaXmlPathTests
-		extends ELJaxbContextModelTestCase {
-	
-	public ELJavaXmlPathTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTypeWithXmlPath() throws Exception {
-		return this.createTestType(new DefaultAnnotationWriter() {
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(JAXB.XML_TYPE, ELJaxb.XML_PATH);
-			}
-			
-			@Override
-			public void appendTypeAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlType");
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlPath");
-			}
-		});
-	}
-	
-	
-	public void testModifyValue() throws Exception {
-		createTypeWithXmlPath();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELXmlElementMapping mapping = (ELXmlElementMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		ELXmlPath xpath = mapping.getXmlPath();
-		XmlPathAnnotation annotation = (XmlPathAnnotation) resourceAttribute.getAnnotation(0, ELJaxb.XML_PATH);
-		
-		assertNull(annotation.getValue());
-		assertNull(xpath.getValue());
-		
-		xpath.setValue("foo");
-		
-		assertEquals("foo", annotation.getValue());
-		assertEquals("foo", xpath.getValue());
-		
-		xpath.setValue("");
-		
-		assertEquals("", annotation.getValue());
-		assertEquals("", xpath.getValue());
-		
-		xpath.setValue(null);
-		
-		assertNull(annotation.getValue());
-		assertNull(xpath.getValue());
-	}
-
-	public void testUpdateValue() throws Exception {
-		createTypeWithXmlPath();
-		
-		JaxbClass jaxbClass = (JaxbClass) CollectionTools.get(getContextRoot().getTypes(), 0);
-		JaxbClassMapping classMapping = jaxbClass.getMapping();
-		JaxbPersistentAttribute persistentAttribute = CollectionTools.get(classMapping.getAttributes(), 0);
-		ELJavaXmlElementMapping mapping = (ELJavaXmlElementMapping) persistentAttribute.getMapping();
-		JavaResourceAttribute resourceAttribute = mapping.getPersistentAttribute().getJavaResourceAttribute();
-		ELXmlPath xpath = mapping.getXmlPath();
-		XmlPathAnnotation annotation = (XmlPathAnnotation) resourceAttribute.getAnnotation(0, ELJaxb.XML_PATH);
-		
-		assertNull(annotation.getValue());
-		assertNull(xpath.getValue());
-		
-		AnnotatedElement annotatedElement = this.annotatedElement(resourceAttribute);
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlPathTests.this.setMemberValuePair(
-						declaration, ELJaxb.XML_PATH, "foo");
-			}
-		});
-		
-		assertEquals("foo", annotation.getValue());
-		assertEquals("foo", xpath.getValue());
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlPathTests.this.setMemberValuePair(
-						declaration, ELJaxb.XML_PATH, "");
-			}
-		});
-		
-		assertEquals("", annotation.getValue());
-		assertEquals("", xpath.getValue());
-		
-		annotatedElement.edit(new Member.Editor() {
-			public void edit(ModifiedDeclaration declaration) {
-				ELJavaXmlPathTests.this.removeMemberValuePair(
-						declaration, ELJaxb.XML_PATH);
-			}
-		});
-		
-		assertNull(annotation.getValue());
-		assertNull(xpath.getValue());
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJaxbCoreJavaContextModelTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJaxbCoreJavaContextModelTests.java
deleted file mode 100644
index 22c55f5..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/java/ELJaxbCoreJavaContextModelTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-
-public class ELJaxbCoreJavaContextModelTests
-		extends TestCase {
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ELJaxbCoreJavaContextModelTests.class.getName());
-		suite.addTestSuite(ELJavaXmlAnyAttributeMappingTests.class);
-		suite.addTestSuite(ELJavaXmlAnyElementMappingTests.class);
-		suite.addTestSuite(ELJavaXmlAttributeMappingTests.class);
-		suite.addTestSuite(ELJavaXmlElementMappingTests.class);
-		suite.addTestSuite(ELJavaXmlElementsMappingTests.class);
-		suite.addTestSuite(ELJavaXmlInverseReferenceMappingTests.class);
-		suite.addTestSuite(ELJavaXmlPathTests.class);
-		return suite;
-	}
-	
-	
-	private ELJaxbCoreJavaContextModelTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/ELJaxbCoreResourceModelTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/ELJaxbCoreResourceModelTests.java
deleted file mode 100644
index 12a00c2..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/ELJaxbCoreResourceModelTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.ELJaxbCoreTests;
-import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.java.ELJaxbJavaResourceModelTests;
-
-
-public class ELJaxbCoreResourceModelTests 
-		extends TestCase {
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ELJaxbCoreResourceModelTests.class.getName());
-
-		if (ELJaxbCoreTests.requiredJarsExists()) {
-			suite.addTest(ELJaxbJavaResourceModelTests.suite());
-		}
-		else {
-			suite.addTest(TestSuite.warning(ELJaxbCoreTests.buildMissingJarErrorMessage()));
-		}
-		return suite;
-	}
-	
-	
-	private ELJaxbCoreResourceModelTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/ELJaxbJavaResourceModelTestCase.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/ELJaxbJavaResourceModelTestCase.java
deleted file mode 100644
index 479010c..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/ELJaxbJavaResourceModelTestCase.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.java;
-
-import org.eclipse.jpt.common.core.resource.java.AnnotationDefinition;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotationDefinition;
-import org.eclipse.jpt.common.core.tests.internal.resource.java.JavaResourceModelTestCase;
-import org.eclipse.jpt.jaxb.core.tests.internal.projects.TestJaxbProject;
-import org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_1.ELJaxb_2_1_PlatformDefinition;
-
-
-public class ELJaxbJavaResourceModelTestCase 
-		extends JavaResourceModelTestCase {	
-	
-	public ELJaxbJavaResourceModelTestCase(String name) {
-		super(name);
-	}
-	
-	
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		this.javaProject.addJar(TestJaxbProject.eclipselinkJarName());
-	}
-	
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		// nothing as of yet
-	}
-	
-	@Override
-	protected AnnotationDefinition[] annotationDefinitions() {
-		return ELJaxb_2_1_PlatformDefinition.instance().getAnnotationDefinitions();
-	}
-	
-	@Override
-	protected NestableAnnotationDefinition[] nestableAnnotationDefinitions() {
-		return ELJaxb_2_1_PlatformDefinition.instance().getNestableAnnotationDefinitions();
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/ELJaxbJavaResourceModelTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/ELJaxbJavaResourceModelTests.java
deleted file mode 100644
index dda9d95..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/ELJaxbJavaResourceModelTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.java;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-
-public class ELJaxbJavaResourceModelTests
-		extends TestCase {
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ELJaxbJavaResourceModelTests.class.getName());
-		suite.addTestSuite(XmlInverseReferenceAnnotationTests.class);
-		suite.addTestSuite(XmlPathAnnotationTests.class);
-		suite.addTestSuite(XmlTransformationAnnotationTests.class);
-		
-		return suite;
-	}
-	
-	
-	private ELJaxbJavaResourceModelTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlInverseReferenceAnnotationTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlInverseReferenceAnnotationTests.java
deleted file mode 100644
index 1a404f9..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlInverseReferenceAnnotationTests.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlInverseReferenceAnnotation;
-
-
-public class XmlInverseReferenceAnnotationTests
-		extends ELJaxbJavaResourceModelTestCase {
-	
-	public XmlInverseReferenceAnnotationTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTestXmlInverseReference() 
-			throws Exception {
-		
-		return this.createTestType(new DefaultAnnotationWriter() {
-			
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(ELJaxb.XML_INVERSE_REFERENCE);
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlInverseReference");
-			}
-		});
-	}
-	
-	private ICompilationUnit createTestXmlInverseReferenceWithMappedBy()
-			throws Exception {
-		
-		return this.createTestType(new DefaultAnnotationWriter() {
-			
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(ELJaxb.XML_INVERSE_REFERENCE);
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlInverseReference(mappedBy = \"foo\")");
-			}
-		});
-	}
-	
-	private XmlInverseReferenceAnnotation getXmlInverseReferenceAnnotation(JavaResourceAttribute resourceAttribute) {
-		return (XmlInverseReferenceAnnotation) resourceAttribute.getAnnotation(ELJaxb.XML_INVERSE_REFERENCE);
-	}
-	
-	
-	public void testGetNull() throws Exception {
-		ICompilationUnit cu = createTestXmlInverseReference();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		XmlInverseReferenceAnnotation annotation = getXmlInverseReferenceAnnotation(resourceAttribute);
-		
-		assertTrue(annotation != null);
-		assertNull(annotation.getMappedBy());
-	}
-	
-	public void testGetMappedBy() throws Exception {
-		ICompilationUnit cu = createTestXmlInverseReferenceWithMappedBy();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		XmlInverseReferenceAnnotation annotation = getXmlInverseReferenceAnnotation(resourceAttribute);
-		
-		assertEquals("foo", annotation.getMappedBy());
-	}
-	
-	public void testSetMappedBy() throws Exception {
-		ICompilationUnit cu = createTestXmlInverseReference();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		XmlInverseReferenceAnnotation annotation = getXmlInverseReferenceAnnotation(resourceAttribute);
-		
-		assertNull(annotation.getMappedBy());
-		
-		annotation.setMappedBy("bar");
-		
-		assertEquals("bar", annotation.getMappedBy());
-		assertSourceContains("@XmlInverseReference(mappedBy = \"bar\")", cu);
-		
-		annotation.setMappedBy("");
-		
-		assertEquals("", annotation.getMappedBy());
-		assertSourceContains("@XmlInverseReference(mappedBy = \"\")", cu);
-		
-		annotation.setMappedBy(null);
-		
-		assertNull(annotation.getMappedBy());
-		assertSourceContains("@XmlInverseReference", cu);
-		assertSourceDoesNotContain("mappedBy", cu);
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlPathAnnotationTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlPathAnnotationTests.java
deleted file mode 100644
index f427394..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlPathAnnotationTests.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation;
-
-
-public class XmlPathAnnotationTests
-		extends ELJaxbJavaResourceModelTestCase {
-	
-	public XmlPathAnnotationTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTestXmlPath()
-			throws Exception {
-		
-		return this.createTestType(new DefaultAnnotationWriter() {
-			
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(ELJaxb.XML_PATH);
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlPath");
-			}
-		});
-	}
-	
-	private ICompilationUnit createTestXmlPathWithValue()
-			throws Exception {
-		
-		return this.createTestType(new DefaultAnnotationWriter() {
-			
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(ELJaxb.XML_PATH);
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlPath(\"foo\")");
-			}
-		});
-	}
-	
-	private ICompilationUnit createTestXmlPaths()
-			throws Exception {
-		
-		return this.createTestType(new DefaultAnnotationWriter() {
-			
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(ELJaxb.XML_PATHS, ELJaxb.XML_PATH);
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlPaths({@XmlPath,@XmlPath})");
-			}
-		});
-	}
-	
-	private XmlPathAnnotation getXmlPathAnnotation(JavaResourceAttribute resourceAttribute) {
-		return getXmlPathAnnotation(resourceAttribute, 0);
-	}
-	
-	private XmlPathAnnotation getXmlPathAnnotation(JavaResourceAttribute resourceAttribute, int index) {
-		return (XmlPathAnnotation) resourceAttribute.getAnnotation(index, ELJaxb.XML_PATH);
-	}
-	
-	
-	public void testValue() throws Exception {
-		ICompilationUnit cu = createTestXmlPathWithValue();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		XmlPathAnnotation annotation = getXmlPathAnnotation(resourceAttribute);
-		
-		assertEquals("foo", annotation.getValue());
-		assertSourceContains("@XmlPath(\"foo\")", cu);
-		
-		annotation.setValue("bar");
-		
-		assertEquals("bar", annotation.getValue());
-		assertSourceContains("@XmlPath(\"bar\")", cu);
-		
-		annotation.setValue("");
-		
-		assertEquals("", annotation.getValue());
-		assertSourceContains("@XmlPath(\"\")", cu);
-		
-		annotation.setValue(null);
-		
-		assertNull(annotation.getValue());
-		assertSourceContains("@XmlPath", cu);
-		assertSourceDoesNotContain("@XmlPath(", cu);
-	}
-	
-	public void testContainedValue() throws Exception {
-		// test contained annotation value setting/updating
-		
-		ICompilationUnit cu = createTestXmlPaths();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		XmlPathAnnotation annotation = getXmlPathAnnotation(resourceAttribute);
-		
-		assertNull(annotation.getValue());
-		assertSourceContains(
-				"@XmlPaths({@XmlPath,@XmlPath})", cu);
-		
-		annotation.setValue("foo");
-		assertEquals("foo", annotation.getValue());
-		assertSourceContains(
-				"@XmlPaths({@XmlPath(\"foo\"),@XmlPath})", cu);
-		
-		annotation.setValue(null);
-		assertNull(annotation.getValue());
-		assertSourceContains(
-				"@XmlPaths({@XmlPath,@XmlPath})", cu);
-	}
-	
-	public void testContained()
-			throws Exception {
-		// test adding/removing/moving
-		
-		ICompilationUnit cu = createTestXmlPath();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		
-		assertEquals(1, resourceAttribute.getAnnotationsSize(ELJaxb.XML_PATH));
-		
-		resourceAttribute.addAnnotation(1, ELJaxb.XML_PATH);
-		
-		assertEquals(2, resourceAttribute.getAnnotationsSize(ELJaxb.XML_PATH));
-		assertSourceContains("@XmlPaths({ @XmlPath, @XmlPath })", cu);
-		
-		XmlPathAnnotation annotation1 = getXmlPathAnnotation(resourceAttribute, 0);
-		annotation1.setValue("foo");
-		XmlPathAnnotation annotation2 = getXmlPathAnnotation(resourceAttribute, 1);
-		annotation2.setValue("bar");
-		assertSourceContains(
-				"@XmlPaths({ @XmlPath(\"foo\"), @XmlPath(\"bar\") })", cu);
-		
-		resourceAttribute.moveAnnotation(0, 1, ELJaxb.XML_PATH);
-		assertSourceContains(
-				"@XmlPaths({ @XmlPath(\"bar\"), @XmlPath(\"foo\") })", cu);
-		
-		resourceAttribute.removeAnnotation(0, ELJaxb.XML_PATH);
-		assertEquals(1, resourceAttribute.getAnnotationsSize(ELJaxb.XML_PATH));
-		assertSourceContains(
-				"@XmlPath(\"foo\")", cu);
-		assertSourceDoesNotContain("@XmlPaths", cu);
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlTransformationAnnotationTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlTransformationAnnotationTests.java
deleted file mode 100644
index 0d8d349..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/resource/java/XmlTransformationAnnotationTests.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2011  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.java;
-
-import java.util.Iterator;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb;
-import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlTransformationAnnotation;
-
-
-public class XmlTransformationAnnotationTests
-		extends ELJaxbJavaResourceModelTestCase {
-	
-	public XmlTransformationAnnotationTests(String name) {
-		super(name);
-	}
-	
-	
-	private ICompilationUnit createTestXmlTransformation() 
-			throws Exception {
-		
-		return this.createTestType(new DefaultAnnotationWriter() {
-			
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(ELJaxb.XML_TRANSFORMATION);
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlTransformation");
-			}
-		});
-	}
-	
-	private ICompilationUnit createTestXmlTransformationWithOptional()
-			throws Exception {
-		
-		return this.createTestType(new DefaultAnnotationWriter() {
-			
-			@Override
-			public Iterator<String> imports() {
-				return new ArrayIterator<String>(ELJaxb.XML_TRANSFORMATION);
-			}
-			
-			@Override
-			public void appendIdFieldAnnotationTo(StringBuilder sb) {
-				sb.append("@XmlTransformation(optional = true)");
-			}
-		});
-	}
-	
-	private XmlTransformationAnnotation getXmlTransformationAnnotation(JavaResourceAttribute resourceAttribute) {
-		return (XmlTransformationAnnotation) resourceAttribute.getAnnotation(ELJaxb.XML_TRANSFORMATION);
-	}
-	
-	
-	public void testGetNull() throws Exception {
-		ICompilationUnit cu = createTestXmlTransformation();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		XmlTransformationAnnotation annotation = getXmlTransformationAnnotation(resourceAttribute);
-		
-		assertTrue(annotation != null);
-		assertNull(annotation.getOptional());
-	}
-	
-	public void testGetOptional() throws Exception {
-		ICompilationUnit cu = createTestXmlTransformationWithOptional();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		XmlTransformationAnnotation annotation = getXmlTransformationAnnotation(resourceAttribute);
-		
-		assertEquals(Boolean.TRUE, annotation.getOptional());
-	}
-	
-	public void testSetOptional() throws Exception {
-		ICompilationUnit cu = createTestXmlTransformation();
-		JavaResourceType resourceType = buildJavaResourceType(cu); 
-		JavaResourceField resourceAttribute = getField(resourceType, 0);
-		XmlTransformationAnnotation annotation = getXmlTransformationAnnotation(resourceAttribute);
-		
-		assertNull(annotation.getOptional());
-		
-		annotation.setOptional(Boolean.FALSE);
-		
-		assertEquals(Boolean.FALSE, annotation.getOptional());
-		assertSourceContains("@XmlTransformation(optional = false)", cu);
-		
-		annotation.setOptional(null);
-		
-		assertNull(annotation.getOptional());
-		assertSourceContains("@XmlTransformation", cu);
-		assertSourceDoesNotContain("optional", cu);
-	}
-}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/test.xml b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/test.xml
deleted file mode 100644
index 0943022..0000000
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/test.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Copyright (c) 2011 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:
-    Oracle - initial API and implementation
- -->
-
-<project name="testsuite" default="run" basedir=".">
-	<!-- The property ${eclipse-home} should be passed into this script -->
-	<!-- Set a meaningful default value for when it is not. -->
-	<echo message="basedir ${basedir}" />
-	<echo message="eclipse place ${eclipse-home}" />
-	<!-- sets the properties plugin-name -->
-	<property name="plugin-name" value="org.eclipse.jpt.jaxb.eclipselink.core.tests"/>
-    <echo level="debug" message="testRoot: ${testRoot}" />
-    <fail message="testRoot must be set" unless="testRoot" />
-
-	<!-- This target holds all initialization code that needs to be done for -->
-	<!-- all tests that are to be run. Initialization for individual tests -->
-	<!-- should be done within the body of the suite target. -->
-	<target name="init">
-		<tstamp/>
-		<delete>
-			<fileset dir="${eclipse-home}" includes="org*.xml"/>
-		</delete>
-	</target>
-
-	<!-- This target defines the tests that need to be run. -->
-	<target name="suite1">
-    	<property file="${testRoot}/testServer.properties"/>
-	    <property name="jpt-folder" value="${eclipse-home}/jpt_folder"/>
-	    <delete dir="${jpt-folder}" quiet="true"/>
-
-		<ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-		    <property name="data-dir" value="${jpt-folder}"/>
-			<property name="plugin-name" value="${plugin-name}"/>
-			<property name="classname" value="org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.resource.ELJaxbCoreResourceModelTests"/>
-			<property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
-			<property name="extraVMargs" value="-Dorg.eclipse.jpt.jaxb.jar=${testDir}/${jpt-javax-xml-bind-jar} -Dorg.eclipse.jpt.eclipselink.jar=${testDir}/${jpt-eclipselink-jar}"/>
-		</ant>
-	</target>
-	<target name="suite2">
-    	<property file="${testRoot}/testServer.properties"/>
-	    <property name="jpt-folder" value="${eclipse-home}/jpt_folder"/>
-	    <delete dir="${jpt-folder}" quiet="true"/>
-
-		<ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-		    <property name="data-dir" value="${jpt-folder}"/>
-			<property name="plugin-name" value="${plugin-name}"/>
-			<property name="classname" value="org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbCoreContextModelTests"/>
-			<property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
-			<property name="extraVMargs" value="-Dorg.eclipse.jpt.jaxb.jar=${testDir}/${jpt-javax-xml-bind-jar} -Dorg.eclipse.jpt.eclipselink.jar=${testDir}/${jpt-eclipselink-jar}"/>
-		</ant>
-	</target>
-
-	<!-- This target holds code to cleanup the testing environment after -->
-	<!-- after all of the tests have been run. You can use this target to -->
-	<!-- delete temporary files that have been created. -->
-	<target name="cleanup">
-	</target>
-
-	<!-- This target runs the test suite. Any actions that need to happen -->
-	<!-- after all the tests have been run should go here. -->
-	<target name="run" depends="init, suite1, suite2, cleanup">
-	</target>
-</project>
\ No newline at end of file
diff --git a/jpa/features/org.eclipse.jpt.eclipselink.feature/.project b/jpa/features/org.eclipse.jpt.eclipselink.feature/.project
deleted file mode 100644
index f2123ce..0000000
--- a/jpa/features/org.eclipse.jpt.eclipselink.feature/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.eclipselink.feature</name>
-	<comment>renamed to org.eclipse.jpt.jpa.eclipselink.feature</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/features/org.eclipse.jpt.eclipselink_sdk.feature/.project b/jpa/features/org.eclipse.jpt.eclipselink_sdk.feature/.project
deleted file mode 100644
index d8a03f0..0000000
--- a/jpa/features/org.eclipse.jpt.eclipselink_sdk.feature/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.eclipselink_sdk.feature</name>
-	<comment>renamed to org.eclipse.jpt.jpa.eclipselink_sdk.feature</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/features/org.eclipse.jpt.feature/.project b/jpa/features/org.eclipse.jpt.feature/.project
deleted file mode 100644
index b83e9de..0000000
--- a/jpa/features/org.eclipse.jpt.feature/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.feature</name>
-	<comment>renamed to org.eclipse.jpt.jpa.feature</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.cvsignore b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.project b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.project
deleted file mode 100644
index 82b5c31..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.eclipselink.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.settings/org.eclipse.core.resources.prefs b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index dab5837..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:10:47 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/build.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/build.properties
deleted file mode 100644
index 93ccfad..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/feature.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/feature.properties
deleted file mode 100644
index fb9f31e..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - EclipseLink JPA Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - EclipseLink JPA Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/feature.xml b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/feature.xml
deleted file mode 100644
index 86d9df5..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/feature.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpa.eclipselink.feature"
-      label="%featureName"
-      version="3.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt.jpa.eclipselink.branding"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.jpa.feature" version="3.1.0"/>
-      <import feature="org.eclipse.jpt.common.eclipselink.feature" version="1.1.0"/>
-   </requires>
-
-   <plugin
-         id="javax.persistence"
-         download-size="0"
-         install-size="0"
-         version="2.0.4.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.persistence.antlr"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.persistence.asm"
-         download-size="0"
-         install-size="0"
-         version="3.3.1.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.persistence.core"
-         download-size="0"
-         install-size="0"
-         version="2.4.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.persistence.jpa"
-         download-size="0"
-         install-size="0"
-         version="2.4.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.eclipselink.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.eclipselink.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.eclipselink.core.ddlgen"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.eclipselink.branding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.html b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.ini b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.mappings b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index cb59e5f..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - EclipseLink Support Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/build.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 6dcfcd6..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse32.gif b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse32.png b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/epl-v10.html b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/license.html b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/plugin.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index 262082f..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - EclipseLink Support
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/build.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 897839f..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               eclipse_update_120.jpg,\
-               feature.xml,\
-               feature.properties
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/feature.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index d71318f..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2011 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:
-#     Oracle - 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=Dali Java Persistence Tools - EclipseLink Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for Dali Java Persistence Tools EclipseLink Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2010 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.html b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.ini b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.mappings b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index cb59e5f..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - EclipseLink Support Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/build.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 6dcfcd6..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse32.png b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/epl-v10.html b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/license.html b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/plugin.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 262082f..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - EclipseLink Support
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.cvsignore b/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.project b/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.project
deleted file mode 100644
index 5bc7001..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.eclipselink.tests.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.settings/org.eclipse.core.resources.prefs b/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 235b84a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:11:17 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/build.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/build.properties
deleted file mode 100644
index da6de74..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
-src.includes = \
-               feature.xml,\
-               eclipse_update_120.jpg,\
-               build.properties
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/feature.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/feature.properties
deleted file mode 100644
index 147cc74..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/feature.properties
+++ /dev/null
@@ -1,51 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - 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=Dali Java Persistence Tools - EclipseLink JPA Core JUnit Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-# TOREVIEW - updateSiteName
-updateSiteName=Web Tools Platform (WTP) Updates
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools EclipseLink JPA Core JUnit Tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/feature.xml b/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/feature.xml
deleted file mode 100644
index ae955cb..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpa.eclipselink.tests.feature"
-      label="%featureName"
-      version="3.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.tests.feature" version="1.0.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.eclipselink.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.cvsignore b/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.cvsignore
deleted file mode 100644
index 6365d3d..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-feature.temp.folder
-build.xml
-org.eclipse.jpt_sdk.feature_1.0.1.*
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.project b/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.project
deleted file mode 100644
index f5f4862..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.eclipselink_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.settings/org.eclipse.core.resources.prefs b/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 6cc7d4b..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:09:59 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/build.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/build.properties
deleted file mode 100644
index 191698f..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.jpa.eclipselink.feature.source=org.eclipse.jpt.jpa.eclipselink.feature
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/feature.properties b/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/feature.properties
deleted file mode 100644
index 30feaf6..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - EclipseLink JPA Support SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence - EclipseLink JPA Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/feature.xml b/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/feature.xml
deleted file mode 100644
index e615fbc..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpa.eclipselink_sdk.feature"
-      label="%featureName"
-      version="3.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.jpt.jpa.eclipselink.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpa.eclipselink.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/.cvsignore b/jpa/features/org.eclipse.jpt.jpa.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/.project b/jpa/features/org.eclipse.jpt.jpa.feature/.project
deleted file mode 100644
index e1d95d7..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/.settings/org.eclipse.core.resources.prefs b/jpa/features/org.eclipse.jpt.jpa.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index dab5837..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:10:47 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/build.properties b/jpa/features/org.eclipse.jpt.jpa.feature/build.properties
deleted file mode 100644
index 93ccfad..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/feature.properties b/jpa/features/org.eclipse.jpt.jpa.feature/feature.properties
deleted file mode 100644
index 9558aa9..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JPA Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - JPA Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/feature.xml b/jpa/features/org.eclipse.jpt.jpa.feature/feature.xml
deleted file mode 100644
index a8b3b8b..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/feature.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpa.feature"
-      label="%featureName"
-      version="3.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt.jpa.branding"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.feature" version="1.1.0"/>
-      <import feature="org.eclipse.datatools.enablement.feature" version="1.9.0"/>
-      <import feature="org.eclipse.datatools.sqldevtools.feature" version="1.9.0"/>
-      <import feature="org.eclipse.datatools.connectivity.feature" version="1.9.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.db"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.db.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.gen"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.doc.user"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.persistence.jpa.jpql"
-         download-size="0"
-         install-size="0"
-         version="2.0.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.persistence.jpa.jpql.source"
-         download-size="0"
-         install-size="0"
-         version="2.0.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.collections"
-         download-size="0"
-         install-size="0"
-         version="3.2.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.lang"
-         download-size="0"
-         install-size="0"
-         version="2.1.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.velocity"
-         download-size="0"
-         install-size="0"
-         version="1.5.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.jdom"
-         download-size="0"
-         install-size="0"
-         version="1.0.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.branding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.html b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.ini b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.mappings b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.properties b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index 20288ae..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2008.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/build.properties b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index ce9529b..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse32.gif b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse32.png b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/epl-v10.html b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/license.html b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/plugin.properties b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index c07594d..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/build.properties b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index fba3ef0..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = \
-               eclipse_update_120.jpg,\
-               feature.xml,\
-               feature.properties
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/feature.properties b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index f47ad4f..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - 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=Dali Java Persistence Tools
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for Dali Java Persistence Tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2010 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.html b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.ini b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.mappings b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.properties b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 021634d..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2008, 2010.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/build.properties b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index ce9529b..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 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:
-#     Oracle - initial API and implementation
-###############################################################################
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse32.gif b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse32.png b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/epl-v10.html b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/license.html b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/plugin.properties b/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index c07594d..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/features/org.eclipse.jpt.jpa.tests.feature/.cvsignore b/jpa/features/org.eclipse.jpt.jpa.tests.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.tests.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jpa/features/org.eclipse.jpt.jpa.tests.feature/.project b/jpa/features/org.eclipse.jpt.jpa.tests.feature/.project
deleted file mode 100644
index 5466fa5..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.tests.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/features/org.eclipse.jpt.jpa.tests.feature/.settings/org.eclipse.core.resources.prefs b/jpa/features/org.eclipse.jpt.jpa.tests.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 235b84a..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.tests.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:11:17 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jpa/features/org.eclipse.jpt.jpa.tests.feature/build.properties b/jpa/features/org.eclipse.jpt.jpa.tests.feature/build.properties
deleted file mode 100644
index da6de74..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.tests.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
-src.includes = \
-               feature.xml,\
-               eclipse_update_120.jpg,\
-               build.properties
diff --git a/jpa/features/org.eclipse.jpt.jpa.tests.feature/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa.tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa.tests.feature/feature.properties b/jpa/features/org.eclipse.jpt.jpa.tests.feature/feature.properties
deleted file mode 100644
index 7f06e11..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.tests.feature/feature.properties
+++ /dev/null
@@ -1,51 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle - 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=Dali Java Persistence Tools - Common and JPA JUnit Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-# TOREVIEW - updateSiteName
-updateSiteName=Web Tools Platform (WTP) Updates
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools Common and JPA JUnit Tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa/features/org.eclipse.jpt.jpa.tests.feature/feature.xml b/jpa/features/org.eclipse.jpt.jpa.tests.feature/feature.xml
deleted file mode 100644
index f384add..0000000
--- a/jpa/features/org.eclipse.jpt.jpa.tests.feature/feature.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpa.tests.feature"
-      label="%featureName"
-      version="3.1.100.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jpt.common.tests.feature" version="1.0.0"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpa.core.tests.extension.resource"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.cvsignore b/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.cvsignore
deleted file mode 100644
index 087aebe..0000000
--- a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-feature.temp.folder
-build.xml
-org.eclipse.jpt.jpa_sdk.feature_1.0.1.*
diff --git a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.project b/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.project
deleted file mode 100644
index f933b5e..0000000
--- a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.settings/org.eclipse.core.resources.prefs b/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 6cc7d4b..0000000
--- a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:09:59 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/build.properties b/jpa/features/org.eclipse.jpt.jpa_sdk.feature/build.properties
deleted file mode 100644
index a0610c3..0000000
--- a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.jpa.feature.source=org.eclipse.jpt.jpa.feature
diff --git a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/eclipse_update_120.jpg b/jpa/features/org.eclipse.jpt.jpa_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/feature.properties b/jpa/features/org.eclipse.jpt.jpa_sdk.feature/feature.properties
deleted file mode 100644
index 6dbfeca..0000000
--- a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JPA Support SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence Tools - JPA Support
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2011 Oracle Corporation.\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\
-    Oracle - 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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/feature.xml b/jpa/features/org.eclipse.jpt.jpa_sdk.feature/feature.xml
deleted file mode 100644
index 068f419..0000000
--- a/jpa/features/org.eclipse.jpt.jpa_sdk.feature/feature.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpa_sdk.feature"
-      label="%featureName"
-      version="3.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.jpt.jpa.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpa.feature.source"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jpt.doc.isv"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/jpa/features/org.eclipse.jpt.tests.feature/.project b/jpa/features/org.eclipse.jpt.tests.feature/.project
deleted file mode 100644
index 5ee70fa..0000000
--- a/jpa/features/org.eclipse.jpt.tests.feature/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.tests.feature</name>
-	<comment>renamed to org.eclipse.jpt.jpa.tests.feature</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/features/org.eclipse.jpt_sdk.feature/.project b/jpa/features/org.eclipse.jpt_sdk.feature/.project
deleted file mode 100644
index 4d523ce..0000000
--- a/jpa/features/org.eclipse.jpt_sdk.feature/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt_sdk.feature</name>
-	<comment>renamed to org.eclipse.jpt.jpa_sdk.feature</comment>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.branding/.project b/jpa/plugins/org.eclipse.jpt.branding/.project
deleted file mode 100644
index 0b315e6..0000000
--- a/jpa/plugins/org.eclipse.jpt.branding/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.branding</name>
-	<comment>renamed to org.eclipse.jpt.jpa.branding</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/.project b/jpa/plugins/org.eclipse.jpt.core/.project
deleted file mode 100644
index fff5658..0000000
--- a/jpa/plugins/org.eclipse.jpt.core/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.core</name>
-	<comment>renamed to org.eclipse.jpt.jpa.core</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.db.ui/.project b/jpa/plugins/org.eclipse.jpt.db.ui/.project
deleted file mode 100644
index 64a5574..0000000
--- a/jpa/plugins/org.eclipse.jpt.db.ui/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.db.ui</name>
-	<comment>renamed to org.eclipse.jpt.jpa.db.ui</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.db/.project b/jpa/plugins/org.eclipse.jpt.db/.project
deleted file mode 100644
index 604cfcb..0000000
--- a/jpa/plugins/org.eclipse.jpt.db/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.db</name>
-	<comment>renamed to org.eclipse.jpt.jpa.db</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/.project b/jpa/plugins/org.eclipse.jpt.doc.user/.project
deleted file mode 100644
index 61670ff..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.doc.user</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.doc.user/META-INF/MANIFEST.MF
deleted file mode 100644
index 1055741..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.doc.user;singleton:=true
-Bundle-Version: 1.4.1.qualifier
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.help;bundle-version="[3.3.100,4.0.0)",
- org.eclipse.ui.cheatsheets;bundle-version="[3.3.100,4.0.0)"
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/about.htm b/jpa/plugins/org.eclipse.jpt.doc.user/about.htm
deleted file mode 100644
index 29a9135..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/about.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>About this content</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="About this content" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<div class="sect1"><!-- infolevel="all" infotype="General" --><a id="sthref295" name="sthref295"></a>
-<h1>About this content</h1>
-<p>November, 2009</p>
-<a id="sthref296" name="sthref296"></a>
-<p class="subhead2">License</p>
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <code><a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></code>. For purposes of the EPL, "Program" will mean the Content.</p>
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at <code><a href="http://www.eclipse.org">http://www.eclipse.org</a></code>.</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/about.html b/jpa/plugins/org.eclipse.jpt.doc.user/about.html
deleted file mode 100644
index 54a84ef..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/about.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>About this content</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1 Build 004" />
-<meta name="date" content="2009-11-16T9:56:23Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="About this content" />
-<meta name="relnum" content="Release 3.0" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<div class="sect1"><!-- infolevel="all" infotype="General" --><a id="sthref290" name="sthref290"></a>
-<h1>About this content</h1>
-<p>November, 2009</p>
-<a id="sthref291" name="sthref291"></a>
-<p class="subhead2">License</p>
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <code><a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></code>. For purposes of the EPL, "Program" will mean the Content.</p>
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at <code><a href="http://www.eclipse.org">http://www.eclipse.org</a></code>.</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2009,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/build.properties b/jpa/plugins/org.eclipse.jpt.doc.user/build.properties
deleted file mode 100644
index 2b42108..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/build.properties
+++ /dev/null
@@ -1,136 +0,0 @@
-bin.includes = cheatsheets/,\
-               dcommon/,\
-               img/,\
-               META-INF/,\
-               about.html,\
-               build.properties,\
-               concept_mapping.htm,\
-               concept_persistence.htm,\
-               concepts.htm,\
-               concepts001.htm,\
-               concepts002.htm,\
-               concepts003.htm,\
-               contexts.xml,\
-               getting_started.htm,\
-               getting_started001.htm,\
-               getting_started002.htm,\
-               getting_started003.htm,\
-               getting_started004.htm,\
-               index.xml,\
-               legal.htm,\
-               plugin.properties,\
-               plugin.xml,\
-               ref_details_orm.htm,\
-               ref_jpa_facet.htm,\
-               ref_mapping_general.htm,\
-               ref_new_jpa_project.htm,\
-               ref_new_jpa_project_wizard.htm,\
-               ref_persistence_map_view.htm,\
-               ref_persistence_outline.htm,\
-               ref_persistence_perspective.htm,\
-               ref_persistence_prop_view.htm,\
-               ref_primary_key.htm,\
-               ref_project_properties.htm,\
-               reference.htm,\
-               reference001.htm,\
-               reference002.htm,\
-               reference003.htm,\
-               reference004.htm,\
-               reference005.htm,\
-               reference006.htm,\
-               reference007.htm,\
-               reference008.htm,\
-               reference009.htm,\
-               reference010.htm,\
-               reference011.htm,\
-               reference012.htm,\
-               reference013.htm,\
-               reference014.htm,\
-               reference015.htm,\
-               reference016.htm,\
-               reference017.htm,\
-               reference018.htm,\
-               task_add_persistence.htm,\
-               task_additonal_tables.htm,\
-               task_create_new_project.htm,\
-               task_inheritance.htm,\
-               task_manage_orm.htm,\
-               task_manage_persistence.htm,\
-               task_mapping.htm,\
-               tasks.htm,\
-               tasks001.htm,\
-               tasks002.htm,\
-               tasks003.htm,\
-               tasks004.htm,\
-               tasks005.htm,\
-               tasks006.htm,\
-               tasks007.htm,\
-               tasks008.htm,\
-               tasks009.htm,\
-               tasks010.htm,\
-               tasks011.htm,\
-               tasks012.htm,\
-               tasks013.htm,\
-               tasks014.htm,\
-               tasks015.htm,\
-               tasks016.htm,\
-               tasks017.htm,\
-               tasks018.htm,\
-               tasks019.htm,\
-               tasks020.htm,\
-               tasks021.htm,\
-               tasks022.htm,\
-               tips_and_tricks.htm,\
-               toc.xml,\
-               whats_new.htm,\
-               whats_new001.htm,\
-               whats_new002.htm,\
-               whats_new003.htm,\
-               about.htm,\
-               reference019.htm,\
-               reference020.htm,\
-               reference021.htm,\
-               reference022.htm,\
-               reference023.htm,\
-               reference024.htm,\
-               reference025.htm,\
-               reference026.htm,\
-               reference027.htm,\
-               reference028.htm,\
-               reference030.htm,\
-               reference029.htm,\
-               reference031.htm,\
-               reference032.htm,\
-               tasks023.htm,\
-               tasks024.htm,\
-               whats_new004.htm,\
-               whats_new005.htm,\
-               ref_persistence_xmll_editor.htm,\
-               ref_EntityClassPage.htm,\
-               ref_EntityPropertiesPage.htm,\
-               ref_add_converter.htm,\
-               ref_association_cardinality.htm,\
-               ref_association_table.htm,\
-               ref_create_custom_entities_wizard.htm,\
-               ref_create_jpa_entity_wizard.htm,\
-               ref_create_new_association_wizard.htm,\
-               ref_customizIndividualEntities.htm,\
-               ref_customizeDefaultEntityGeneration.htm,\
-               ref_eclipselink_mapping_file.htm,\
-               ref_java_page.htm,\
-               ref_join_columns.htm,\
-               ref_persistence_general.htm,\
-               ref_selectTables.htm,\
-               ref_select_cascade_dialog.htm,\
-               ref_tableAssociations.htm,\
-               task_create_jpa_entity.htm,\
-               ref_configure_jaxb_class_generation_dialog.htm,\
-               ref_jaxb_schema_wizard.htm,\
-               ref_schema_from_classes_page.htm,\
-               reference033.htm,\
-               task_generate_classes_from_schema.htm,\
-               task_generating_schema_from_classes.htm,\
-               tasks025.htm,\
-               tasks026.htm,\
-               whats_new006.htm
-generateSourceBundle=false
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/add_persistence.xml b/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/add_persistence.xml
deleted file mode 100644
index 6dbeedb..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/add_persistence.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cheatsheet title="Create a JPA Project">
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will automatically launch wizards, perform actions, and guide you through the steps to create a JPA project. 
-
-To learn more about using cheat sheets, or to see a list of available cheat sheets, click Help (?). 
-To start work working on this cheat sheet click the &quot;Click to Begin&quot; button below. 
-
-Let&apos;s get started!
-      </description>
-   </intro>
-   <item title="Setup the Environment" dialog="false" skip="true" href="/org.eclipse.datatools.doc.user/c_database_development_setup.html">
-      <description>
-         Your environment must be set up before you can perform the steps in this cheat sheet. 
-
-Create a database profile and connect to the database.
-
-The Database Connection dialog automatically appears when you click the &quot;Click to Perform&quot; button.
-      </description>
-      <command serialization="org.eclipse.datatools.sqltools.sqleditor.attachProfileAction" confirm="false">
-      </command>
-   </item>
-   <item title="Create a JPA Project" dialog="false" skip="false" href="/org.eclipse.jpt.doc.user/task_create_new_project.htm">
-      <description>
-         Use the New Project Wizard to create a JPA project. 
-Select <b>File-&gt;New-&gt;Project...</b> and choose <b>JPA-&gt;JPA Project</b> in the list. 
-
-On the first page of the wizard, enter a project name and location, select your target runtime, and select a predefined project configuration.
-
-Click <b>Next</b> to display the next page of the wizard.
-
-The &quot;New JPA Project&quot; wizard is automatically displayed when you click the &quot;Click to Perform&quot; button.
-      </description>
-      <action class="org.eclipse.jdt.internal.ui.wizards.OpenProjectWizardAction" pluginId="org.eclipse.jdt.ui" confirm="false">
-      </action>
-   </item>
-   <item title="Select Project Facet" dialog="false" skip="false" href="/org.eclipse.jst.j2ee.doc.user/topics/ph-projects.html">
-      <description>
-         Use the Project Facet page to select a predefined project configuration or specific specific facets to include in the project. 
-
-Click &quot;Next&quot; to display the next page of the wizard.
-      </description>
-   </item>
-   <item title="Specify the JPA Facet" dialog="false" skip="false" href="/org.eclipse.jdt.doc.user/ref_jpa_facet.htm">
-      <description>
-         Use the JPA Facet page to specify the the vendor-specific JPA platform, the database connection to use, and the specific JPA implementation library. 
-
-You can also specify if Dali should create an orm.xml file.
-
-If you do not have an active database connection, click <b>Add Connections</b> to create one. 
-
-If you do not have a defined JPA implementation library, click <b>Configure default JPA implementation library</b> or <b>Configure user libraries</b> to define one. 
-
-Click <b>Finish</b> to complete the wizard and open the open the project.
-      </description>
-   </item>
-   <item title="Finish" dialog="false" skip="false">
-      <description>
-         Congratulations! You have successfully created a JPA project. Complete the additional cheat sheets to add Java persistent entities and map those entities to database tables.
-      </description>
-   </item>
-</cheatsheet>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/create_entity.xml b/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/create_entity.xml
deleted file mode 100644
index b64e8af..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/create_entity.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cheatsheet title="Create a Persistent Entity">
-	<intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-		<description>
-This cheat sheet will automatically launch wizards, perform actions, and guide you through the steps to add a Java persistent entity to your Java project. 
-To learn more about using cheat sheets or to see a list of available cheat sheets, click Help (?). 
-To start work working on this cheat sheet, click the <b>Click to Begin</b> button below. 
-Let's get started!
-  </description>
-	</intro>
-	<item title="Create a JPA Project" skip="true">
-		<description>
-To create a Persistent entity, you must create a JPA project. If you already have a JPA project, you may skip this step by clicking the "Click to Skip" button.
-If not, select <b>File->New->Project...</b> and choose <b>JPA->JPA Project</b> in the list. Complete each page of the Create JPA Project wizard to create a new JPA project.
-      </description>
-	</item>
-	<item title="Open the JPA Development Perspective" skip="true" href="/org.eclipse.jpt.doc.user/ref_persistence_perspective.htm">
-		<action pluginId="org.eclipse.ui.cheatsheets" class="org.eclipse.ui.internal.cheatsheets.actions.OpenPerspective" param1="org.eclipse.jpt.ui.PersistencePerspective"/>
-		<description>
-When working with JPA  persistence, you should use the Persistence perspective. If you already have the Persistence perspective active, you may skip this step by clicking the "Click to Skip" button. 
-If not, select <b>Window->Open Perspective->Other</b> in the menubar at the top of the workbench. In the Select Perspectives dialog, select <b>JPA Development</b> and click OK. This step changes the perspective to set up the Eclipse workbench for JPA development.
-You can click the "Click to Perform" button to have the "Persistence" perspective opened automatically.
-   </description>
-	</item>
-	<item title="Create a Java Class">
-		<description>
-The next step is to create a new Java class. In the main toolbar again, click on <b>New Java Class</b> button (or the link below).
-The Java editor will automatically open showing your new class.      
-     </description>
-	</item>
-	<item title="Create a Persistent Entity">
-		<description>
-Finally we will make the Java class a persistent entity.
-In the JPA Structure view select the Java class. 
-In the JPA Details view, use the "Map As" field to select <b>Entity</b>. Dali automatically adds the @Entity annotation to the class in the Java editor. 
-Use the Table, Catalog, and Schema fields to associate the entity with a specific table in the database.
-     </description>
-	</item>
-	<item title="Finish">
-		<description>
-Congratulations! You have successfully added a JPA entity to your JPA project. Complete the additional cheat sheets to map the entity's fields to database tables.
-  </description>
-	</item>
-</cheatsheet>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/map_entity.xml b/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/map_entity.xml
deleted file mode 100644
index 63307f2..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/cheatsheets/map_entity.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cheatsheet title="Map a Java Persistent Entity">
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will automatically launch wizards, perform actions, and guide you through the steps to map the fields of a JPA entity entity to your database.
-
-To learn more about using cheat sheets or to see a list of available cheat sheets, click Help (?). 
-To start work working on this cheat sheet, click the &quot;Click to Begin&quot; button below. 
-
-Let&apos;s get started!
-      </description>
-   </intro>
-   <item title="Setup the Environment" dialog="false" skip="true" href="/org.eclipse.datatools.doc.user/c_database_development_setup.html">
-      <description>
-         Your environment must be set up before you can perform the steps in this cheat sheet. 
-
-Create a database profile and connect to the database.
-
-If you already have (and are connected to) a database connection, you  may skip this step by clicking the &quot;Click to Skip&quot; button.
-
-The Database Connection dialog automatically appears when you click the &quot;Click to Perform&quot; button.
-      </description>
-      <command serialization="org.eclipse.datatools.sqltools.sqleditor.attachProfileAction" confirm="false">
-      </command>
-   </item>
-   <item title="Create a JPA Project" dialog="false" skip="true" href="/org.eclipse.jpt.doc.user/task_create_new_project.htm">
-      <description>
-         Use the New Project Wizard to create a JPA project. 
-Select <b>File-&gt;New-&gt;Project...</b> and choose <b>JPA-&gt;JPA Project</b> in the list. 
-
-Complete each page of the wizard to create a new JPA project.
-
-The &quot;New JPA Project&quot; wizard is automatically displayed when you click the &quot;Click to Perform&quot; button.
-
-If you already have a JPA project, you  may skip this step by clicking the &quot;Click to Skip&quot; button.
-      </description>
-      <action class="org.eclipse.jdt.internal.ui.wizards.OpenProjectWizardAction" pluginId="org.eclipse.jdt.ui" confirm="false">
-      </action>
-   </item>
-   <item title="Open the JPA Development Perspective" dialog="false" skip="true" href="/org.eclipse.jpt.doc.user/ref_persistence_perspective.htm">
-      <description>
-         When working with JPA  persistence, you should use the Persistence perspective. If you already have the Persistence perspective active, you may skip this step by clicking the &quot;Click to Skip&quot; button. 
-If not, select <b>Window-&gt;Open Perspective-&gt;Other</b> in the menubar at the top of the workbench. In the Select Perspectives dialog, select <b>JPA Development</b> and click OK. This step changes the perspective to set up the Eclipse workbench for JPA development.
-You can click the &quot;Click to Perform&quot; button to have the &quot;Persistence&quot; perspective opened automatically.
-      </description>
-      <action class="org.eclipse.ui.internal.cheatsheets.actions.OpenPerspective" pluginId="org.eclipse.ui.cheatsheets" confirm="false" param1="org.eclipse.jpt.ui.PersistencePerspective">
-      </action>
-   </item>
-   <item title="Create a Java Class" dialog="false" skip="false">
-      <description>
-         The next step is to create a new Java class. In the main toolbar again, click on <b>New Java Class</b> button (or the link below).
-The Java editor will automatically open showing your new class.
-      </description>
-   </item>
-   <item title="Create a Persistent Entity" dialog="false" skip="false">
-      <description>
-         Finally we will make the Java class a persistent entity.
-In the JPA Structure view select the Java class. 
-In the JPA Details view, use the &quot;Map As&quot; field to select <b>Entity</b>. Dali automatically adds the @Entity annotation to the class in the Java editor. 
-Use the Table, Catalog, and Schema fields to associate the entity with a specific table in the database.
-      </description>
-   </item>
-   <item title="Add Fields to the Class" dialog="false" skip="true">
-      <description>
-         Now you will add some fields to the entity to map to rows in the database table.   
-
-If your persistent entity already has fields to map, you may skip this step by clicking the &quot;Click to Skip&quot; button. If not, use the Java editor to add fields to the entity.
-      </description>
-      <action class="org.eclipse.ui.internal.cheatsheets.actions.OpenPerspective" pluginId="org.eclipse.ui.cheatsheets" confirm="false" param1="org.eclipse.dali.ui.PersistencePerspective">
-      </action>
-   </item>
-   <item title="Create the Mapping" dialog="false" skip="false" href="/org.eclipse.dali.doc.user/ref_entity_page.htm">
-      <description>
-         Now you are ready to map the entity fields to columns in the database table. In the Package Explorer, select the Java class. 
-
-In the JPA Structure view, expand the persistent entity to display the fields. Select a field. 
-
-The JPA Details view displays the information for the field. Use the Map As field to select the Basic mapping. Use the Column field to select a column from the database table.
-      </description>
-      <action class="org.eclipse.ui.internal.cheatsheets.actions.OpenPerspective" pluginId="org.eclipse.ui.cheatsheets" confirm="false" param1="org.eclipse.dali.ui.PersistencePerspective">
-      </action>
-   </item>
-   <item title="Finish" dialog="false" skip="false">
-      <description>
-         Congratulations! You have successfully mapped the fields from a Java persistent entity to a column in a database table.
-      </description>
-   </item>
-</cheatsheet>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/concept_mapping.htm b/jpa/plugins/org.eclipse.jpt.doc.user/concept_mapping.htm
deleted file mode 100644
index 59f7d97..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/concept_mapping.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Understanding OR mappings</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Understanding OR mappings" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABBDJFI" name="BABBDJFI"></a></p>
-<div class="sect1">
-<h1>Understanding OR mappings</h1>
-<p><a id="sthref21" name="sthref21"></a><a id="sthref22" name="sthref22"></a>The Dali OR (object-relational) Mapping Tool allows you to describe how your entity objects <span class="italic">map</span> to the data source (or other objects). This approach isolates persistence information from the object model&ndash;developers are free to design their ideal object model, and DBAs are free to design their ideal schema.</p>
-<p>These mappings transform an object data member type to a corresponding relational database data source representation. These OR mappings can also transform object data members that reference other domain objects stored in other tables in the database and are related through foreign keys.</p>
-<p>You can use these mappings to map simple data types including primitives (such as <code>int</code>), JDK classes (such as <code>String</code>), and large object (LOB) values. You can also use them to transform object data members that reference other domain objects by way of association where data source representations require object identity maintenance (such as sequencing and back references) and possess various types of multiplicity and navigability. The appropriate mapping class is chosen primarily by the cardinality of the relationship.</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/concept_persistence.htm b/jpa/plugins/org.eclipse.jpt.doc.user/concept_persistence.htm
deleted file mode 100644
index 3c7f80b..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/concept_persistence.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Understanding Java persistence</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Understanding Java persistence" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABCAHIC" name="BABCAHIC"></a></p>
-<div class="sect1">
-<h1>Understanding Java persistence</h1>
-<p><a id="sthref19" name="sthref19"></a><span class="italic">Persistence</span> refers to the ability to store objects in a database and use those objects with transactional integrity. In a J2EE application, data is typically stored and persisted in the data tier, in a relational database.</p>
-<p><a id="sthref20" name="sthref20"></a><span class="italic">Entity beans</span> are enterprise beans that contain persistent data and that can be saved in various persistent data stores. The entity beans represent data from a database; each entity bean carries its own identity. Entity beans can be deployed using <span class="italic">application-managed persistence</span> or <span class="italic">container-managed persistence</span>.</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/concepts.htm b/jpa/plugins/org.eclipse.jpt.doc.user/concepts.htm
deleted file mode 100644
index 7a140b7..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/concepts.htm
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Concepts</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content=" Concepts" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="sthref18" name="sthref18"></a></p>
-<h1>Concepts</h1>
-<p>This section contains an overview of concepts you should be familiar with when using Dali to create mappings for Java persistent entities.</p>
-<ul>
-<li>
-<p><a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a></p>
-</li>
-<li>
-<p><a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a></p>
-</li>
-<li>
-<p><a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></p>
-</li>
-</ul>
-<p>In addition to these sections, you should review the following resources for additional information:</p>
-<ul>
-<li>
-<p>Eclipse Dali project: <code><a href="http://www.eclipse.org/webtools/dali">http://www.eclipse.org/webtools/dali</a></code></p>
-</li>
-<li>
-<p>Eclipse Web Tools Platform project: <code><a href="http://www.eclipse.org/webtools">http://www.eclipse.org/webtools</a></code></p>
-</li>
-<li>
-<p>JSR 220 EJB 3.0 specification: <code><a href="http://www.jcp.org/en/jsr/detail?id=220">http://www.jcp.org/en/jsr/detail?id=220</a></code></p>
-</li>
-<li>
-<p>EclipseLink project: <code><a href="http://www.eclipse.org/eclipselink">http://www.eclipse.org/eclipselink</a></code></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/concepts001.htm b/jpa/plugins/org.eclipse.jpt.doc.user/concepts001.htm
deleted file mode 100644
index 5104da1..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/concepts001.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Understanding EJB 3.0 Java Persistence API</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Understanding EJB 3.0 Java Persistence API" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABBGFJG" name="BABBGFJG"></a></p>
-<div class="sect1">
-<h1>Understanding EJB 3.0 Java Persistence API</h1>
-<p>The Java 2 Enterprise Edition(J2EE) Enterprise JavaBeans (EJB) are a component architecture that you use to develop and deploy object-oriented, distributed, enterprise-scale applications. An application written according to the Enterprise JavaBeans architecture is scalable, transactional, and secure.</p>
-<p>The EJB 3.0 Java Persistence API (JPA) improves the EJB architecture by reducing its complexity through the use of metadata (annotations) and specifying programmatic defaults of that metadata.</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/concepts002.htm b/jpa/plugins/org.eclipse.jpt.doc.user/concepts002.htm
deleted file mode 100644
index 99f1e43..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/concepts002.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>The persistence.xml file</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="The persistence.xml file" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CHDHAGIH" name="CHDHAGIH"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1><a id="sthref23" name="sthref23"></a>The persistence.xml file</h1>
-<p>The JPA specification requires the use of a <code>persistence.xml</code> file for deployment. This file defines the database and entity manager options, and may contain more than one persistence unit. To enable you to easily edit this information, Dali provides the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>. Alternatively, you can use the Eclipse XML Editor to create and maintain this information. See <a href="task_manage_persistence.htm#CIHDAJID">"Managing the persistence.xml file"</a> for more information.</p>
-<div align="center">
-<div class="inftblnotealso"><br />
-<table class="NoteAlso oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Tip:</p>
-To work with multiple persistence units, comment out all but one persistence unit in <code>persistence.xml</code>.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnotealso" --></div>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_manage_persistence.htm#CIHDAJID">Managing the persistence.xml file</a><br />
-<a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/concepts003.htm b/jpa/plugins/org.eclipse.jpt.doc.user/concepts003.htm
deleted file mode 100644
index 9c887a7..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/concepts003.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>The orm.xml file</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="The orm.xml file" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CHDBIJAC" name="CHDBIJAC"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1><a id="sthref24" name="sthref24"></a>The orm.xml file</h1>
-<p>Although the JPA specification emphasizes the use of annotations to specify persistence, you can also use the <code>orm.xml</code> file to store this metadata. Dali enables you to create a stub <code>orm.xml</code> file for a JPA project using the <a href="reference002.htm#CIAIJCCE">Mapping File Wizard</a>. See <a href="task_manage_orm.htm#CIHDGDCD">"Managing the orm.xml file"</a> for more information.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-The metadata must match the XSD specification of your selected JPA implementation.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-<p>Dali provides comprehensive support for configuring XML mapping files through the <a href="ref_details_orm.htm#CACGDGHC">JPA Details view (for orm.xml)</a> that is nearly identical to the annotation-based configuration in the Java source. Alternatively, you can also use the Eclipse XML Editor to create and maintain the metadata information in <code>orm.xml</code>.</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_manage_orm.htm#CIHDGDCD">Managing the orm.xml file</a><br />
-<a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a><br />
-<p>&nbsp;</p>
-</div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/contexts.xml b/jpa/plugins/org.eclipse.jpt.doc.user/contexts.xml
deleted file mode 100644
index a7a661a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/contexts.xml
+++ /dev/null
@@ -1,646 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.contexts"?>
-<contexts>
-	<context id="entity_accessType">
-		<description>Specify how the variable is accessed: Property (default) or Field.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_name">
-		<description>The name of this entity. By default, the class name is used as the entity name.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_table">
-		<description>The database table assigned to this entity. By default, the class name is used as the database table name.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_attributeOverrides">
-		<description>Specify a property or field to be overridden (from the default mappings).</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_attributeOverridesName">
-		<description>Name of the database column.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_attributeOverridesColumn">
-		<description>The database column that overrides a property or field.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_attributeOverridesInsertable">
-		<description>Specifies if the column is always included in SQL INSERT statements.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_attributeOverridesUpdatable">
-		<description>Specifies if the column is always included in SQL UPDATE statements.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="mapping_mapAs">
-		<description>Specify how this attribute maps to the database.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_column">
-		<description>The database column that contains the value for the attribute.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_columnTable">
-		<description>Name of the database table that contains the selected column.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_columnInsertable">
-		<description>Specifies if the column is always included in SQL INSERT statements.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_columnUpdatable">
-		<description>Specifies if the column is always included in SQL UPDATE statements.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_fetchType">
-		<description>Defines how data is loaded from the database: Eager (default) or Lazy</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_optional">
-		<description>Specifies if this field is can be null.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_generatedValueStrategy">
-		<description>Determines how the primary key is generated: Auto (default), Sequence, Identity, or Table.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_generatedValueGeneratorName">
-		<description>Unique name of the generator.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_targetEntity">
-		<description>The entity to which this attribute is mapped. </description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_cascadeType">
-		<description>Specify which operations are propagated throughout the entity: All, Persist, Merge, or Move.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_mappedBy">
-		<description>The field in the database table that owns the relationship.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_joinColumnName">
-		<description>The name of the database column that contains the foreign key reference for the entity association.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_joinReferencedColumn">
-		<description>Name of the join table that contains the foreign key column.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_embeddedAttributeOverrides">
-		<description>Specify to override the default  mapping of an entity’s attribute.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="mapping_embeddedAttributeOverridesColumn">
-		<description>The database column that is being mapped to the entity’s attribute.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="entity_mapAs">
-		<description>Specify the type of persistent domain object for the Java class: Persistent, Embedded, or Mapped Superclass.</description>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_inheritanceStrategy">
-		<description>Specify how an entity may inherit properties from other entities: Single table, One table per class, or Joined tables.</description>
-		<topic label="Specifying inheritance" href="task_inheritance.htm"/>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-	</context>
-	<context id="entity_inheritanceDiscriminatorColumn">
-		<description>Use to specify the name of the discriminator column when using a Single or Joined inheritance strategy.</description>
-		<topic label="Specifying inheritance" href="task_inheritance.htm"/>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-	</context>
-	<context id="entity_inheritanceDiscriminatorType">
-		<description>Use this field to set the discriminator type to CHAR or INTEGER (instead of its default: String). The discriminator value must conform to this type.</description>
-		<topic label="Specifying inheritance" href="task_inheritance.htm"/>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-	</context>
-	<context id="entity_inheritanceDiscriminatorValue">
-		<description>Specify the discriminator value used to differentiate an entity in this inheritance hierarchy. The value must conform to the specified discriminator type.</description>
-		<topic label="Specifying inheritance" href="task_inheritance.htm"/>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-	</context>
-	<context id="mapping_orderBy">
-		<description>Specify the default order for objects returned from a query.  	
-orderby_list::= orderby_item [,orderby_item]     
-orderby_item::= [property_or_field_name] [ASC | DESC]     
-For example: "lastName ASC ,salary DESC"	</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Mapping an Entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_joinTableName">
-		<description>Specify the  name of the database table that defines the foreign key for a many-to-many or a unidirectional one-to-many association. You can configure the join table with a specific catalog or schema, configure one or more join table columns with a unique constraint, and use multiple join columns per entity.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_joinTableJoinColumns">
-		<description>Specify  two or more join columns (that is, a composite primary key).</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_joinTableInverseJoinColumns">
-		<description>Specify the join column on the owned (or inverse side) of the association: the owned entity's primary key column. </description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="properties_javaPersistence">
-		<description>Use the Java Persistence options on the Properties page to select the database connection to use with the project.</description>
-		<topic label="Project properties" href="ref_project_properties"/>
-		<topic label="Adding persistence" href="ref_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="properties_javaPersistenceConnection">
-		<description>The database connection used to map the persistent entities.</description>
-		<topic label="Project properties" href="ref_project_properties"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="properties_javaPersistenceSchema">
-		<description>The database schema used to map the persistent entities.</description>
-		<topic label="Project properties" href="ref_project_properties"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="dialog_addPersistence">
-		<description>Use the Add Persistence dialog to define the database connection use to store the persistence entities.</description>
-		<topic label="Adding persistence" href="ref_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="persistenceOutline">
-		<description>The JPA Structure view displays an outline of the structure (its attributes and mappings) of the entity that is currently selected or opened in the editor.</description>
-		<topic label="JPA Structure view" href="ref_persistence_outline.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="dialog_generateEntities">
-		<description>Use the Generate Entities dialog to create Java persistent entities based on your database tables.</description>
-		<topic label="Generating entities from tables" href="task_generate_entities.htm.htm" />
-		<topic label="Project properties" href="ref_project_properties"/>
-	</context>
-	<context id="dialog_generateEntities_source">
-		<description>The project folder name in which to generate the Java persistent entities. Click Browse to select an existing folder.</description>
-		<topic label="Generating entities from tables" href="task_generate_entities.htm"/>
-	</context>
-	<context id="dialog_generateEntities_package">
-		<description>The package in which to generate the Java persistent entities, or click Browse to select an existing package.</description>
-		<topic label="Generating entities from tables" href="task_generate_entities.htm"/>
-	</context>
-	<context id="dialog_generateEntities_tables">
-		<description>Select the tables from which to create Java persistent entities.</description>
-		<topic label="Generating entities from tables" href="task_generate_entities.htm"/>
-		<topic label="Project properties" href="ref_project_properties"/>
-	</context>
-	<context id="dialog_addJavaPersistence">
-		<description>Use this dialog to define the database connection used to store the persistence entities and to create the persistence.xml file.</description>
-		<topic label="Add Persistence dialog" href="ref_add_persistence.htm" />
-		<topic label="Adding persistence to a project" href="task_add_persistence" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence.htm" />
-	</context>
-	<context id="dialog_newJPAProject">
-		<description>Use this dialog to define the new JPA project name, its location, target runtime, and other configuration settings.</description>
-		<topic label="New JPA Project page" href="ref_new_jpa_project.htm" />
-		<topic label="New JPA Project wizard" href="ref_new_jpa_project_wizard" />
-		<topic label="Adding persistence to a project" href="task_add_persistence" />
-		<topic label="Creating a new JPA project" href="task_create_new_project.htm" />
-	</context>
-	<context id="dialog_addJavaPersistence_database">
-		<description>Use these fields to define the database connection used to store the persistent entities.</description>
-		<topic label="Add Persistence dialog" href="ref_add_persistence.htm" />
-		<topic label="Adding persistence to a project" href="task_add_persistence" />
-	</context>
-	<context id="dialog_addJavaPersistence_classpath">
-		<description>Use this option to add libraries or JARs that contain the Java Persistence API (JPA) and entities to the project’s Java Build Path.</description>
-		<topic label="Add Persistence dialog" href="ref_add_persistence.htm" />
-		<topic label="Adding persistence to a project" href="task_add_persistence" />
-	</context>
-	<context id="dialog_addJavaPersistence_packaging">
-		<description>Use these fields to create the persistence.xml file. Select the persistence version, the name of the JPA provider, and a unique name to identify the persistence unit.</description>
-		<topic label="Add Persistence dialog" href="ref_add_persistence.htm" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence.htm" />
-	</context>
-	<context id="wizard_generateDDL_options ">
-		<description>Use this page to select which script options will be included in the generated script.</description>
-		<topic label="Generating tables (DDL) from entities " href="task_generate_ddl.htm" />
-		<topic label="Options page " href="ref_options.htm" />
-	</context>
-	<context id="wizard_generateDDL_objects ">
-		<description>Use this page to select which elements will be included in the generated script.</description>
-		<topic label="Generating tables (DDL) from entities " href="task_generate_ddl.htm" />
-		<topic label="Objects page " href="ref_objects.htm" />
-	</context>
-	<context id="wizard_generateDDL_save ">
-		<description>Use this page to select the filename and location of the generated script. You can also preview the script and specify to run or continue editing the script after generation.</description>
-		<topic label="Generating tables (DDL) from entities " href="task_generate_ddl.htm" />
-		<topic label="Save and Run DDL page " href="ref_save_and_run.htm" />
-	</context>
-	<context id="wizard_generateDDL_summary ">
-		<description>This page shows the settings that you selected for the generated DDL. To change any option click "Back" or click "Finish" to continue.</description>
-		<topic label="Generating tables (DDL) from entities " href="task_generate_ddl.htm" />
-	</context>
-	<context id="mapping_tableGeneratorName">
-		<description>The name of the table sequence generator. This name is global to to the persistence unit (across all generator types).</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_tableGeneratorTable">
-		<description>The database table that stores the generated ID values. </description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_tableGeneratorPrimaryKeyColumn">
-		<description>The database column of the generator table that stores the generated ID values.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_tableGeneratorValueColumn">
-		<description>The name for the column that stores the generated ID values.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_tableGeneratorPrimaryKeyColumnValue">
-		<description>The database column of the generator table that defines the primary key value.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="dialog_databaseAuthorization">
-		<description>Use to connect (log in) to a database connection to use with your Java persistent entities. 
-		You must have a defined database connection (and be connected) to add persistence. </description>
-		<topic label="Add persistence to a Java project" href="task_add_persistence_project.htm"/>
-	</context>
-	<context id="mapping_temporal">
-		<description>Specify if the mapped field contains a Date (java.sql.Date), Time (java.sql.Time), or Timestamp (java.sql.Timestamp) value.</description>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_primaryKeyGeneration">
-		<description>Define how the primary key is generated</description>
-		<topic label="Primary Key Generation information" href="ref_primary_key.htm"/>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_tableGenerator">
-		<description>Specify to use a specific database table for generating the primary key.</description>
-		<topic label="Primary Key Generation information" href="ref_primary_key.htm"/>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_sequenceGenerator">
-		<description>Specify to use a specific sequence for generating the primary key.</description>
-		<topic label="Primary Key Generation information" href="ref_primary_key.htm"/>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_sequenceGeneratorName">
-		<description>Name of the sequence.</description>
-		<topic label="Primary Key Generation information" href="ref_primary_key.htm"/>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_sequenceGeneratorSequence">
-		<description> </description>
-		<topic label="Primary Key Generation information" href="ref_primary_key.htm"/>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_lob">
-		<description>Specify if the field is mapped to java.sql.Clob or java.sql.Blob.</description>
-		<topic label="General information" href="ref_mapping_general.htm"/>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="mapping_enumerated">
-		<description>Specify how to persist enumerated constraints if the String value suits your application requirements or to match an existing database schema.</description>
-		<topic label="General information" href="ref_mapping_general.htm"/>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="dialog_editInverseJoinColumn">
-		<description>.</description>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-	</context>
-	<context id="entity_catalog">
-		<description>The database catalog that contains the Table. This field overrides the defaults in the orm.xml file.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_schema">
-		<description>The database schema that contains the Table. This field overrides the defaults in the orm.xml file.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Adding persistence to a class" href="task_add_persistence.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="orm_package">
-		<description>The Java package that contains the persistent entities to which the orm.xml file applies.</description>
-		<topic label="Managing the orm.xml file" href="task_manage_orm.htm"/>
-		<topic label="JPA Details" href="ref_details_orm.htm"/>
-	</context>
-	<context id="orm_schema">
-		<description>The database schema to use as the default for all entities managed by this persistence unit.</description>
-		<topic label="Managing the orm.xml file" href="task_manage_orm.htm"/>
-		<topic label="JPA Details" href="ref_details_orm.htm"/>
-	</context>
-	<context id="orm_catalog">
-		<description>The database catalog to use as the default for all entities managed by this persistence unit.</description>
-		<topic label="Managing the orm.xml file" href="task_manage_orm.htm"/>
-		<topic label="JPA Details" href="ref_details_orm.htm"/>
-	</context>
-	<context id="orm_access">
-		<description>The default access method for variables in this project: Property or Field.</description>
-		<topic label="Managing the orm.xml file" href="task_manage_orm.htm"/>
-		<topic label="JPA Details" href="ref_details_orm.htm"/>
-	</context>
-	<context id="orm_cascade">
-		<description>Adds cascade-persist to the set of cascade options in entity relationships of the persistence unit.</description>
-		<topic label="Managing the orm.xml file" href="task_manage_orm.htm"/>
-		<topic label="JPA Details" href="ref_details_orm.htm"/>
-	</context>
-	<context id="orm_xml">
-		<description>Specifies that the Java classes in this persistence unit are fully specified by their metadata. Any annotations will be ignored.</description>
-		<topic label="Managing the orm.xml file" href="task_manage_orm.htm"/>
-		<topic label="JPA Details" href="ref_details_orm.htm"/>
-	</context>
-	<context id="dialog_JPAPlatform">
-		<description>Specify the vendor-specific JPA implementation.Default is Generic..</description>
-		<topic label="JPA Facet page" href="ref_jpa_facet.htm"/>
-	</context>
-	<context id="dialog_createORM">
-		<description>Create an initial orm.xml file. Use this file to specify project and persistence unit defaults.</description>
-		<topic label="Managing the orm.xml file" href="task_manage_orm.htm"/>
-		<topic label="JPA Facet page" href="ref_jpa_facet.htm"/>
-	</context>
-
-	<context id="caching_defaultType">
-		<description>Select the default caching strategy for the project. The default is Weak with Soft Subcache.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="caching_defaultSize">
-		<description>Select the default size of the cache. The default is 100 items.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="caching_defaultShared">
-		<description>Specify if cached instances should be in the shared cache or in a client isolated cache.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="logging_level">
-		<description>Specifies the amount and detail of log output by selecting the log level. Default is Info level.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="logging_timeStamp">
-		<description>Control whether the timestamp is logged in each log entry. Default is True.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="logging_thread">
-		<description>Control whether a thread identifier is logged in each log entry. Default is True.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="logging_session">
-		<description>Control whether an EclipseLink session identifier is logged in each log entry. Default is True.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="logging_exceptions">
-		<description>Control whether the exceptions thrown from within the code are logged prior to returning the exception to the calling application. Ensures that all exceptions are logged and not masked by the application code.. Default is False.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="options_sessionName">
-		<description>Specify the name by which the EclipseLink session is stored in the static session manager.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="options_sessionsXml">
-		<description>Specify persistence information loaded from the EclipseLink session configuration file. You can use this option as an alternative to annotations and deployment XML.</description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="options_targetDatabase">
-		<description></description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="options_targetServer">
-		<description> </description>
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="dialog_newJPAProjectJava">
-		<description>Use this dialog to include existing Java source files in this project.</description>
-		<topic label="Java page" href="ref_java_page.htm" />
-		<topic label="New JPA Project wizard" href="ref_new_jpa_project_wizard" />
-		<topic label="Creating a new JPA project" href="task_create_new_project.htm" />
-	</context>
-	<context id="dialog_newJPAProjectFacet">
-		<description>Use this dialog to specify your vender-specific platform, JPA implementation library, and database connection.</description>
-		<topic label="JPA Facet page" href="ref_jpa_facet.htm" />
-		<topic label="New JPA Project wizard" href="ref_new_jpa_project_wizard" />
-		<topic label="Creating a new JPA project" href="task_create_new_project.htm" />
-	</context>
-	<context id="dialog_entityClassPage">
-		<description>Use this dialog to specify package, class name, and inheritance properties of the entity to create.</description>
-		<topic label="Entity Class page" href="ref_EntityClassPage.htm" />
-		<topic label="New JPA Entity wizard" href="ref_create_jpa_entity_wizard.htm" />
-		<topic label="Creating a new JPA entity" href="task_create_jpa_entity.htm" />
-	</context>
-	<context id="dialog_entityPropertiesPage">
-		<description>Use this dialog to specify the entity name, associated table, and mapped fields.</description>
-		<topic label="Entity Properties page" href="ref_EntityPropertiesPage.htm" />
-		<topic label="New JPA Entity wizard" href="ref_create_jpa_entity_wizard.htm" />
-		<topic label="Creating a new JPA entity" href="task_create_jpa_entity.htm" />
-	</context>
-	<context id="dialog_selectTablesPage">
-		<description>Use this dialog to specify the database tables from which to generate entities.</description>
-		<topic label="Select Tables page" href="ref_selectTables.htm" />
-		<topic label="Generate Custom Entities wizard" href="ref_create_custom_entities_wizard.htm" />
-	</context>	
-	<context id="dialog_tableAssociationsPage">
-		<description>Use this dialog to create or edit the association between the database table and entity.</description>
-		<topic label="Table Associations page" href="ref_tableAssociations.htm" />
-		<topic label="Generate Custom Entities wizard" href="ref_create_custom_entities_wizard.htm" />
-	</context>	
-	<context id="dialog_customizeDefaultEntityGeneration">
-		<description>Use this dialog to specify the table mapping and domain class information for the generated entity.</description>
-		<topic label="Customize Default Entity Generation page" href="ref_customizeDefaultEntityGeneration.htm" />
-		<topic label="Generate Custom Entities wizard" href="ref_create_custom_entities_wizard.htm" />
-	</context>	
-	<context id="dialog_customizeIndividualEntities">
-		<description>Use this dialog to specify the table mapping and domain class information for the generated entity.</description>
-		<topic label="Customize Individual Entities page" href="ref_customizIndividualEntities.htm" />
-		<topic label="Generate Custom Entities wizard" href="ref_create_custom_entities_wizard.htm" />
-	</context>	
-
-	<context id="dialog_associationTablesPage">
-		<description>Use this dialog to specify the association tables for an entity.</description>
-		<topic label="Association Tables page" href="ref_association_tables.htm" />
-		<topic label="Create New Association wizard" href="ref_create_new_association_wizard.htm" />
-	</context>	
-	<context id="dialog_joinColumnsPage">
-		<description>Use this dialog to specify the join columns of an association table.</description>
-		<topic label="Join Columns page" href="ref_join_columns.htm" />
-		<topic label="Create New Association wizard" href="ref_create_new_association_wizard.htm" />
-	</context>	
-	<context id="dialog_associationCardinalityPage">
-		<description>Use this dialog to specify cardinality of an association table.</description>
-		<topic label="Association Cardinality page" href="ref_association_cardinality.htm" />
-		<topic label="Create New Association wizard" href="ref_create_new_association_wizard.htm" />
-	</context>	
-	<context id="dialog_selectCascade">
-		<description>Specify which operations are propagated throughout the association: All, Persist, Merge, Remove, or Refresh.</description>
-		<topic label="Select Cascade page" href="ref_select_cascade_dialog.htm"/>
-		<topic label="JPA Details" href="ref_persistence_map_view.htm"/>
-		<topic label="Mapping an entity" href="task_mapping.htm"/>
-		<topic label="Understanding OR mappings" href="concept_mapping.htm"/>
-	</context>
-	<context id="persistence_general">
-		<description>Specify the general persistence options.</description>
-		<topic label="General page" href="ref_persistence_general" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="persistence_connection">
-		<description>Specify the data source or JDBC connection properties.</description>
-		<topic label="Connection page" href="ref_persistence_connection" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="persistence_customization">
-		<description>Specify the default or entity specific EclipseLink customization and validation properties.</description>
-		<topic label="Customization page" href="ref_persistence_connection" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="persistence_caching">
-		<description>Configure the session or entity specific EclipseLink caching properties.</description>
-		<topic label="Caching page" href="ref_persistence_caching" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="persistence_logging">
-		<description>Configure the EclipseLink logging properties.</description>
-		<topic label="Logging page" href="ref_persistence_logging" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="persistence_options">
-		<description>Configure the EclipseLink session and miscellanous options.</description>
-		<topic label="Options page" href="ref_persistence_options" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="persistence_schemaGeneration">
-		<description>Configure the schema generation properties.</description>
-		<topic label="Schema Generation page" href="ref_persistence_schemaGeneration" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-	<context id="persistence_properties">
-		<description>Configure the properties defined for the persistence unit.</description>
-		<topic label="Properties page" href="ref_persistence_properties" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>
-		<context id="persistence_source">
-		<description>Configure the properties defined for the persistence unit.</description>
-		<topic label="Properties page" href="ref_persistence_properties" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the persistence.xml file" href="task_manage_persistence" />
-	</context>	
-	<context id="dialog_eclipselink_mapping_file">
-		<description>Configure the properties defined for the persistence unit.</description>
-		<topic label="New EclipseLink Mapping File page" href="ref_eclipselink_mapping_file" />
-		<topic label="persistence.xml editor" href="ref_persistence_xml_editor" />
-		<topic label="Managing the orm.xml file" href="task_manage_orm" />
-	</context>
-	<context id="dialog_create_new_converters">
-		<description>Use this dialog to create a new EclipseLink conveter.</description>
-		<topic label="Add Converter dialog" href="ref_add_converter" />
-		<topic label="Managing the orm.xml file" href="task_manage_orm" />
-	</context>
-
-<!-- Added for 2.3 -->
-	<context id="properties_canonicalMetamodel">
-		<description>Specifies if the project model uses the Canonical Metamodel. </description>
-		<topic label="Project properties" href="ref_project_properties"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_cacheable">
-		<description>Specify if the entity uses the @Cachable annotation. Default is @Cachable(false).</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Understanding persistence" href="concept_persistence.htm"/>
-	</context>
-	<context id="entity_primaryKeyClass">
-		<description>Click Browse and select the primary key for the entity. Clicking the field name, which is represented as a hyperlink, allows you to create a new class.</description>
-		<topic label="JPA Details" href="ref_persistence_prop_view.htm"/>
-		<topic label="Primary Key Generation information" href="ref_primary_key.htm"/>
-	</context>
-	<context id="wizard_jaxbschema_classes">
-		<description>Select the project, package, or classes from which to generate the XML schema. Click Finish to generate the schema</description>
-		<topic label="Generate Schema from JAXB Classes wizard" href="ref_jaxb_schema_wizard.htm"/>
-		<topic label="Generating schema from classes" href="task_generating_schema_from_classes.htm"/>
-	</context>
-	<context id="configure_jaxb_class_generation_dialog">
-		<description>Enter the JAXB class generation settings and click Finish to generate classes.  All fields are optional except for the source folder.</description>
-		<topic label="Configure JAXB Class Generation dialog" href="ref_configure_jaxb_class_generation_dialog.htm"/>
-		<topic label="Generating JAXB Classes from a Schema" href="task_generate_classes_from_schema.htm"/>
-	</context>
-	
-	
-	
-	
-	
-</contexts>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/dcommon/css/blafdoc.css b/jpa/plugins/org.eclipse.jpt.doc.user/dcommon/css/blafdoc.css
deleted file mode 100644
index baf6127..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/dcommon/css/blafdoc.css
+++ /dev/null
@@ -1,21 +0,0 @@
-@import "../../../PRODUCT_PLUGIN/book.css";
-
-span.control, span.gui-object-action, p.subhead2, span.bold, p.notep1 {
-  font-weight: bold;
-}
-
-span.name, p.titleinfigure, span.italic {
-  font-style: italic;
-}
-
-p.titleinfigure, p.subhead2 {
-  padding-top: 10px;
-}
-
-span.code {
-  font-family: monospace;
-}
-
-span.copyrightlogo {font-size: 0.8em}
-
-.footer {margin-top: 2em;border-top:1px solid #cccccc;padding-top:1em;}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/dcommon/html/cpyr.htm b/jpa/plugins/org.eclipse.jpt.doc.user/dcommon/html/cpyr.htm
deleted file mode 100644
index 382ec67..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/dcommon/html/cpyr.htm
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
-<head>
-<!--  <meta http-equiv="refresh" content="0;url=../../legal.htm"> -->
-</head>
-<body>
-<p><a href="../../legal.htm">License Information</a></p>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started.htm b/jpa/plugins/org.eclipse.jpt.doc.user/getting_started.htm
deleted file mode 100644
index c993ad7..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Getting started</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content=" Getting started" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="sthref2" name="sthref2"></a></p>
-<h1>Getting started</h1>
-<p>This section provides information on getting started with the Java Persistence Tools.</p>
-<ul>
-<li>
-<p><a href="getting_started001.htm#BABEFHCD">Requirements and installation</a></p>
-</li>
-<li>
-<p><a href="getting_started002.htm#BABIGCJA">Dali quick start</a></p>
-</li>
-</ul>
-<p>For additional information, please visit the Dali home page at:</p>
-<p><code><a href="http://www.eclipse.org/webtools/dali">http://www.eclipse.org/webtools/dali</a></code>.</p>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started001.htm b/jpa/plugins/org.eclipse.jpt.doc.user/getting_started001.htm
deleted file mode 100644
index 21cf961..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started001.htm
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Requirements and installation</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Requirements and installation" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABEFHCD" name="BABEFHCD"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Requirements and installation<a id="sthref3" name="sthref3"></a><a id="sthref4" name="sthref4"></a></h1>
-<p>Before installing Dali, ensure that your environment meets the following <span class="italic">minimum</span> requirements:</p>
-<ul>
-<li>
-<p>Eclipse 3.6 (<code><a href="http://www.eclipse.org/downloads">http://www.eclipse.org/downloads</a></code>)</p>
-</li>
-<li>
-<p>Java Runtime Environment (JRE) 1.5 (<code><a href="http://java.com">http://java.com</a></code>)</p>
-</li>
-<li>
-<p>Eclipse Web Tools Platform (WTP) 3.2 (<code><a href="http://www.eclipse.org/webtools">http://www.eclipse.org/webtools</a></code>)</p>
-</li>
-<li>
-<p>Java Persistence API (JPA) for Java EE 5. For example, the EclipseLink implementation for JPA can be obtained from: <code><a href="http://www.eclipse.org/eclipselink/">http://www.eclipse.org/eclipselink/</a></code></p>
-</li>
-</ul>
-<p>Refer to <code><a href="http://www.eclipse.org/webtools/dali/gettingstarted_main.html">http://www.eclipse.org/webtools/dali/gettingstarted_main.html</a></code> for additional installation information.</p>
-<p><a id="sthref5" name="sthref5"></a>Dali is included as part of WTP 3.2. No additional installation or configuration is required.</p>
-<a id="sthref6" name="sthref6"></a>
-<p class="subhead2">Accessibility Features</p>
-<p>Dali supports the standard accessibility features in Eclipse, including the following:</p>
-<ul>
-<li>
-<p>Navigating the user interface using the keyboard.</p>
-</li>
-<li>
-<p>Specifying general accessibility preferences for the editor.</p>
-</li>
-</ul>
-<p>See <a href="../org.eclipse.platform.doc.user/concepts/accessibility/accessmain.htm">Accessibility Features in Eclipse</a> in the <span class="italic">Workbench User Guide</span> for details.</p>
-<a id="sthref7" name="sthref7"></a>
-<p class="subhead2">Help Accessibility</p>
-<p>The documentation and help contains markup to facilitate access by the disabled community. See <a href="../org.eclipse.platform.doc.user/tasks/help_accessibility.htm">Help Accessibility</a> in the <span class="italic">Workbench User Guide</span> for details.</p>
-<p>When using the help, be aware of the following:</p>
-<ul>
-<li>
-<p>Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.</p>
-</li>
-<li>
-<p>This documentation may contain links to Web sites of other companies or organizations that we do not control. We neither evaluate nor make any representations regarding the accessibility of these Web sites.</p>
-</li>
-</ul>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started002.htm b/jpa/plugins/org.eclipse.jpt.doc.user/getting_started002.htm
deleted file mode 100644
index 3285315..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started002.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Dali quick start</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Dali quick start" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABIGCJA" name="BABIGCJA"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Dali quick start</h1>
-<p><a id="sthref8" name="sthref8"></a>This section includes information to help you quickly start using Dali to create relational mappings between Java persistent entities and database tables.</p>
-<ul>
-<li>
-<p><a href="getting_started003.htm#BABDFHDA">Creating a new JPA project</a></p>
-</li>
-<li>
-<p><a href="getting_started004.htm#BABFGDDG">Creating a Java persistent entity with persistent fields</a></p>
-</li>
-</ul>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="tips_and_tricks.htm#CHDHGHBF">Tips and tricks</a><br />
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started003.htm b/jpa/plugins/org.eclipse.jpt.doc.user/getting_started003.htm
deleted file mode 100644
index 2cbac78..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started003.htm
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Creating a new JPA project</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Creating a new JPA project" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABDFHDA" name="BABDFHDA"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Creating a new JPA project</h1>
-<p><a id="sthref9" name="sthref9"></a>This quick start shows how to create a new JPA project.</p>
-<ol>
-<li>
-<p><span class="bold">Select File &gt; New &gt; Project</span>. The Select a Wizard dialog appears.</p>
-<div align="center">
-<div class="inftblnotealso"><br />
-<table class="NoteAlso oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Tip:</p>
-You can also select the JPA perspective and then select <span class="bold">File &gt; New &gt; JPA Project</span>.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnotealso" --></div>
-</li>
-<li>
-<p>Select <span class="bold">JPA Project</span> and then click <span class="bold">Next</span>. The <a href="ref_new_jpa_project.htm#CACBJAGC">New JPA Project page</a> appears.</p>
-</li>
-<li>
-<p>Enter a <span class="gui-object-action">Project name</span> (such as <code>QuickStart</code>).</p>
-</li>
-<li>
-<p>If needed, select the <span class="bold">Target Runtime</span> (such as <code>Apache Tomcat</code>) and configuration, such as <span class="bold">Utility JPA Project with Java 5.0</span> and then click <span class="bold">Next</span>. The Java source page appears.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-The Target Runtime is not required for Java SE development.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</li>
-<li>
-<p>If you have existing Java source files, add them to your classpath and then click <span class="bold">Next</span>. The <a href="ref_jpa_facet.htm#CACIFDIF">JPA Facet page</a> appears.</p>
-</li>
-<li>
-<p>On the JPA Facet dialog, select your vendor-specific JPA platform (or select <span class="bold">Generic</span>), database connection (or create a new connection), JPA implementation library (such as EclipseLink), define how Dali should manage persistent classes, and then click <span class="bold">Finish</span>.</p>
-<div align="center">
-<div class="inftblnotealso"><br />
-<table class="NoteAlso oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Tip:</p>
-Select <span class="bold">Override the Default Schema for Connection</span> if you require a schema other than the one that Dali derives from the connection information, which may be incorrect in some cases. Using this option, you can select a development time schema for defaults and validation.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnotealso" --></div>
-</li>
-</ol>
-<p>Eclipse adds the project to the workbench and opens the JPA perspective.</p>
-<div class="figure"><a id="sthref10" name="sthref10"></a>
-<p class="titleinfigure">JPA Project in Project Explorer</p>
-<img src="img/quickstart_project.png" alt="Package Explorer showing the JPA project." title="Package Explorer showing the JPA project." /><br /></div>
-<!-- class="figure" -->
-<p>Now that you have created a project with persistence, you can continue with <a href="getting_started004.htm#BABFGDDG">Creating a Java persistent entity with persistent fields</a>.</p>
-</div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started004.htm b/jpa/plugins/org.eclipse.jpt.doc.user/getting_started004.htm
deleted file mode 100644
index 249ea76..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/getting_started004.htm
+++ /dev/null
@@ -1,204 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Creating a Java persistent entity with persistent fields</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Creating a Java persistent entity with persistent fields" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABFGDDG" name="BABFGDDG"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Creating a Java persistent entity with persistent fields</h1>
-<p><a id="sthref11" name="sthref11"></a>This quick start shows how to create a new persistent Java entity. We will create an entity to associate with a database table. You will also need to add the ADDRESS table to your database.</p>
-<ol>
-<li>
-<p>Select the JPA project in the Navigator or Project Explorer and then click <span class="bold">New &gt; Other</span>. The Select a Wizard dialog appears.</p>
-</li>
-<li>
-<p>Select <span class="bold">JPA &gt; Entity</span> and then click <span class="bold">Next</span>. The <a href="ref_EntityClassPage.htm#CIAFEIGF">Entity Class page</a> appears.</p>
-</li>
-<li>
-<p>Enter the package name (such as <code>quickstart.demo.model</code>), the class name (such as <code>Address</code>) and then click <span class="bold">Next</span>. The <a href="ref_EntityPropertiesPage.htm#CIADECIA">Entity Properties page</a> appears, which enables you to define the persistence fields, which you will map to the columns of a database table.</p>
-</li>
-<li>
-<p><a id="sthref12" name="sthref12"></a><a id="sthref13" name="sthref13"></a>Use the Entity Fields dialog (invoked by clicking <span class="bold">Add</span>) to add persistence fields to the Address class:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-private Long id;
-private String city;
-private String country;
-private String stateOrProvince;
-private String postalCode;
-private String street;
-</pre>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-You will also need to add the following columns to the ADDRESS database table:
-<pre xml:space="preserve" class="oac_no_warn">
-NUMBER(10,0) ADDRESS_ID (primary key)
-VARCHAR2(80) PROVINCE
-VARCHAR2(80) COUNTRY
-VARCHAR2(20) P_CODE
-VARCHAR2(80) STREET
-VARCHAR2(80) CITY
-</pre>
-<pre xml:space="preserve" class="oac_no_warn">
-</pre></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</li>
-<li>
-<p>Click <span class="bold">Finish</span>. With the Create JPA Entity completed, Eclipse displays the <span class="bold">Address</span> entity in the JPA Structure view.</p>
-<p>Address.java includes the <code>@Entity</code> annotation, the persistence fields, as well as <code>getter</code> and <code>setter</code> methods for each of the fields.</p>
-</li>
-</ol>
-<div class="figure"><a id="sthref14" name="sthref14"></a>
-<p class="titleinfigure">Address Entity in Address.java</p>
-<img src="img/java_editor_address.png" alt="Java editor with the Address entity." title="Java editor with the Address entity." /><br /></div>
-<!-- class="figure" -->
-<p>Eclipse also displays the <span class="bold">Address</span> entity in the JPA Structure view:</p>
-<div class="figure"><a id="sthref15" name="sthref15"></a>
-<p class="titleinfigure">Address Entity in the JPA Structure View</p>
-<img src="img/address_java_JPA_structure_quickstart.png" alt="Address.java in the JPA Structure View." title="Address.java in the JPA Structure View." /><br /></div>
-<!-- class="figure" -->
-<ol>
-<li>
-<p>Select the <span class="gui-object-action">Address</span> class in the Project Explorer view.</p>
-</li>
-<li>
-<p>In the <span class="gui-object-title">JPA Details</span> view, notice that Dali has automatically associated the ADDRESS database table with the entity because they are named identically.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-Depending on your database connection type, you may need to specify the <span class="bold">Schema</span>.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-<div class="figure"><a id="sthref16" name="sthref16"></a>
-<p class="titleinfigure">JPA Details View for Address Entity</p>
-<img src="img/address.java_jpa_details.png" alt="Address.java in the JPA Details view." title="Address.java in the JPA Details view." /><br /></div>
-<!-- class="figure" --></li>
-</ol>
-<div align="center">
-<div class="inftblnotealso"><br />
-<table class="NoteAlso oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Tip:</p>
-After associating the entity with the database table, you should update the <code>persistence.xml</code> file to include this JPA entity.
-<p>Right-click the <code>persistence.xml</code> file in the Project Explorer and select <span class="bold">JPA Tools &gt; Synchronize Class List</span>. Dali adds the following to the <code>persistence.xml</code> file:</p>
-<p><code>&lt;class&gt;quickstart.demo.model.Address&lt;/class&gt;</code></p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnotealso" --></div>
-<p>Now we are ready to map each fields in the Address class to a column in the database table.</p>
-<ol>
-<li>
-<p>Select the <span class="gui-object-action">id</span> field in the JPA Details view.</p>
-</li>
-<li>
-<p>Right click id and then select <span class="bold">Map As &gt; id</span>.</p>
-</li>
-<li>
-<p>In the JPA Details view, select <span class="bold">ADDRESS_ID</span> in the Name field:</p>
-<div class="figure"><a id="sthref17" name="sthref17"></a>
-<p class="titleinfigure">JPA Details View for the addressId Field</p>
-<img src="img/address_id_details_quickstart.png" alt="The JPA Details view for the Address entity&rsquo;s id attribute." title="The JPA Details view for the Address entity&rsquo;s id attribute." /><br /></div>
-<!-- class="figure" -->
-<p>Eclipse adds the following annotations to the Address entity:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@Id
-@Column(name="ADDRESS_ID")
-</pre></li>
-<li>
-<p>Map each of the following fields (as <span class="bold">Basic</span> mappings) to the appropriate database column:</p>
-<div class="inftblhruleinformal">
-<table class="HRuleInformal" title="This table describes the mappings for each of the fields in the Address entity." summary="This table describes the mappings for each of the fields in the Address entity." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="*" />
-<col width="33%" />
-<col width="33%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t8">Field</th>
-<th align="left" valign="bottom" id="r1c2-t8">Map As</th>
-<th align="left" valign="bottom" id="r1c3-t8">Database Column</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t8" headers="r1c1-t8">city</td>
-<td align="left" headers="r2c1-t8 r1c2-t8">Basic</td>
-<td align="left" headers="r2c1-t8 r1c3-t8">CITY</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t8" headers="r1c1-t8">country</td>
-<td align="left" headers="r3c1-t8 r1c2-t8">Basic</td>
-<td align="left" headers="r3c1-t8 r1c3-t8">COUNTRY</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t8" headers="r1c1-t8">postalCode</td>
-<td align="left" headers="r4c1-t8 r1c2-t8">Basic</td>
-<td align="left" headers="r4c1-t8 r1c3-t8">P_CODE</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t8" headers="r1c1-t8">provinceOrState</td>
-<td align="left" headers="r5c1-t8 r1c2-t8">Basic</td>
-<td align="left" headers="r5c1-t8 r1c3-t8">PROVINCE</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t8" headers="r1c1-t8">street</td>
-<td align="left" headers="r6c1-t8 r1c2-t8">Basic</td>
-<td align="left" headers="r6c1-t8 r1c3-t8">STREET</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblhruleinformal" --></li>
-</ol>
-<p>Dali automatically maps some fields to the correct database column (such as the city field to the City column) if the names are identical.</p>
-</div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/address.java_jpa_details.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/address.java_jpa_details.png
deleted file mode 100644
index bdcf008..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/address.java_jpa_details.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/address_id_details_quickstart.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/address_id_details_quickstart.png
deleted file mode 100644
index 7ef40cf..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/address_id_details_quickstart.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/address_java_JPA_structure_quickstart.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/address_java_JPA_structure_quickstart.png
deleted file mode 100644
index 1af51a9..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/address_java_JPA_structure_quickstart.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/create_jpa_entity_wizard.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/create_jpa_entity_wizard.png
deleted file mode 100644
index 0360e0a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/create_jpa_entity_wizard.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/create_jpa_fields.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/create_jpa_fields.png
deleted file mode 100644
index 69797a8..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/create_jpa_fields.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/customize_default_entity_generation.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/customize_default_entity_generation.png
deleted file mode 100644
index 9567616..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/customize_default_entity_generation.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/customize_individual_entities.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/customize_individual_entities.png
deleted file mode 100644
index 237bdee..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/customize_individual_entities.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/details_entitymappings.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/details_entitymappings.png
deleted file mode 100644
index d66300e..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/details_entitymappings.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/error_sample.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/error_sample.png
deleted file mode 100644
index 3a49646..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/error_sample.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/generate_classes_from_schema.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/generate_classes_from_schema.png
deleted file mode 100644
index b911d02..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/generate_classes_from_schema.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/generate_entities.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/generate_entities.png
deleted file mode 100644
index 4daa25c..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/generate_entities.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/icon_basicmapmappings.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/icon_basicmapmappings.png
deleted file mode 100644
index 86eef3a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/icon_basicmapmappings.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/icon_basicmapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/icon_basicmapping.png
deleted file mode 100644
index b193753..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/icon_basicmapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_join.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_join.png
deleted file mode 100644
index 22b6875..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_join.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_single.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_single.png
deleted file mode 100644
index 3146482..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_single.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_tab.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_tab.png
deleted file mode 100644
index b76dd9f..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/inheritance_tab.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/java_editor_address.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/java_editor_address.png
deleted file mode 100644
index 4742890..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/java_editor_address.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/jaxb_schmea_generation_dialog.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/jaxb_schmea_generation_dialog.png
deleted file mode 100644
index c9b222e..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/jaxb_schmea_generation_dialog.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/jpa_wizard_create_fields.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/jpa_wizard_create_fields.png
deleted file mode 100644
index 30550ea..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/jpa_wizard_create_fields.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapped_entity_type_link.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/mapped_entity_type_link.png
deleted file mode 100644
index 2b61603..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapped_entity_type_link.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_file_new.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_file_new.png
deleted file mode 100644
index 3355741..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_file_new.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_embed.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_embed.png
deleted file mode 100644
index 086ea6e..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_embed.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_entity.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_entity.png
deleted file mode 100644
index 2604fd9..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_entity.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_superclass.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_superclass.png
deleted file mode 100644
index e28e8fa..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/mapping_type_selection_superclass.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/modify_faceted_project.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/modify_faceted_project.png
deleted file mode 100644
index f4c7968..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/modify_faceted_project.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_basicmappings.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_basicmappings.png
deleted file mode 100644
index 1b0b7ff..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_basicmappings.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddableentitymapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddableentitymapping.png
deleted file mode 100644
index 48294ed..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddableentitymapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddedidmapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddedidmapping.png
deleted file mode 100644
index abe9dc8..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddedidmapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddedmapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddedmapping.png
deleted file mode 100644
index 44d52b8..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_embeddedmapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_idmapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_idmapping.png
deleted file mode 100644
index fdefb5d..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_idmapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_manytomanymapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_manytomanymapping.png
deleted file mode 100644
index eb8022e..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_manytomanymapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_manytoonemapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_manytoonemapping.png
deleted file mode 100644
index ccacc19..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_manytoonemapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_mappedentity.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_mappedentity.png
deleted file mode 100644
index 398ea2c..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_mappedentity.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_mappedsuperclass.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_mappedsuperclass.png
deleted file mode 100644
index fc97ceb..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_mappedsuperclass.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_onetomanymapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_onetomanymapping.png
deleted file mode 100644
index 5ddc989..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_onetomanymapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_onetoonemapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_onetoonemapping.png
deleted file mode 100644
index 74d9bbd..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_onetoonemapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_transientmapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_transientmapping.png
deleted file mode 100644
index 750488f..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_transientmapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_versionmapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_versionmapping.png
deleted file mode 100644
index a873712..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_icon_versionmapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_facet_task.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_facet_task.png
deleted file mode 100644
index 7607808..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_facet_task.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_perspective_button.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_perspective_button.png
deleted file mode 100644
index 07425ad..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_perspective_button.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_project_task.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_project_task.png
deleted file mode 100644
index ab079c2..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/new_jpa_project_task.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelc.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelc.png
deleted file mode 100644
index 88381a5..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelc.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelr.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelr.png
deleted file mode 100644
index 4bbc744..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelr.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelt.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelt.png
deleted file mode 100644
index 60af21f..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/ngrelt.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/persistence_outline_view.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/persistence_outline_view.png
deleted file mode 100644
index 769aa82..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/persistence_outline_view.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/project_properties_tasks.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/project_properties_tasks.png
deleted file mode 100644
index 97557ee..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/project_properties_tasks.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/quickstart_project.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/quickstart_project.png
deleted file mode 100644
index 48ca050..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/quickstart_project.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/secondary_tables.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/secondary_tables.png
deleted file mode 100644
index a41f9f5..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/secondary_tables.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_entity.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_entity.png
deleted file mode 100644
index 2cebe90..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_entity.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_jpa_project.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_jpa_project.png
deleted file mode 100644
index 1823502..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_jpa_project.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_mapping.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_mapping.png
deleted file mode 100644
index 049c9d1..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_a_wizard_mapping.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_jaxb_schema_wizard.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/select_jaxb_schema_wizard.png
deleted file mode 100644
index 587e61c..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_jaxb_schema_wizard.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_tables.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/select_tables.png
deleted file mode 100644
index a57c931..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/select_tables.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/synchornize_classes.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/synchornize_classes.png
deleted file mode 100644
index a359f64..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/synchornize_classes.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/table_associations.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/table_associations.png
deleted file mode 100644
index b5b40be..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/table_associations.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/table_entity.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/table_entity.png
deleted file mode 100644
index 1aa1dbe..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/table_entity.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/task_entering_query.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/task_entering_query.png
deleted file mode 100644
index e8beaceb..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/task_entering_query.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/img/upgrade_persistence_jpa_version.png b/jpa/plugins/org.eclipse.jpt.doc.user/img/upgrade_persistence_jpa_version.png
deleted file mode 100644
index 96fa4d2..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/img/upgrade_persistence_jpa_version.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/index.xml b/jpa/plugins/org.eclipse.jpt.doc.user/index.xml
deleted file mode 100644
index acf9beb..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/index.xml
+++ /dev/null
@@ -1,668 +0,0 @@
-<?xml version='1.0' encoding='iso-8859-1'?>
-<index version="1.0">
-  <entry keyword="@Basic">
-    <entry keyword="Basic mapping"><topic href="tasks010.htm#sthref116" /></entry>
-  </entry>
-  <entry keyword="@Column">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref245" /></entry>
-  </entry>
-  <entry keyword="@DiscriminatorColumn">
-    <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref96" /></entry>
-    <entry keyword="Inheritance information"><topic href="reference009.htm#sthref239" /></entry>
-  </entry>
-  <entry keyword="@DiscriminatorValue">
-    <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref98" /></entry>
-    <entry keyword="Inheritance information"><topic href="reference009.htm#sthref237" /></entry>
-  </entry>
-  <entry keyword="@Embeddable">
-    <entry keyword="Embeddable"><topic href="tasks007.htm#sthref81" /></entry>
-  </entry>
-  <entry keyword="@Embedded">
-    <entry keyword="Embedded mapping"><topic href="tasks011.htm#sthref120" /></entry>
-  </entry>
-  <entry keyword="@EmbeddedId">
-    <entry keyword="Embedded ID mapping"><topic href="tasks012.htm#sthref124" /></entry>
-  </entry>
-  <entry keyword="@Entity">
-    <entry keyword="Entity"><topic href="tasks006.htm#sthref74" /></entry>
-  </entry>
-  <entry keyword="@Enumerated">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref255" /></entry>
-  </entry>
-  <entry keyword="@GeneratedValue">
-    <entry keyword="Primary Key Generation information"><topic href="ref_primary_key.htm#sthref265" /></entry>
-  </entry>
-  <entry keyword="@Id">
-    <entry keyword="ID mapping"><topic href="tasks013.htm#sthref128" /></entry>
-  </entry>
-  <entry keyword="@Inheritance">
-    <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref94" /></entry>
-  </entry>
-  <entry keyword="@JoinColumn">
-    <entry keyword="Many-to-one mapping"><topic href="tasks015.htm#sthref139" /></entry>
-    <entry keyword="One-to-one mapping"><topic href="tasks017.htm#sthref149" /></entry>
-    <entry keyword="Join Table Information"><topic href="reference011.htm#sthref261" /></entry>
-    <entry keyword="Join Columns Information"><topic href="reference012.htm#sthref264" /></entry>
-  </entry>
-  <entry keyword="@Lob">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref250" /></entry>
-  </entry>
-  <entry keyword="@ManyToMany">
-    <entry keyword="Many-to-many mapping"><topic href="tasks014.htm#sthref132" /></entry>
-  </entry>
-  <entry keyword="@ManyToOne">
-    <entry keyword="Many-to-one mapping"><topic href="tasks015.htm#sthref137" /></entry>
-  </entry>
-  <entry keyword="@MappedSuperclass">
-    <entry keyword="Mapped superclass"><topic href="tasks008.htm#sthref88" /></entry>
-  </entry>
-  <entry keyword="@NamedQuery">
-    <entry keyword="Creating Named Queries"><topic href="tasks009.htm#sthref108" /></entry>
-  </entry>
-  <entry keyword="@OneToMany">
-    <entry keyword="One-to-many mapping"><topic href="tasks016.htm#sthref142" /></entry>
-  </entry>
-  <entry keyword="@OneToOne">
-    <entry keyword="One-to-one mapping"><topic href="tasks017.htm#sthref146" /></entry>
-  </entry>
-  <entry keyword="@OrderBy">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref259" /></entry>
-  </entry>
-  <entry keyword="@SequenceGenerator">
-    <entry keyword="Primary Key Generation information"><topic href="ref_primary_key.htm#sthref267" /></entry>
-  </entry>
-  <entry keyword="@Temporal">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref252" /></entry>
-  </entry>
-  <entry keyword="@Transient">
-    <entry keyword="Transient mapping"><topic href="tasks018.htm#sthref152" /></entry>
-  </entry>
-  <entry keyword="@Version">
-    <entry keyword="Version mapping"><topic href="tasks019.htm#sthref156" /></entry>
-  </entry>
-  <entry keyword="architecture of Dali feature">
-    <entry keyword="Dali Developer Documentation"><topic href="reference033.htm#sthref303" /></entry>
-  </entry>
-  <entry keyword="association tables">
-    <entry keyword="Create New Association"><topic href="ref_create_new_association_wizard.htm#sthref221" /></entry>
-  </entry>
-  <entry keyword="attribute overrides">
-    <entry keyword="Attribute overrides"><topic href="reference007.htm#sthref228" /></entry>
-  </entry>
-  <entry keyword="Attribute Overrides - in Java Details view">
-    <entry keyword="Attribute overrides"><topic href="reference007.htm#sthref230" /></entry>
-  </entry>
-  <entry keyword="attributes">
-    <entry keyword="JPA Details view">
-      <entry keyword="JPA Details view (for attributes)"><topic href="ref_persistence_map_view.htm#sthref244" /></entry>
-    </entry>
-    <entry keyword="mapping">
-      <entry keyword="Understanding OR mappings"><topic href="concept_mapping.htm#sthref21" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="basic mapping">
-    <entry keyword="@Basic">
-      <entry keyword="Basic mapping"><topic href="tasks010.htm#sthref117" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Basic mapping"><topic href="tasks010.htm#sthref115" /></entry>
-    </entry>
-    <entry keyword="(See also mappings)"></entry>
-  </entry>
-  <entry keyword="caching">
-    <entry keyword="Caching"><topic href="reference020.htm#sthref278" /></entry>
-  </entry>
-  <entry keyword="canonical metamodel">
-    <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref298" /></entry>
-  </entry>
-  <entry keyword="cardinality - association tables">
-    <entry keyword="Association Cardinality"><topic href="ref_association_cardinality.htm#sthref224" /></entry>
-  </entry>
-  <entry keyword="classes">
-    <entry keyword="adding persistence to">
-      <entry keyword="Adding persistence to a class"><topic href="task_add_persistence.htm#sthref69" /></entry>
-    </entry>
-    <entry keyword="embeddable">
-      <entry keyword="Embeddable"><topic href="tasks007.htm#sthref80" /></entry>
-    </entry>
-    <entry keyword="entity">
-      <entry keyword="Entity"><topic href="tasks006.htm#sthref72" /></entry>
-    </entry>
-    <entry keyword="generating schema from">
-      <entry keyword="Generating Schema from Classes"><topic href="task_generating_schema_from_classes.htm#sthref190" /></entry>
-      <entry keyword="Generating JAXB Classes from a Schema"><topic href="task_generate_classes_from_schema.htm#sthref198" /></entry>
-    </entry>
-    <entry keyword="managed">
-      <entry keyword="Managing the persistence.xml file"><topic href="task_manage_persistence.htm#sthref50" /></entry>
-    </entry>
-    <entry keyword="managing persistent classes">
-      <entry keyword="JPA Facet page"><topic href="ref_jpa_facet.htm#sthref207" /></entry>
-    </entry>
-    <entry keyword="mapped superclass">
-      <entry keyword="Mapped superclass"><topic href="tasks008.htm#sthref86" /></entry>
-    </entry>
-    <entry keyword="synchronizing">
-      <entry keyword="Synchronizing classes"><topic href="tasks002.htm#sthref52" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="columns">
-    <entry keyword="discriminator">
-      <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref97" /></entry>
-      <entry keyword="Inheritance information"><topic href="reference009.htm#sthref240" /></entry>
-    </entry>
-    <entry keyword="join">
-      <entry keyword="Many-to-one mapping"><topic href="tasks015.htm#sthref138" /></entry>
-      <entry keyword="One-to-one mapping"><topic href="tasks017.htm#sthref148" /></entry>
-      <entry keyword="Join Table Information"><topic href="reference011.htm#sthref260" /></entry>
-      <entry keyword="Join Columns Information"><topic href="reference012.htm#sthref263" /></entry>
-    </entry>
-    <entry keyword="mapping to">
-      <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref246" /></entry>
-    </entry>
-    <entry keyword="value">
-      <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref99" /></entry>
-      <entry keyword="Inheritance information"><topic href="reference009.htm#sthref238" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="connection pool">
-    <entry keyword="Managing the persistence.xml file"><topic href="task_manage_persistence.htm#sthref51" /></entry>
-  </entry>
-  <entry keyword="converting Java project to JPA">
-    <entry keyword="Converting a Java Project to a JPA Project"><topic href="tasks001.htm#sthref37" /></entry>
-  </entry>
-  <entry keyword="Create a JPA Project Wizard">
-    <entry keyword="Creating a new JPA project"><topic href="task_create_new_project.htm#sthref29" /></entry>
-    <entry keyword="Generating Schema from Classes"><topic href="task_generating_schema_from_classes.htm#sthref194" /></entry>
-    <entry keyword="Generating JAXB Classes from a Schema"><topic href="task_generate_classes_from_schema.htm#sthref202" /></entry>
-  </entry>
-  <entry keyword="Create New JPA Project wizard">
-    <entry keyword="Create New JPA Project wizard"><topic href="ref_new_jpa_project_wizard.htm#sthref204" /></entry>
-  </entry>
-  <entry keyword="database tables">
-    <entry keyword="generating entities from">
-      <entry keyword="Generating entities from tables"><topic href="tasks021.htm#sthref161" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="database - persistence">
-    <entry keyword="connection">
-      <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref293" /></entry>
-    </entry>
-    <entry keyword="schema">
-      <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref295" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="derived ID">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref257" /></entry>
-  </entry>
-  <entry keyword="developer documentation - Dali">
-    <entry keyword="Dali Developer Documentation"><topic href="reference033.htm#sthref302" /></entry>
-  </entry>
-  <entry keyword="eager fetch">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref248" /></entry>
-  </entry>
-  <entry keyword="embeddable class">
-    <entry keyword="@Embeddable">
-      <entry keyword="Embeddable"><topic href="tasks007.htm#sthref82" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Embeddable"><topic href="tasks007.htm#sthref79" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="embedded ID mapping">
-    <entry keyword="@EmbeddedId">
-      <entry keyword="Embedded ID mapping"><topic href="tasks012.htm#sthref125" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Embedded ID mapping"><topic href="tasks012.htm#sthref123" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="embedded mapping">
-    <entry keyword="@Embedded">
-      <entry keyword="Embedded mapping"><topic href="tasks011.htm#sthref121" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Embedded mapping"><topic href="tasks011.htm#sthref119" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="entities">
-    <entry keyword="@Entity annotation">
-      <entry keyword="Entity"><topic href="tasks006.htm#sthref75" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Understanding Java persistence"><topic href="concept_persistence.htm#sthref20" /></entry>
-    </entry>
-    <entry keyword="creating">
-      <entry keyword="Creating a JPA Entity"><topic href="task_create_jpa_entity.htm#sthref40" /></entry>
-    </entry>
-    <entry keyword="customizing">
-      <entry keyword="Customize Individual Entities"><topic href="ref_customizIndividualEntities.htm#sthref220" /></entry>
-    </entry>
-    <entry keyword="embeddable">
-      <entry keyword="Embeddable"><topic href="tasks007.htm#sthref83" /></entry>
-    </entry>
-    <entry keyword="from tables">
-      <entry keyword="Generating entities from tables"><topic href="tasks021.htm#sthref158" /></entry>
-      <entry keyword="Select Tables"><topic href="ref_selectTables.htm#sthref216" /></entry>
-    </entry>
-    <entry keyword="generating">
-      <entry keyword="Customize Default Entity Generation"><topic href="ref_customizeDefaultEntityGeneration.htm#sthref219" /></entry>
-    </entry>
-    <entry keyword="JPA Details view">
-      <entry keyword="JPA Details view (for entities)"><topic href="ref_persistence_prop_view.htm#sthref227" /></entry>
-    </entry>
-    <entry keyword="mapped superclass">
-      <entry keyword="Mapped superclass"><topic href="tasks008.htm#sthref89" /></entry>
-    </entry>
-    <entry keyword="mapping">
-      <entry keyword="Creating a Java persistent entity with persistent fields"><topic href="getting_started004.htm#sthref13" /></entry>
-    </entry>
-    <entry keyword="persistence">
-      <entry keyword="Creating a Java persistent entity with persistent fields"><topic href="getting_started004.htm#sthref11" /></entry>
-    </entry>
-    <entry keyword="persistent">
-      <entry keyword="Entity"><topic href="tasks006.htm#sthref70" /></entry>
-      <entry keyword="Entity"><topic href="tasks006.htm#sthref76" /></entry>
-    </entry>
-    <entry keyword="secondary tables">
-      <entry keyword="Secondary table information"><topic href="reference008.htm#sthref233" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="Entity Class page">
-    <entry keyword="Selecting the Create a JPA Entity Wizard"><topic href="task_create_jpa_entity.htm#sthref43" /></entry>
-  </entry>
-  <entry keyword="Entity Properties page">
-    <entry keyword="&lt;a id=&quot;sthref43&quot; name=&quot;sthref43&quot;&gt;&lt;/a&gt;The Entity Class Page"><topic href="task_create_jpa_entity.htm#sthref45" /></entry>
-  </entry>
-  <entry keyword="enumerated">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref254" /></entry>
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref256" /></entry>
-  </entry>
-  <entry keyword="error messages - Dali">
-    <entry keyword="Validating mappings and reporting problems"><topic href="tasks023.htm#sthref167" /></entry>
-    <entry keyword="Error messages"><topic href="tasks024.htm#sthref172" /></entry>
-  </entry>
-  <entry keyword="extension points - Dali feature">
-    <entry keyword="Dali Developer Documentation"><topic href="reference033.htm#sthref304" /></entry>
-  </entry>
-  <entry keyword="fetch type">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref247" /></entry>
-  </entry>
-  <entry keyword="Generate Entities from Tables dialog">
-    <entry keyword="Generating entities from tables"><topic href="tasks021.htm#sthref160" /></entry>
-    <entry keyword="Select Tables"><topic href="ref_selectTables.htm#sthref215" /></entry>
-  </entry>
-  <entry keyword="Generate Schema from Classes wizard">
-    <entry keyword="Generating Schema from Classes"><topic href="task_generating_schema_from_classes.htm#sthref192" /></entry>
-    <entry keyword="Generating JAXB Classes from a Schema"><topic href="task_generate_classes_from_schema.htm#sthref200" /></entry>
-  </entry>
-  <entry keyword="generated values">
-    <entry keyword="ID mappings">
-      <entry keyword="Primary Key Generation information"><topic href="ref_primary_key.htm#sthref266" /></entry>
-    </entry>
-    <entry keyword="sequence">
-      <entry keyword="Primary Key Generation information"><topic href="ref_primary_key.htm#sthref268" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="hints - query">
-    <entry keyword="Creating Named Queries"><topic href="tasks009.htm#sthref110" /></entry>
-  </entry>
-  <entry keyword="ID mapping">
-    <entry keyword="@Id">
-      <entry keyword="ID mapping"><topic href="tasks013.htm#sthref129" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="ID mapping"><topic href="tasks013.htm#sthref127" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="inheritance">
-    <entry keyword="entity">
-      <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref93" /></entry>
-      <entry keyword="Entity Class page"><topic href="ref_EntityClassPage.htm#sthref209" /></entry>
-      <entry keyword="Inheritance information"><topic href="reference009.htm#sthref236" /></entry>
-    </entry>
-    <entry keyword="joined tables">
-      <entry keyword="Single Table Inheritance"><topic href="task_inheritance.htm#sthref105" /></entry>
-    </entry>
-    <entry keyword="single table">
-      <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref100" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="Inheritance - in Java Details view">
-    <entry keyword="Inheritance information"><topic href="reference009.htm#sthref235" /></entry>
-  </entry>
-  <entry keyword="installation - Dali">
-    <entry keyword="Requirements and installation"><topic href="getting_started001.htm#sthref3" /></entry>
-  </entry>
-  <entry keyword="Java project - converting to JPA">
-    <entry keyword="Converting a Java Project to a JPA Project"><topic href="tasks001.htm#sthref35" /></entry>
-  </entry>
-  <entry keyword="JAXB">
-    <entry keyword="Generating Schema from Classes"><topic href="task_generating_schema_from_classes.htm#sthref191" /></entry>
-    <entry keyword="Generating JAXB Classes from a Schema"><topic href="task_generate_classes_from_schema.htm#sthref199" /></entry>
-  </entry>
-  <entry keyword="join columns">
-    <entry keyword="Join Columns"><topic href="ref_join_columns.htm#sthref223" /></entry>
-    <entry keyword="Join Columns Information"><topic href="reference012.htm#sthref262" /></entry>
-  </entry>
-  <entry keyword="joined tables - inheritance">
-    <entry keyword="Single Table Inheritance"><topic href="task_inheritance.htm#sthref106" /></entry>
-  </entry>
-  <entry keyword="JPA Details view">
-    <entry keyword="attributes">
-      <entry keyword="JPA Details view (for attributes)"><topic href="ref_persistence_map_view.htm#sthref242" /></entry>
-    </entry>
-    <entry keyword="entities">
-      <entry keyword="JPA Details view (for entities)"><topic href="ref_persistence_prop_view.htm#sthref225" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="JPA Development perspective">
-    <entry keyword="JPA Development perspective"><topic href="ref_persistence_perspective.htm#sthref300" /></entry>
-  </entry>
-  <entry keyword="JPA Facet page">
-    <entry keyword="The Java Source Page"><topic href="task_create_new_project.htm#sthref34" /></entry>
-  </entry>
-  <entry keyword="JPA project">
-    <entry keyword="converting from Java">
-      <entry keyword="Converting a Java Project to a JPA Project"><topic href="tasks001.htm#sthref36" /></entry>
-    </entry>
-    <entry keyword="creating new">
-      <entry keyword="Creating a new JPA project"><topic href="task_create_new_project.htm#sthref27" /></entry>
-    </entry>
-    <entry keyword="implementation">
-      <entry keyword="JPA Facet page"><topic href="ref_jpa_facet.htm#sthref205" /></entry>
-    </entry>
-    <entry keyword="page">
-      <entry keyword="&lt;a id=&quot;sthref29&quot; name=&quot;sthref29&quot;&gt;&lt;/a&gt;Selecting the Create a JPA Project wizard"><topic href="task_create_new_project.htm#sthref31" /></entry>
-      <entry keyword="&lt;a id=&quot;sthref194&quot; name=&quot;sthref194&quot;&gt;&lt;/a&gt;Selecting the Schema from JAXB Classes wizard"><topic href="task_generating_schema_from_classes.htm#sthref196" /></entry>
-    </entry>
-    <entry keyword="platform">
-      <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref292" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="JPA Structure view">
-    <entry keyword="JPA Structure view"><topic href="ref_persistence_outline.htm#sthref270" /></entry>
-  </entry>
-  <entry keyword="lazy fetch">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref249" /></entry>
-  </entry>
-  <entry keyword="library - JPA">
-    <entry keyword="JPA Facet page"><topic href="ref_jpa_facet.htm#sthref206" /></entry>
-  </entry>
-  <entry keyword="many-to-many mapping">
-    <entry keyword="@ManyToMany">
-      <entry keyword="Many-to-many mapping"><topic href="tasks014.htm#sthref133" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Many-to-many mapping"><topic href="tasks014.htm#sthref131" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="many-to-one mapping">
-    <entry keyword="@ManyToOne">
-      <entry keyword="Many-to-one mapping"><topic href="tasks015.htm#sthref136" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Many-to-one mapping"><topic href="tasks015.htm#sthref135" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="mapped superclass">
-    <entry keyword="@MappedSuperclass">
-      <entry keyword="Mapped superclass"><topic href="tasks008.htm#sthref87" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Mapped superclass"><topic href="tasks008.htm#sthref85" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="mapping entities">
-    <entry keyword="Creating a Java persistent entity with persistent fields"><topic href="getting_started004.htm#sthref12" /></entry>
-  </entry>
-  <entry keyword="mapping file">
-    <entry keyword="&lt;a id=&quot;sthref58&quot; name=&quot;sthref58&quot;&gt;&lt;/a&gt;Managing the orm.xml file"><topic href="tasks004.htm#sthref61" /></entry>
-    <entry keyword="Entity Class page"><topic href="ref_EntityClassPage.htm#sthref210" /></entry>
-  </entry>
-  <entry keyword="mappings">
-    <entry keyword="about">
-      <entry keyword="Understanding OR mappings"><topic href="concept_mapping.htm#sthref22" /></entry>
-    </entry>
-    <entry keyword="basic">
-      <entry keyword="Basic mapping"><topic href="tasks010.htm#sthref114" /></entry>
-    </entry>
-    <entry keyword="embedded">
-      <entry keyword="Embedded mapping"><topic href="tasks011.htm#sthref118" /></entry>
-    </entry>
-    <entry keyword="embedded ID">
-      <entry keyword="Embedded ID mapping"><topic href="tasks012.htm#sthref122" /></entry>
-    </entry>
-    <entry keyword="ID">
-      <entry keyword="ID mapping"><topic href="tasks013.htm#sthref126" /></entry>
-    </entry>
-    <entry keyword="many-to-many">
-      <entry keyword="Many-to-many mapping"><topic href="tasks014.htm#sthref130" /></entry>
-    </entry>
-    <entry keyword="many-to-one">
-      <entry keyword="Many-to-one mapping"><topic href="tasks015.htm#sthref134" /></entry>
-    </entry>
-    <entry keyword="one-to-many">
-      <entry keyword="One-to-many mapping"><topic href="tasks016.htm#sthref140" /></entry>
-    </entry>
-    <entry keyword="one-to-one">
-      <entry keyword="One-to-one mapping"><topic href="tasks017.htm#sthref144" /></entry>
-    </entry>
-    <entry keyword="problems">
-      <entry keyword="Validating mappings and reporting problems"><topic href="tasks023.htm#sthref170" /></entry>
-    </entry>
-    <entry keyword="transient">
-      <entry keyword="Transient mapping"><topic href="tasks018.htm#sthref150" /></entry>
-    </entry>
-    <entry keyword="version">
-      <entry keyword="Version mapping"><topic href="tasks019.htm#sthref154" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="metamodel - canonical">
-    <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref299" /></entry>
-  </entry>
-  <entry keyword="named queries">
-    <entry keyword="entity">
-      <entry keyword="Creating Named Queries"><topic href="tasks009.htm#sthref107" /></entry>
-    </entry>
-    <entry keyword="hints">
-      <entry keyword="Creating Named Queries"><topic href="tasks009.htm#sthref111" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="native queries">
-    <entry keyword="Creating Named Queries"><topic href="tasks009.htm#sthref112" /></entry>
-  </entry>
-  <entry keyword="nonpersistent">
-    <entry keyword="classes">
-      <entry keyword="Adding persistence to a class"><topic href="task_add_persistence.htm#sthref68" /></entry>
-    </entry>
-    <entry keyword="fields. See transient"></entry>
-  </entry>
-  <entry keyword="one-to-many mapping">
-    <entry keyword="@OneToMany">
-      <entry keyword="One-to-many mapping"><topic href="tasks016.htm#sthref143" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="One-to-many mapping"><topic href="tasks016.htm#sthref141" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="one-to-one mapping">
-    <entry keyword="@OneToOne">
-      <entry keyword="One-to-one mapping"><topic href="tasks017.htm#sthref147" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="One-to-one mapping"><topic href="tasks017.htm#sthref145" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="ordering">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref258" /></entry>
-  </entry>
-  <entry keyword="orm.xml file">
-    <entry keyword="about">
-      <entry keyword="The orm.xml file"><topic href="concepts003.htm#sthref24" /></entry>
-    </entry>
-    <entry keyword="creating">
-      <entry keyword="JPA Facet page"><topic href="ref_jpa_facet.htm#sthref208" /></entry>
-    </entry>
-    <entry keyword="managing">
-      <entry keyword="Managing the orm.xml file"><topic href="task_manage_orm.htm#sthref58" /></entry>
-    </entry>
-    <entry keyword="sample">
-      <entry keyword="Managing the orm.xml file"><topic href="task_manage_orm.htm#sthref59" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="overrides - JPA attributes">
-    <entry keyword="Attribute overrides"><topic href="reference007.htm#sthref229" /></entry>
-  </entry>
-  <entry keyword="persistence">
-    <entry keyword="about">
-      <entry keyword="Understanding Java persistence"><topic href="concept_persistence.htm#sthref19" /></entry>
-    </entry>
-    <entry keyword="database connection">
-      <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref294" /></entry>
-    </entry>
-    <entry keyword="database schema">
-      <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref297" /></entry>
-    </entry>
-    <entry keyword="entity class">
-      <entry keyword="Adding persistence to a class"><topic href="task_add_persistence.htm#sthref67" /></entry>
-    </entry>
-    <entry keyword="options">
-      <entry keyword="Project Properties page - Java Persistence Options"><topic href="ref_project_properties.htm#sthref287" /></entry>
-      <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref289" /></entry>
-    </entry>
-    <entry keyword="provider">
-      <entry keyword="Managing the persistence.xml file"><topic href="task_manage_persistence.htm#sthref49" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="persistence.xml file">
-    <entry keyword="about">
-      <entry keyword="The persistence.xml file"><topic href="concepts002.htm#sthref23" /></entry>
-    </entry>
-    <entry keyword="managing">
-      <entry keyword="Managing the persistence.xml file"><topic href="task_manage_persistence.htm#sthref47" /></entry>
-      <entry keyword="Working with orm.xml file"><topic href="tasks005.htm#sthref65" /></entry>
-    </entry>
-    <entry keyword="sample">
-      <entry keyword="Managing the persistence.xml file"><topic href="task_manage_persistence.htm#sthref48" /></entry>
-    </entry>
-    <entry keyword="synchronizing with classes">
-      <entry keyword="Synchronizing classes"><topic href="tasks002.htm#sthref53" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="persistent entity">
-    <entry keyword="Entity"><topic href="tasks006.htm#sthref71" /></entry>
-  </entry>
-  <entry keyword="perspective - JPA Development">
-    <entry keyword="JPA Development perspective"><topic href="ref_persistence_perspective.htm#sthref301" /></entry>
-  </entry>
-  <entry keyword="platform - JPA">
-    <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref291" /></entry>
-  </entry>
-  <entry keyword="problems">
-    <entry keyword="Validating mappings and reporting problems"><topic href="tasks023.htm#sthref169" /></entry>
-  </entry>
-  <entry keyword="projects - JPA">
-    <entry keyword="creating new">
-      <entry keyword="Creating a new JPA project"><topic href="getting_started003.htm#sthref9" /></entry>
-      <entry keyword="Creating a new JPA project"><topic href="task_create_new_project.htm#sthref26" /></entry>
-    </entry>
-    <entry keyword="options">
-      <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref290" /></entry>
-    </entry>
-    <entry keyword="validation preferences">
-      <entry keyword="Project Properties page - Java Persistence Options"><topic href="ref_project_properties.htm#sthref288" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="query hints">
-    <entry keyword="Creating Named Queries"><topic href="tasks009.htm#sthref109" /></entry>
-  </entry>
-  <entry keyword="quick start - Dali">
-    <entry keyword="Dali quick start"><topic href="getting_started002.htm#sthref8" /></entry>
-  </entry>
-  <entry keyword="requirements">
-    <entry keyword="Dali Java Persistence Tools">
-      <entry keyword="Requirements and installation"><topic href="getting_started001.htm#sthref4" /></entry>
-    </entry>
-    <entry keyword="persistent entities">
-      <entry keyword="Entity"><topic href="tasks006.htm#sthref73" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="schema">
-    <entry keyword="from classes">
-      <entry keyword="Generating Schema from Classes"><topic href="task_generating_schema_from_classes.htm#sthref189" /></entry>
-      <entry keyword="Generating JAXB Classes from a Schema"><topic href="task_generate_classes_from_schema.htm#sthref197" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="schema - database">
-    <entry keyword="Project Properties page - Validation Preferences"><topic href="reference027.htm#sthref296" /></entry>
-  </entry>
-  <entry keyword="secondary tables">
-    <entry keyword="Secondary table information"><topic href="reference008.htm#sthref231" /></entry>
-  </entry>
-  <entry keyword="Secondary Tables - in Java Details view">
-    <entry keyword="Secondary table information"><topic href="reference008.htm#sthref234" /></entry>
-  </entry>
-  <entry keyword="single table inheritance">
-    <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref101" /></entry>
-  </entry>
-  <entry keyword="superclass">
-    <entry keyword="Mapped superclass"><topic href="tasks008.htm#sthref90" /></entry>
-  </entry>
-  <entry keyword="synchronizing classes with persistence.xml file">
-    <entry keyword="Synchronizing classes"><topic href="tasks002.htm#sthref54" /></entry>
-  </entry>
-  <entry keyword="tables">
-    <entry keyword="associations">
-      <entry keyword="Table Associations"><topic href="ref_tableAssociations.htm#sthref218" /></entry>
-      <entry keyword="Create New Association"><topic href="ref_create_new_association_wizard.htm#sthref222" /></entry>
-    </entry>
-    <entry keyword="creating entities from">
-      <entry keyword="Generating entities from tables"><topic href="tasks021.htm#sthref159" /></entry>
-      <entry keyword="Select Tables"><topic href="ref_selectTables.htm#sthref217" /></entry>
-    </entry>
-    <entry keyword="inheritance">
-      <entry keyword="Specifying entity inheritance"><topic href="task_inheritance.htm#sthref102" /></entry>
-    </entry>
-    <entry keyword="secondary">
-      <entry keyword="Secondary table information"><topic href="reference008.htm#sthref232" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="temporal">
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref251" /></entry>
-    <entry keyword="General information"><topic href="ref_mapping_general.htm#sthref253" /></entry>
-  </entry>
-  <entry keyword="transient mapping">
-    <entry keyword="@Transient">
-      <entry keyword="Transient mapping"><topic href="tasks018.htm#sthref153" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Transient mapping"><topic href="tasks018.htm#sthref151" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="version mapping">
-    <entry keyword="@Version">
-      <entry keyword="Version mapping"><topic href="tasks019.htm#sthref157" /></entry>
-    </entry>
-    <entry keyword="about">
-      <entry keyword="Version mapping"><topic href="tasks019.htm#sthref155" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="views">
-    <entry keyword="JPA Details view">
-      <entry keyword="JPA Details view (for entities)"><topic href="ref_persistence_prop_view.htm#sthref226" /></entry>
-      <entry keyword="JPA Details view (for attributes)"><topic href="ref_persistence_map_view.htm#sthref243" /></entry>
-    </entry>
-    <entry keyword="JPA Structure view">
-      <entry keyword="JPA Structure view"><topic href="ref_persistence_outline.htm#sthref269" /></entry>
-    </entry>
-  </entry>
-  <entry keyword="warning messages - Dali">
-    <entry keyword="Validating mappings and reporting problems"><topic href="tasks023.htm#sthref168" /></entry>
-  </entry>
-  <entry keyword="Web Tools Platform (WTP)">
-    <entry keyword="Requirements and installation"><topic href="getting_started001.htm#sthref5" /></entry>
-  </entry>
-  <entry keyword="XML editor">
-    <entry keyword="Working with orm.xml file"><topic href="tasks005.htm#sthref64" /></entry>
-  </entry>
-</index>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/legal.htm b/jpa/plugins/org.eclipse.jpt.doc.user/legal.htm
deleted file mode 100644
index dfa0007..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/legal.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Legal</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content=" Legal" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="sthref294" name="sthref294"></a></p>
-<h1>Legal</h1>
-<p>Copyright &copy; 2006, 2010, Oracle. All rights reserved.</p>
-<p>This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at:</p>
-<p><code><a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></code></p>
-<p><a href="about.htm">Terms and conditions regarding the use of this guide.</a></p>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/plugin.properties b/jpa/plugins/org.eclipse.jpt.doc.user/plugin.properties
deleted file mode 100644
index 0aea0c7..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/plugin.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2010 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - Documentation
-providerName = Eclipse Web Tools Platform
-
-jpaDevelopment=JPA Development
-createAJpaProject=Create a JPA project
-createAJpaProjectDescription=This cheat sheet helps you create a JPA project.
-createAPersistentEntity=Create a persistent entity
-createAPersistentEntityDescription=This cheat sheet helps you create a Java persistent entity.
-MapAPersistentEntity=Map a persistent entity
-MapAPersistentEntityDescription=This cheat sheet helps you map the a Java persistent entity to a database table.
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/plugin.xml b/jpa/plugins/org.eclipse.jpt.doc.user/plugin.xml
deleted file mode 100644
index c405262..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/plugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-	<!-- =========== -->
-	<!-- Define TOC  -->
-	<!-- =========== -->
-	<extension point="org.eclipse.help.toc">
-		<toc file="toc.xml" primary="true"/>
-	</extension>
-	<!-- =========== -->
-	<!-- Define F1   -->
-	<!-- =========== -->
-	<extension point="org.eclipse.help.contexts">
-		<contexts file="contexts.xml" plugin="org.eclipse.jpt.jpa.ui"/>
-	</extension>
-	<!-- ==================== -->
-	<!-- Define Keyword Index -->
-	<!-- ==================== -->
-	<extension point="org.eclipse.help.index">
-		<index file="index.xml"/>
-	</extension>
-	<!-- =========== -->
-	<!-- Cheatsheets -->
-	<!-- =========== -->
-	<extension point="org.eclipse.ui.cheatsheets.cheatSheetContent">
-		<category name="%jpaDevelopment" id="com.jpa.category"/>
-		<cheatsheet name="%createAJpaProject" category="com.jpa.category" contentFile="$nl$/cheatsheets/add_persistence.xml" id="org.eclipse.jpa.cheatsheet.createproject1">
-			<description>%createAJpaProjectDescription</description>
-		</cheatsheet>
-		<cheatsheet name="%createAPersistentEntity" category="com.jpa.category" contentFile="$nl$/cheatsheets/create_entity.xml" id="org.eclipse.jpa.cheatsheet.addentity">
-			<description>%createAPersistentEntityDescription</description>
-		</cheatsheet>
-		<cheatsheet name="%MapAPersistentEntity" category="com.jpa.category" contentFile="$nl$/cheatsheets/map_entity.xml" id="org.eclipse.jpa.cheatsheet.mapentity">
-			<description>%MapAPersistentEntityDescription</description>
-		</cheatsheet>
-	</extension>
-</plugin>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_EntityClassPage.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_EntityClassPage.htm
deleted file mode 100644
index f4578f1..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_EntityClassPage.htm
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Entity Class page</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Entity Class page" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAFEIGF" name="CIAFEIGF"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Entity Class page</h1>
-<p>This table lists the properties of the Entity Class page of the <a href="ref_create_jpa_entity_wizard.htm#CIAGGGDF">Create JPA Entity wizard</a>.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" summary="This table lists the properties of the Entity Class page of the Create JPA Entity wizard." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="22%" />
-<col width="*" />
-<col width="17%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t5">Property</th>
-<th align="left" valign="bottom" id="r1c2-t5">Description</th>
-<th align="left" valign="bottom" id="r1c3-t5">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t5" headers="r1c1-t5">Project</td>
-<td align="left" headers="r2c1-t5 r1c2-t5">The name of the JPA project.</td>
-<td align="left" headers="r2c1-t5 r1c3-t5"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t5" headers="r1c1-t5">Source Folder</td>
-<td align="left" headers="r3c1-t5 r1c2-t5">The location of the JPA project's src folder.</td>
-<td align="left" headers="r3c1-t5 r1c3-t5"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t5" headers="r1c1-t5">Java Package</td>
-<td align="left" headers="r4c1-t5 r1c2-t5">The name of the class package.</td>
-<td align="left" headers="r4c1-t5 r1c3-t5"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t5" headers="r1c1-t5">Class name</td>
-<td align="left" headers="r5c1-t5 r1c2-t5">The name of the Java class.</td>
-<td align="left" headers="r5c1-t5 r1c3-t5"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t5" headers="r1c1-t5">Superclass</td>
-<td align="left" headers="r6c1-t5 r1c2-t5">Select the superclass.</td>
-<td align="left" headers="r6c1-t5 r1c3-t5"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t5" headers="r1c1-t5"><a id="sthref195" name="sthref195"></a>Inheritance</td>
-<td align="left" headers="r7c1-t5 r1c2-t5">Because the wizard creates a Java class with an <code>@Entity</code> notation, the <span class="bold">Entity</span> option is selected by default.
-<p>Select <span class="bold">Mapped Superclass</span> if you defined a superclass.</p>
-<p>To add an <code>@Inheritance</code> notation to the entity, select <span class="bold">Inheritance</span> and then select one of the inheritance mapping strategies (described in JSR 220):</p>
-<ul>
-<li>
-<p>SINGLE_TABLE -- All classes in a hierarchy as mapped to a single table. This annotation is without an attribute for the inheritance strategy.</p>
-</li>
-<li>
-<p>TABLE_PER_CLASS -- Each class is mapped to a separate table.</p>
-</li>
-<li>
-<p>JOINED -- The root of the class hierarchy is represented by a single table. Each subclass is represented by a separate table that contains those fields that are specific to the subclass (not inherited from its superclass), as well as the column(s) that represent its primary key. The primary key column(s) of the subclass table serves as a foreign key to the primary key of the superclass table.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r7c1-t5 r1c3-t5">Entity</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t5" headers="r1c1-t5"><a id="sthref196" name="sthref196"></a>XML Entity Mappings</td>
-<td align="left" headers="r8c1-t5 r1c2-t5">Select <span class="bold">Add to entity mappings in XML</span> to create XML mappings in <code>orm.xml</code>, rather than annotations.
-<p>Use the <span class="bold">Mapping file</span> field to specify the file to use. By default, mappings are stored in the <code>META-INF/orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r8c1-t5 r1c3-t5"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_create_jpa_entity_wizard.htm#CIAGGGDF">Create JPA Entity wizard</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_EntityPropertiesPage.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_EntityPropertiesPage.htm
deleted file mode 100644
index 8914f86..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_EntityPropertiesPage.htm
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Entity Properties page</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Entity Properties page" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIADECIA" name="CIADECIA"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Entity Properties page</h1>
-<p>This table lists the properties of the Entity Properties page of the <a href="ref_create_jpa_entity_wizard.htm#CIAGGGDF">Create JPA Entity wizard</a>.</p>
-<div class="tblformal"><a id="sthref197" name="sthref197"></a><a id="sthref198" name="sthref198"></a>
-<p class="titleintable">&nbsp;</p>
-<table class="Formal" title="" summary="This table to be converted to informal." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="24%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t6">Property</th>
-<th align="left" valign="bottom" id="r1c2-t6">Description</th>
-<th align="left" valign="bottom" id="r1c3-t6">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t6" headers="r1c1-t6">
-<p>Entity Name</p>
-</td>
-<td align="left" headers="r2c1-t6 r1c2-t6">
-<p>The name of the entity. By default, this value is the same as the one entered as the class name. If the entity name differs from the class name, then the entity name is added as an attribute. For example: <code>@Entity(name="EntityName")</code>.</p>
-</td>
-<td align="left" headers="r2c1-t6 r1c3-t6">
-<p>Determined by server.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t6" headers="r1c1-t6">
-<p>Table Name</p>
-</td>
-<td align="left" headers="r3c1-t6 r1c2-t6">
-<p>Select <span class="bold">Use default</span> to match the name of the mapped table name to the entity name. Otherwise, clear the <span class="bold">Use default</span> option and enter the name in the <span class="italic">Table Name</span> field. These options result in the addition of the <code>@Table</code> option to the Java class file.</p>
-</td>
-<td align="left" headers="r3c1-t6 r1c3-t6">
-<p>Use default.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t6" headers="r1c1-t6">
-<p>Entity Fields</p>
-</td>
-<td align="left" headers="r4c1-t6 r1c2-t6">
-<p>Click the <span class="bold">Add</span> button to add persistence fields using the Entity Fields dialog. This dialog enable you to build a field by entering a field name and selecting among persistence types. The <span class="bold">Key</span> option enables you to mark a field as a primary key. The dialog's <span class="bold">Browse</span> function enables you to add other persistence types described in the JPA specification. The <span class="bold">Edit</span> button enables you to change the name or type set for a persistent field.</p>
-</td>
-<td align="left" headers="r4c1-t6 r1c3-t6"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t6" headers="r1c1-t6">
-<p>Access Type</p>
-</td>
-<td align="left" headers="r5c1-t6 r1c2-t6">
-<p>Select whether the entity's access to instance variables is field-based or property-based, as defined in the JPA specification.</p>
-<ul>
-<li>
-<p><span class="bold">Field</span> &ndash; Instance variables are accessed directly. All non-transient instance variables are persistent.</p>
-</li>
-<li>
-<p><span class="bold">Property</span> &ndash; Persistent state accessed through the property accessor methods. The property accessor methods must be <span class="bold">public</span> or <span class="bold">private</span>.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r5c1-t6 r1c3-t6">
-<p>Field</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a><br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_add_converter.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_add_converter.htm
deleted file mode 100644
index f992258..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_add_converter.htm
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Add Converter dialog</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Add Converter dialog" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAGCGIJ" name="CIAGCGIJ"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Add Converter dialog</h1>
-<p>Use this dialog to create a new EclipseLink converter.</p>
-<div class="inftblhruleinformalmax">
-<table class="HRuleInformalMax" summary="This table lists the options on the New EclipseLink Mapping File dialog." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t40">Property</th>
-<th align="left" valign="bottom" id="r1c2-t40">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t40" headers="r1c1-t40">Name</td>
-<td align="left" headers="r2c1-t40 r1c2-t40">Enter the name for this converter</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t40" headers="r1c1-t40">Type</td>
-<td align="left" headers="r3c1-t40 r1c2-t40">Select the converter type:
-<ul>
-<li>
-<p>Custom</p>
-</li>
-<li>
-<p>Object type</p>
-</li>
-<li>
-<p>Struct</p>
-</li>
-<li>
-<p>Type</p>
-</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblhruleinformalmax" --></div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_association_cardinality.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_association_cardinality.htm
deleted file mode 100644
index 17b8e5d..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_association_cardinality.htm
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Association Cardinality</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Association Cardinality" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAFIIFH" name="CIAFIIFH"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Association Cardinality</h1>
-<p><a id="sthref210" name="sthref210"></a>Use this dialog to specify cardinality of an association table. Depending on the <span class="bold">Association Kind</span> and <span class="bold">Join Columns</span> that you selected previously, some associations may not be available.</p>
-<ul>
-<li>
-<p>Many to one</p>
-</li>
-<li>
-<p>One to many</p>
-</li>
-<li>
-<p>One to one</p>
-</li>
-<li>
-<p>Many to many</p>
-</li>
-</ul>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_create_new_association_wizard.htm#CIAFGHIF">Create New Association</a><br />
-<a href="tasks021.htm#BABBAGFI">Generating entities from tables</a><br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_create_custom_entities_wizard.htm#CIAGBFJE">Generate Entities from Tables Wizard</a></div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_association_table.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_association_table.htm
deleted file mode 100644
index 78197f6..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_association_table.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Association Tables</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Association Tables" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAGJHDC" name="CIAGJHDC"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Association Tables</h1>
-<p>Use this page to specify the association tables for an entity.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Association Tables dialog." summary="This table describes the options on the Association Tables dialog." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t12">Property</th>
-<th align="left" valign="bottom" id="r1c2-t12">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t12" headers="r1c1-t12">Association kind</td>
-<td align="left" headers="r2c1-t12 r1c2-t12">Specify if the association is <span class="bold">Simple</span> (1:M) or <span class="bold">Many to Many</span> (M:M).</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t12" headers="r1c1-t12">Association tables</td>
-<td align="left" headers="r3c1-t12 r1c2-t12">Click <span class="bold">Table Selection</span>, then select the two tables to associate.
-<p>When creating a <span class="bold">Many to Many</span> association, you can select a <span class="bold">Join Table</span> for the association.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_create_new_association_wizard.htm#CIAFGHIF">Create New Association</a><br />
-<a href="tasks021.htm#BABBAGFI">Generating entities from tables</a><br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_create_custom_entities_wizard.htm#CIAGBFJE">Generate Entities from Tables Wizard</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_configure_jaxb_class_generation_dialog.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_configure_jaxb_class_generation_dialog.htm
deleted file mode 100644
index 7efc7a4..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_configure_jaxb_class_generation_dialog.htm
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Configure JAXB Class Generation dialog</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-06-04T19:33:7Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Configure JAXB Class Generation dialog" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACHHHJA" name="CACHHHJA"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Configure JAXB Class Generation dialog</h1>
-<p>Use this dialog to generate JAXB classes from a schema.</p>
-<div class="inftblhruleinformalmax">
-<table class="HRuleInformalMax" summary="This table lists the options on the New EclipseLink Mapping File dialog." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t41">Property</th>
-<th align="left" valign="bottom" id="r1c2-t41">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t41" headers="r1c1-t41">Source folder</td>
-<td align="left" headers="r2c1-t41 r1c2-t41">Location in which to generate the classes. Click <span class="bold">Browse</span> to select a location.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t41" headers="r1c1-t41">Package</td>
-<td align="left" headers="r3c1-t41 r1c2-t41">Name of the package. Click <span class="bold">Browse</span> to select an existing package.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t41" headers="r1c1-t41">Catalog</td>
-<td align="left" headers="r4c1-t41 r1c2-t41">Name of the catalog file to use to resolve external entity references.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t41" headers="r1c1-t41">Bindings files</td>
-<td align="left" headers="r5c1-t41 r1c2-t41">Click <span class="bold">Add</span> to select the external bindings files</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblhruleinformalmax" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_generate_classes_from_schema.htm#CIHCBHJD">Generating JAXB Classes from a Schema</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_custom_entities_wizard.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_custom_entities_wizard.htm
deleted file mode 100644
index 6b5694a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_custom_entities_wizard.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generate Entities from Tables Wizard</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generate Entities from Tables Wizard" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAGBFJE" name="CIAGBFJE"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Generate Entities from Tables Wizard</h1>
-<p>Use the Generate Custom Entities Wizard to create entities from your database tables.</p>
-<p>The wizard consists of the following pages:</p>
-<ul>
-<li>
-<p><a href="ref_selectTables.htm#CIAHCGEE">Select Tables</a></p>
-</li>
-<li>
-<p><a href="ref_tableAssociations.htm#CIACDICB">Table Associations</a></p>
-</li>
-<li>
-<p><a href="ref_customizeDefaultEntityGeneration.htm#CIAEJDBE">Customize Default Entity Generation</a></p>
-</li>
-<li>
-<p><a href="ref_customizIndividualEntities.htm#CIACIGEE">Customize Individual Entities</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_jpa_entity_wizard.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_jpa_entity_wizard.htm
deleted file mode 100644
index 12da747..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_jpa_entity_wizard.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Create JPA Entity wizard</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Create JPA Entity wizard" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAGGGDF" name="CIAGGGDF"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Create JPA Entity wizard</h1>
-<p>The Create JPA wizard enables you to quickly add an entity and also add persistence fields to that entity. In addition, this wizard adds the accessor methods (<code>getter</code> and <code>setter</code>) in the class file. The wizard consists of the following pages:</p>
-<ul>
-<li>
-<p><a href="ref_EntityClassPage.htm#CIAFEIGF">Entity Class page</a></p>
-</li>
-<li>
-<p><a href="ref_EntityPropertiesPage.htm#CIADECIA">Entity Properties page</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_new_association_wizard.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_new_association_wizard.htm
deleted file mode 100644
index b74aa5a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_create_new_association_wizard.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Create New Association</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Create New Association" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAFGHIF" name="CIAFGHIF"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Create New Association</h1>
-<p><a id="sthref207" name="sthref207"></a><a id="sthref208" name="sthref208"></a>Use the Create New Association wizard to specify association tables when generating an entity.</p>
-<p>The wizard consists of the following pages:</p>
-<ul>
-<li>
-<p><a href="ref_association_table.htm#CIAGJHDC">Association Tables</a></p>
-</li>
-<li>
-<p><a href="ref_join_columns.htm#CIAEGEEG">Join Columns</a></p>
-</li>
-<li>
-<p><a href="ref_association_cardinality.htm#CIAFIIFH">Association Cardinality</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_customizIndividualEntities.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_customizIndividualEntities.htm
deleted file mode 100644
index e847da3..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_customizIndividualEntities.htm
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Customize Individual Entities</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Customize Individual Entities" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIACIGEE" name="CIACIGEE"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Customize Individual Entities</h1>
-<p><a id="sthref206" name="sthref206"></a>Use this page to customize each generated entity. Select an item in the Table and columns area, then complete the following fields for each item.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Individual Entities dialog." summary="This table describes the options on the Individual Entities dialog." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t11">Property</th>
-<th align="left" valign="bottom" id="r1c2-t11">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t11" headers="r1c1-t11">Table Mapping</td>
-<td align="left" headers="r2c1-t11 r1c2-t11">Use these options to define the table mapping information for the entity.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t11" headers="r1c1-t11">&nbsp;&nbsp;Key&nbsp;generator</td>
-<td align="left" headers="r3c1-t11 r1c2-t11">Select the generator used for this mapping.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t11" headers="r1c1-t11">&nbsp;&nbsp;Sequence&nbsp;name</td>
-<td align="left" headers="r4c1-t11 r1c2-t11">Enter a name for the sequence.
-<p>You can use <span class="bold">$table</span> and <span class="bold">$pk</span> as variables in the name. These will be replaced by the table name and primary key column name (respectively) when Dali generates a table mapping.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t11" headers="r1c1-t11">&nbsp;&nbsp;Entity&nbsp;access</td>
-<td align="left" headers="r5c1-t11 r1c2-t11">Specify the default entity access method: <span class="bold">Field</span> (default) or <span class="bold">Property</span>.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t11" headers="r1c1-t11">Domain Java Class</td>
-<td align="left" headers="r6c1-t11 r1c2-t11">Use these options to define the class information (<span class="bold">Superclass</span> and <span class="bold">Interfaces</span>) for the entity.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a><br />
-<a href="tasks021.htm#BABBAGFI">Generating entities from tables</a><br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_create_custom_entities_wizard.htm#CIAGBFJE">Generate Entities from Tables Wizard</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_customizeDefaultEntityGeneration.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_customizeDefaultEntityGeneration.htm
deleted file mode 100644
index 578801a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_customizeDefaultEntityGeneration.htm
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Customize Default Entity Generation</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Customize Default Entity Generation" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAEJDBE" name="CIAEJDBE"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Customize Default Entity Generation</h1>
-<p><a id="sthref205" name="sthref205"></a>Use this page to specify the default information Dali will use when generating the entities from the database tables. You will be able to override this information for specific entities.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Generate Entities dialog." summary="This table describes the options on the Custom Default Entity Generation dialog." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t10">Property</th>
-<th align="left" valign="bottom" id="r1c2-t10">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t10" headers="r1c1-t10">Table Mapping</td>
-<td align="left" headers="r2c1-t10 r1c2-t10">Use these options to define the table mapping information for the entity.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t10" headers="r1c1-t10">&nbsp;&nbsp;Key&nbsp;generator</td>
-<td align="left" headers="r3c1-t10 r1c2-t10">Select the generator used for this mapping.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t10" headers="r1c1-t10">&nbsp;&nbsp;Sequence&nbsp;name</td>
-<td align="left" headers="r4c1-t10 r1c2-t10">Enter a name for the sequence.
-<p>You can use <span class="bold">$table</span> and <span class="bold">$pk</span> as variables in the name. These will be replaced by the table name and primary key column name (respectively) when Dali generates a table mapping.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t10" headers="r1c1-t10">&nbsp;&nbsp;Entity&nbsp;access</td>
-<td align="left" headers="r5c1-t10 r1c2-t10">Specify the default entity access method: <span class="bold">Field</span> (default) or <span class="bold">Property</span>.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t10" headers="r1c1-t10">&nbsp;&nbsp;Associations&nbsp;fetch</td>
-<td align="left" headers="r6c1-t10 r1c2-t10">Specify the default fetch mode for associations: <span class="bold">Default</span>, as defined by the application (default), or <span class="bold">Lazy</span>.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t10" headers="r1c1-t10">&nbsp;&nbsp;Collection&nbsp;type</td>
-<td align="left" headers="r7c1-t10 r1c2-t10">Specify if the collection properties are a <span class="bold">Set</span> or <span class="bold">List</span>.
-<p>Enable the <span class="bold">Always generate optional JPA annotations and DDL parameters</span> option to have Dali include this information in the entity.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t10" headers="r1c1-t10">Domain Java Class</td>
-<td align="left" headers="r8c1-t10 r1c2-t10">Use these options to define the class information (<span class="bold">Package</span>, <span class="bold">Superclass</span>, and <span class="bold">Interfaces</span>) for the entity.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a><br />
-<a href="tasks021.htm#BABBAGFI">Generating entities from tables</a><br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_create_custom_entities_wizard.htm#CIAGBFJE">Generate Entities from Tables Wizard</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_details_orm.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_details_orm.htm
deleted file mode 100644
index 018594b..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_details_orm.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>JPA Details view (for orm.xml)</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="JPA Details view (for orm.xml)" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACGDGHC" name="CACGDGHC"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>JPA Details view (for orm.xml)</h1>
-<p>The <span class="gui-object-title">JPA Details</span> view displays the default mapping and persistence information for the project and contains the following areas:</p>
-<ul>
-<li>
-<p><a href="reference013.htm#CACCACGH">General information</a></p>
-</li>
-<li>
-<p><a href="reference014.htm#CACEAGBG">Persistence Unit information</a></p>
-</li>
-<li>
-<p><a href="reference015.htm#CIAFGAIJ">Generators</a></p>
-</li>
-<li>
-<p><a href="reference016.htm#CIAIBAAJ">Queries</a></p>
-</li>
-<li>
-<p><a href="reference017.htm#CIADGCID">Converters</a> (when using EclipseLink)</p>
-</li>
-</ul>
-<p>These defaults can be overridden by the settings on a specific entity or mapping.</p>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_eclipselink_mapping_file.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_eclipselink_mapping_file.htm
deleted file mode 100644
index 18a6305..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_eclipselink_mapping_file.htm
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>New EclipseLink Mapping File dialog</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="New EclipseLink Mapping File dialog" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAEDEJF" name="CIAEDEJF"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>New EclipseLink Mapping File dialog</h1>
-<p>Specify the location and properties of the EclipseLink mapping file (<code>eclispelink-orm.xml</code>).</p>
-<div class="inftblhruleinformalmax">
-<table class="HRuleInformalMax" summary="This table lists the options on the New EclipseLink Mapping File dialog." dir="ltr" border="1" width="100%" frame="hsides" rules="rows" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t39">Property</th>
-<th align="left" valign="bottom" id="r1c2-t39">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t39" headers="r1c1-t39">Project</td>
-<td align="left" headers="r2c1-t39 r1c2-t39">Select the project in which to add the mapping file.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t39" headers="r1c1-t39">Source folder</td>
-<td align="left" headers="r3c1-t39 r1c2-t39">Click <span class="bold">Browse</span> and select the source file in which to add the mapping file. The default is <code>../</code><code><span class="codeinlineitalic">&lt;PROJECT&gt;</span></code><code>/src</code>.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t39" headers="r1c1-t39">File path</td>
-<td align="left" headers="r4c1-t39 r1c2-t39">Enter the filename and path of the mapping file. The default is <code>META-INF/eclipselink-orm.xml</code>.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t39" headers="r1c1-t39">Default access</td>
-<td align="left" headers="r5c1-t39 r1c2-t39">Select whether the entity's access to instance variables is <span class="bold">field</span>-based or <span class="bold">property</span>-based, as defined in the JPA specification.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t39" headers="r1c1-t39">Add to persistence unit</td>
-<td align="left" headers="r6c1-t39 r1c2-t39">Specify if this mapping file should be added to the persistence unit (<code>persistence.xml</code>).</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t39" headers="r1c1-t39">&nbsp;&nbsp;Persistence&nbsp;Unit</td>
-<td align="left" headers="r7c1-t39 r1c2-t39">Select the persistence unit in which to add the mapping file.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblhruleinformalmax" -->
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="reference003.htm#CIAJEIDJ">Mapping File</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_java_page.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_java_page.htm
deleted file mode 100644
index ffbf3fd..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_java_page.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Java Page</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Java Page" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAGEBAA" name="CIAGEBAA"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Java Page</h1>
-<p>This table lists the properties available on the Java page of the <a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a>.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Generate DDL - Objects page." summary="This table describes the options on the Generate DDL - Objects page." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="25%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t3">Property</th>
-<th align="left" valign="bottom" id="r1c2-t3">Description</th>
-<th align="left" valign="bottom" id="r1c3-t3">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t3" headers="r1c1-t3">Source folders on build path</td>
-<td align="left" headers="r2c1-t3 r1c2-t3">Click <span class="bold">Add Folder</span> to select an existing Java source folder to add to this project.</td>
-<td align="left" headers="r2c1-t3 r1c3-t3">EclipseLink</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t3" headers="r1c1-t3">Default output folder</td>
-<td align="left" headers="r3c1-t3 r1c2-t3">Specify the location of the&nbsp;<code>.class</code> files.</td>
-<td align="left" headers="r3c1-t3 r1c3-t3">build\classes</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_jaxb_schema_wizard.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_jaxb_schema_wizard.htm
deleted file mode 100644
index e2eb5bf..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_jaxb_schema_wizard.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generate Schema from JAXB Classes Wizard</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-06-04T16:18:13Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generate Schema from JAXB Classes Wizard" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACGADFH" name="CACGADFH"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Generate Schema from JAXB Classes Wizard</h1>
-<p>Use the Generate Schema from JAXB Classes wizard create an XML schema (&nbsp;.xsd) for a set of JAXB mapped classes.</p>
-<p>The wizard consists of the following pages:</p>
-<ul>
-<li>
-<p><a href="ref_schema_from_classes_page.htm#CACHBEGJ">Generate Schema from Classes</a></p>
-</li>
-</ul>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_generating_schema_from_classes.htm#CIHHBJCJ">Generating Schema from Classes</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="#CACGADFH">Generate Schema from JAXB Classes Wizard</a> <!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_join_columns.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_join_columns.htm
deleted file mode 100644
index 8632cbf..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_join_columns.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Join Columns</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Join Columns" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAEGEEG" name="CIAEGEEG"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Join Columns</h1>
-<p><a id="sthref209" name="sthref209"></a>Use this dialog to specify the join columns of an association table.</p>
-<p>Click Add to specify the join columns between the two tables.</p>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_create_new_association_wizard.htm#CIAFGHIF">Create New Association</a><br />
-<a href="tasks021.htm#BABBAGFI">Generating entities from tables</a><br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_create_custom_entities_wizard.htm#CIAGBFJE">Generate Entities from Tables Wizard</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_jpa_facet.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_jpa_facet.htm
deleted file mode 100644
index 89e4ff8..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_jpa_facet.htm
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>JPA Facet page</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="JPA Facet page" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACIFDIF" name="CACIFDIF"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>JPA Facet page</h1>
-<p>This table lists the properties available on the JPA Facet page of the <a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a>.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Generate DDL - Objects page." summary="This table describes the options on the Generate DDL - Objects page." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="25%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t4">Property</th>
-<th align="left" valign="bottom" id="r1c2-t4">Description</th>
-<th align="left" valign="bottom" id="r1c3-t4">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t4" headers="r1c1-t4">Platform</td>
-<td align="left" headers="r2c1-t4 r1c2-t4">Vendor-specific JPA implementation.</td>
-<td align="left" headers="r2c1-t4 r1c3-t4">EclipseLink</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t4" headers="r1c1-t4"><a id="sthref191" name="sthref191"></a><a id="sthref192" name="sthref192"></a>JPA Implementation</td>
-<td align="left" headers="r3c1-t4 r1c2-t4">Select a specific JPA library configuration.
-<p>Click <span class="bold">Manage libraries</span> to create or update a user library.</p>
-<p>Click <span class="bold">Download libraries</span> to download a specific library configuration.</p>
-</td>
-<td align="left" headers="r3c1-t4 r1c3-t4"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t4" headers="r1c1-t4">&nbsp;&nbsp;Type</td>
-<td align="left" headers="r4c1-t4 r1c2-t4">Select <span class="bold">User Library</span> to select from the available user-defined or downloaded libraries.
-<p>If you select Disable, you must manually include the JPA implementation library on the project classpath.</p>
-</td>
-<td align="left" headers="r4c1-t4 r1c3-t4">User Library</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t4" headers="r1c1-t4">&nbsp;&nbsp;Include libraries with this application</td>
-<td align="left" headers="r5c1-t4 r1c2-t4">Specify if the selected libraries are included when deploying the application.</td>
-<td align="left" headers="r5c1-t4 r1c3-t4">Selected</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t4" headers="r1c1-t4">Connection</td>
-<td align="left" headers="r6c1-t4 r1c2-t4">Select the database connection to use with the project. Dali requires an active database connection to use and validate the persistent entities and mappings.
-<p>Click <span class="bold">Add connection</span> to create a new database connection.</p>
-</td>
-<td align="left" headers="r6c1-t4 r1c3-t4"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t4" headers="r1c1-t4">&nbsp;&nbsp;Override&nbsp;default schema from connection</td>
-<td align="left" headers="r7c1-t4 r1c2-t4">Select a schema other than the default one that is derived from the connection information. Use this option if the default schema cannot be used. For example, use this option when the deployment login differs from the design-time login.</td>
-<td align="left" headers="r7c1-t4 r1c3-t4">The value calculated by Dali.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t4" headers="r1c1-t4">JPA Implementation</td>
-<td align="left" headers="r8c1-t4 r1c2-t4">Select to use the <span class="bold">JPA implementation provided by the server at runtime</span>, or select a specific <span class="bold">implementation library</span> that contain the Java Persistence API (JPA) and entities to be added to the project's Java Build Path.
-<p>Click <span class="bold">Configure default JPA implementation library</span> to create a default library for the project or click <span class="bold">Configure user libraries</span> to define additional libraries.</p>
-<p>Depending on your JPA implementation (for example, Generic or EclipseLink), different options may be available when working with JPA projects.</p>
-</td>
-<td align="left" headers="r8c1-t4 r1c3-t4">Determined by server.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t4" headers="r1c1-t4"><a id="sthref193" name="sthref193"></a>Persistent class management</td>
-<td align="left" headers="r9c1-t4 r1c2-t4">Specify if Dali will <span class="bold">discover annotated classes automatically</span>, or if the <span class="bold">annotated classes must be listed in the persistence.xml</span> file.
-<p><span class="bold">Note</span>: To insure application portability, you should explicitly list the managed persistence classes that are included in the persistence unit.</p>
-</td>
-<td align="left" headers="r9c1-t4 r1c3-t4">Determined by server.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t4" headers="r1c1-t4"><a id="sthref194" name="sthref194"></a>Create <code>orm.xml</code></td>
-<td align="left" headers="r10c1-t4 r1c2-t4">Specify if Dali should create a default <code>orm.xml</code> file for your entity mappings and persistence unit defaults.</td>
-<td align="left" headers="r10c1-t4 r1c3-t4">Selected</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a></div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_mapping_general.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_mapping_general.htm
deleted file mode 100644
index 7b02bb6..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_mapping_general.htm
+++ /dev/null
@@ -1,272 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>General information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="General information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACBHFIJ" name="CACBHFIJ"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>General information</h1>
-<p>This table lists the General properties available in the <span class="gui-object-title">Java Details view</span> for each mapping type.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Persistence Properties view." summary="This table describes the options on the Persistence Properties view." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="21%" />
-<col width="*" />
-<col width="27%" />
-<col width="21%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t16">Property</th>
-<th align="left" valign="bottom" id="r1c2-t16">Description</th>
-<th align="left" valign="bottom" id="r1c3-t16">Default</th>
-<th align="left" valign="bottom" id="r1c4-t16">Available for Mapping Type</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t16" headers="r1c1-t16">Mapping Type Hyperlink</td>
-<td align="left" headers="r2c1-t16 r1c2-t16">Clicking the name of the mapping type, which is represented as a hyperlink, invokes the Mapping Type Selection dialog. Use this dialog to specify the type of attribute.</td>
-<td align="left" headers="r2c1-t16 r1c3-t16">Basic</td>
-<td align="left" headers="r2c1-t16 r1c4-t16">All mapping types</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t16" headers="r1c1-t16"><a id="CACGCBHB" name="CACGCBHB"></a>Column</td>
-<td align="left" headers="r3c1-t16 r1c2-t16"><a id="sthref231" name="sthref231"></a><a id="sthref232" name="sthref232"></a>The database column that contains the value for the attribute. This field corresponds to the <code>@Column</code> annotation.</td>
-<td align="left" headers="r3c1-t16 r1c3-t16">By default, the Column is assumed to be named identically to the attribute.</td>
-<td align="left" headers="r3c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a>, <a href="tasks019.htm#BABHIBII">Version mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Name</td>
-<td align="left" headers="r4c1-t16 r1c2-t16">Name of the database column.
-<p>This field corresponds to the <code>@Column</code> annotation.</p>
-</td>
-<td align="left" headers="r4c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r4c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Table</td>
-<td align="left" headers="r5c1-t16 r1c2-t16">Name of the database table that contains the selected column.</td>
-<td align="left" headers="r5c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r5c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Insertable</td>
-<td align="left" headers="r6c1-t16 r1c2-t16">Specifies if the column is always included in <code>SQL INSERT</code> statements.</td>
-<td align="left" headers="r6c1-t16 r1c3-t16">True</td>
-<td align="left" headers="r6c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Updatable</td>
-<td align="left" headers="r7c1-t16 r1c2-t16">Specifies if this column is always included in <code>SQL UPDATE</code> statements.</td>
-<td align="left" headers="r7c1-t16 r1c3-t16">True</td>
-<td align="left" headers="r7c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Unique</td>
-<td align="left" headers="r8c1-t16 r1c2-t16">Sets the <code>UNIQUE</code> constraint for the column.</td>
-<td align="left" headers="r8c1-t16 r1c3-t16">False</td>
-<td align="left" headers="r8c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Nullable</td>
-<td align="left" headers="r9c1-t16 r1c2-t16">Specifies if the column allows null values.</td>
-<td align="left" headers="r9c1-t16 r1c3-t16">True</td>
-<td align="left" headers="r9c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Length</td>
-<td align="left" headers="r10c1-t16 r1c2-t16">Sets the column length.</td>
-<td align="left" headers="r10c1-t16 r1c3-t16">255</td>
-<td align="left" headers="r10c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r11c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Precision</td>
-<td align="left" headers="r11c1-t16 r1c2-t16">Sets the precision for the column values.</td>
-<td align="left" headers="r11c1-t16 r1c3-t16">0</td>
-<td align="left" headers="r11c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r12c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Scale</td>
-<td align="left" headers="r12c1-t16 r1c2-t16">Sets the number of digits that appear to the right of the decimal point.</td>
-<td align="left" headers="r12c1-t16 r1c3-t16">0</td>
-<td align="left" headers="r12c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r13c1-t16" headers="r1c1-t16">&nbsp;&nbsp;Column Definition</td>
-<td align="left" headers="r13c1-t16 r1c2-t16">Define the DDL for a column. This is used when a table is being generated.</td>
-<td align="left" headers="r13c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r13c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks011.htm#BABCBHDF">Embedded mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r14c1-t16" headers="r1c1-t16"><a id="CACGGGHB" name="CACGGGHB"></a><a id="sthref233" name="sthref233"></a><a id="sthref234" name="sthref234"></a><a id="sthref235" name="sthref235"></a>Fetch Type</td>
-<td align="left" headers="r14c1-t16 r1c2-t16">Defines how data is loaded from the database:
-<ul>
-<li>
-<p>Eager &ndash; Data is loaded in before it is actually needed.</p>
-</li>
-<li>
-<p>Lazy &ndash; Data is loaded only when required by the transaction.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r14c1-t16 r1c3-t16">Eager</td>
-<td align="left" headers="r14c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks017.htm#BABFHBCJ">One-to-one mapping</a>, <a href="tasks014.htm#BABEIEGD">Many-to-many mapping</a>, <a href="tasks015.htm#BABHFAFJ">Many-to-one mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r15c1-t16" headers="r1c1-t16">Optional</td>
-<td align="left" headers="r15c1-t16 r1c2-t16">Specifies if this field is can be null.</td>
-<td align="left" headers="r15c1-t16 r1c3-t16">Yes</td>
-<td align="left" headers="r15c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks017.htm#BABFHBCJ">One-to-one mapping</a>, <a href="tasks015.htm#BABHFAFJ">Many-to-one mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r16c1-t16" headers="r1c1-t16"><a id="CACBBIBI" name="CACBBIBI"></a><a id="sthref236" name="sthref236"></a>Lob</td>
-<td align="left" headers="r16c1-t16 r1c2-t16">Specify if the field is mapped to <code>java.sql.Clob</code> or <code>java.sql.Blob</code>.
-<p>This field corresponds to the <code>@Lob</code> annotation.</p>
-</td>
-<td align="left" headers="r16c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r16c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r17c1-t16" headers="r1c1-t16"><a id="CACEAJGD" name="CACEAJGD"></a><a id="sthref237" name="sthref237"></a><a id="sthref238" name="sthref238"></a><a id="sthref239" name="sthref239"></a>Temporal</td>
-<td align="left" headers="r17c1-t16 r1c2-t16">Specifies if this field is one of the following:
-<ul>
-<li>
-<p>Date &ndash; <code>java.sql.Date</code></p>
-</li>
-<li>
-<p>Time &ndash; <code>java.sql.Time</code></p>
-</li>
-<li>
-<p>Timestamp &ndash; <code>java.sql.Timestamp</code></p>
-</li>
-</ul>
-<p>This field corresponds to the <code>@Temporal</code> annotation.</p>
-</td>
-<td align="left" headers="r17c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r17c1-t16 r1c4-t16"><a href="tasks010.htm#BABBABCE">Basic mapping</a>, <a href="tasks013.htm#BABGCBHG">ID mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r18c1-t16" headers="r1c1-t16"><a id="sthref240" name="sthref240"></a><a id="sthref241" name="sthref241"></a><a id="sthref242" name="sthref242"></a>Enumerated</td>
-<td align="left" headers="r18c1-t16 r1c2-t16">Specify how to persist enumerated constraints if the <code>String</code> value suits your application requirements or to match an existing database schema.
-<ul>
-<li>
-<p>ordinal</p>
-</li>
-<li>
-<p><code>String</code></p>
-</li>
-</ul>
-<p>This field corresponds to the <code>@Enumerated</code> annotation.</p>
-</td>
-<td align="left" headers="r18c1-t16 r1c3-t16">Ordinal</td>
-<td align="left" headers="r18c1-t16 r1c4-t16"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r19c1-t16" headers="r1c1-t16">Target Entity</td>
-<td align="left" headers="r19c1-t16 r1c2-t16">The persistent entity to which the attribute is mapped.</td>
-<td align="left" headers="r19c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r19c1-t16 r1c4-t16"><a href="tasks017.htm#BABFHBCJ">One-to-one mapping</a>, <a href="tasks016.htm#BABHGEBD">One-to-many mapping</a> <a href="tasks014.htm#BABEIEGD">Many-to-many mapping</a>, <a href="tasks015.htm#BABHFAFJ">Many-to-one mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r20c1-t16" headers="r1c1-t16"><a id="sthref243" name="sthref243"></a>ID</td>
-<td align="left" headers="r20c1-t16 r1c2-t16">Specify if the entity's ID is derived from the identity of another entity.</td>
-<td align="left" headers="r20c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r20c1-t16 r1c4-t16"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r21c1-t16" headers="r1c1-t16"><a id="CACJAIHB" name="CACJAIHB"></a>Cascade Type</td>
-<td align="left" headers="r21c1-t16 r1c2-t16">Specify which operations are propagated throughout the entity.
-<ul>
-<li>
-<p>All &ndash; All operations</p>
-</li>
-<li>
-<p>Persist</p>
-</li>
-<li>
-<p>Merge</p>
-</li>
-<li>
-<p>Move</p>
-</li>
-<li>
-<p>Remove</p>
-</li>
-<li>
-<p>Refresh</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r21c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r21c1-t16 r1c4-t16"><a href="tasks017.htm#BABFHBCJ">One-to-one mapping</a>, <a href="tasks016.htm#BABHGEBD">One-to-many mapping</a>, <a href="tasks014.htm#BABEIEGD">Many-to-many mapping</a>, <a href="tasks015.htm#BABHFAFJ">Many-to-one mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r22c1-t16" headers="r1c1-t16"><a id="CACJDJJA" name="CACJDJJA"></a>Mapped By</td>
-<td align="left" headers="r22c1-t16 r1c2-t16">The field in the database table that "owns" the relationship. This field is required only on the non-owning side of the relationship.</td>
-<td align="left" headers="r22c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r22c1-t16 r1c4-t16"><a href="tasks017.htm#BABFHBCJ">One-to-one mapping</a>, <a href="tasks016.htm#BABHGEBD">One-to-many mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r23c1-t16" headers="r1c1-t16"><a id="CACDADIH" name="CACDADIH"></a><a id="sthref244" name="sthref244"></a><a id="sthref245" name="sthref245"></a>Order By</td>
-<td align="left" headers="r23c1-t16 r1c2-t16">Specify the default order for objects returned from a query:
-<ul>
-<li>
-<p>No ordering</p>
-</li>
-<li>
-<p>Primary key</p>
-</li>
-<li>
-<p>Custom ordering</p>
-</li>
-</ul>
-<p>This field corresponds to the <code>@OrderBy</code> annotation.</p>
-</td>
-<td align="left" headers="r23c1-t16 r1c3-t16">Primary key</td>
-<td align="left" headers="r23c1-t16 r1c4-t16"><a href="tasks016.htm#BABHGEBD">One-to-many mapping</a>. <a href="tasks014.htm#BABEIEGD">Many-to-many mapping</a>, <a href="tasks015.htm#BABHFAFJ">Many-to-one mapping</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r24c1-t16" headers="r1c1-t16">Attribute Overrides</td>
-<td align="left" headers="r24c1-t16 r1c2-t16">Overrides <span class="bold">Basic</span> mappings of a mapped superclass (for example, if the inherited column name is incompatible with a pre-existing data model, or invalid as a column name in your database).</td>
-<td align="left" headers="r24c1-t16 r1c3-t16"><br /></td>
-<td align="left" headers="r24c1-t16 r1c4-t16"><a href="tasks011.htm#BABCBHDF">Embedded mapping</a>
-<p><a href="tasks011.htm#BABCBHDF">Embedded mapping</a></p>
-<br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_new_jpa_project.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_new_jpa_project.htm
deleted file mode 100644
index 2a576e6..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_new_jpa_project.htm
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>New JPA Project page</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="New JPA Project page" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACBJAGC" name="CACBJAGC"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>New JPA Project page</h1>
-<p>This table lists the properties available on the New JPA Project page of the <a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a>.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Generate DDL - Objects page." summary="This table describes the options on the Generate DDL - Objects page." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="25%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t2">Property</th>
-<th align="left" valign="bottom" id="r1c2-t2">Description</th>
-<th align="left" valign="bottom" id="r1c3-t2">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t2" headers="r1c1-t2">Project name</td>
-<td align="left" headers="r2c1-t2 r1c2-t2">Name of the Eclipse JPA project.</td>
-<td align="left" headers="r2c1-t2 r1c3-t2"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t2" headers="r1c1-t2">Project contents</td>
-<td align="left" headers="r3c1-t2 r1c2-t2">Location of the workspace in which to save the project.
-<p>Unselect The <span class="bold">Use Default</span> option and click <span class="bold">Browse</span> to select a new location.</p>
-</td>
-<td align="left" headers="r3c1-t2 r1c3-t2">Current workspace</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t2" headers="r1c1-t2">Target runtime</td>
-<td align="left" headers="r4c1-t2 r1c2-t2">Select a pre-defined target for the project.
-<p>Click <span class="bold">New</span> to create a new environment with the New Server Runtime wizard.</p>
-</td>
-<td align="left" headers="r4c1-t2 r1c3-t2"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t2" headers="r1c1-t2">Configurations</td>
-<td align="left" headers="r5c1-t2 r1c2-t2">Select a project configuration with pre-defined facets.
-<p>Select <span class="bold">&lt;custom&gt;</span> to manually select the facets for this project.</p>
-</td>
-<td align="left" headers="r5c1-t2 r1c3-t2">Utility JPA project with Java 5.0</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t2" headers="r1c1-t2">EAR membership</td>
-<td align="left" headers="r6c1-t2 r1c2-t2">Specify if this project should be included in an EAR file for deployment.
-<p>Select the <span class="bold">EAR Project Name</span>, or click <span class="bold">New</span> to create a new EAR project.</p>
-</td>
-<td align="left" headers="r6c1-t2 r1c3-t2"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t2" headers="r1c1-t2">Working sets</td>
-<td align="left" headers="r7c1-t2 r1c2-t2">Specify if this project should be included in an existing working set. The drop down field shows a list of previous selected working sets.
-<p>Select <span class="bold">Add project to working sets</span>, then select a working set in which to add this project.</p>
-</td>
-<td align="left" headers="r7c1-t2 r1c3-t2"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_new_jpa_project_wizard.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_new_jpa_project_wizard.htm
deleted file mode 100644
index b59320b..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_new_jpa_project_wizard.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Create New JPA Project wizard</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Create New JPA Project wizard" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACBJGBG" name="CACBJGBG"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Create New JPA Project wizard</h1>
-<p><a id="sthref190" name="sthref190"></a>The Create New JPA Project wizard allows you to create a new Java project using JPA. The wizard consists of the following pages:</p>
-<ul>
-<li>
-<p><a href="ref_new_jpa_project.htm#CACBJAGC">New JPA Project page</a></p>
-</li>
-<li>
-<p><a href="ref_java_page.htm#CIAGEBAA">Java Page</a></p>
-</li>
-<li>
-<p><a href="ref_jpa_facet.htm#CACIFDIF">JPA Facet page</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_general.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_general.htm
deleted file mode 100644
index ea6f099..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_general.htm
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>General</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="General" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIACIFGJ" name="CIACIFGJ"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>General</h1>
-<p>The following table lists properties available in the General page of the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>.</p>
-<div class="tblformal"><a id="sthref258" name="sthref258"></a><a id="sthref259" name="sthref259"></a>
-<p class="titleintable">Properties of the General Page</p>
-<table class="Formal" title="Properties of the General Page" summary="This table describes the properties of the persistence.xml&rsquo;s General page." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="24%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t24">Property</th>
-<th align="left" valign="bottom" id="r1c2-t24">Description</th>
-<th align="left" valign="bottom" id="r1c3-t24">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t24" headers="r1c1-t24">
-<p>Name</p>
-</td>
-<td align="left" headers="r2c1-t24 r1c2-t24">
-<p>Enter the name of the persistence unit.</p>
-</td>
-<td align="left" headers="r2c1-t24 r1c3-t24">
-<p>The project name.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t24" headers="r1c1-t24">
-<p>Persistence Provider</p>
-</td>
-<td align="left" headers="r3c1-t24 r1c2-t24">
-<p>Enter the name of the persistence provider.</p>
-</td>
-<td align="left" headers="r3c1-t24 r1c3-t24">
-<p>Determined by the server.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t24" headers="r1c1-t24">
-<p>Description</p>
-</td>
-<td align="left" headers="r4c1-t24 r1c2-t24">
-<p>Enter a description for this persistence unit. This is an optional property.</p>
-</td>
-<td align="left" headers="r4c1-t24 r1c3-t24"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t24" headers="r1c1-t24">
-<p>Managed Classes</p>
-</td>
-<td align="left" headers="r5c1-t24 r1c2-t24">
-<p>Add or remove the classes managed through the persistence unit.</p>
-</td>
-<td align="left" headers="r5c1-t24 r1c3-t24"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t24" headers="r1c1-t24">
-<p>Exclude Unlisted Classes</p>
-</td>
-<td align="left" headers="r6c1-t24 r1c2-t24">
-<p>Select to include all annotated entity classes in the root of the persistence unit.</p>
-</td>
-<td align="left" headers="r6c1-t24 r1c3-t24">
-<p>False</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t24" headers="r1c1-t24">
-<p>XML Mapping Files</p>
-</td>
-<td align="left" headers="r7c1-t24 r1c2-t24">
-<p>Add or remove the object/relational mapping XML files that define the classes to be managed by the persistence unit.</p>
-</td>
-<td align="left" headers="r7c1-t24 r1c3-t24">
-<p>Meta-INF\orm.xml</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t24" headers="r1c1-t24">
-<p>JAR Files</p>
-</td>
-<td align="left" headers="r8c1-t24 r1c2-t24"><br /></td>
-<td align="left" headers="r8c1-t24 r1c3-t24"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" --></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_map_view.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_map_view.htm
deleted file mode 100644
index 40d2673..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_map_view.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>JPA Details view (for attributes)</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="JPA Details view (for attributes)" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABIFBAF" name="BABIFBAF"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>JPA Details view (for attributes)</h1>
-<p><a id="sthref228" name="sthref228"></a><a id="sthref229" name="sthref229"></a><a id="sthref230" name="sthref230"></a>The <span class="gui-object-title">JPA Details</span> view displays the persistence information for the currently selected mapped attribute and contains the following areas:</p>
-<ul>
-<li>
-<p><a href="ref_mapping_general.htm#CACBHFIJ">General information</a></p>
-</li>
-<li>
-<p><a href="reference011.htm#CACBAEBC">Join Table Information</a></p>
-</li>
-<li>
-<p><a href="reference012.htm#CACFCEJC">Join Columns Information</a></p>
-</li>
-<li>
-<p><a href="ref_primary_key.htm#CACFCCAB">Primary Key Generation information</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_outline.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_outline.htm
deleted file mode 100644
index abdafce..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_outline.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>JPA Structure view</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="JPA Structure view" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABEGGFE" name="BABEGGFE"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>JPA Structure view</h1>
-<p><a id="sthref255" name="sthref255"></a><a id="sthref256" name="sthref256"></a>The <span class="gui-object-title">JPA Structure</span> view displays an outline of the structure (its attributes and mappings) of the entity that is currently selected or opened in the editor. The structural elements shown in the outline are the entity and its fields.</p>
-<div class="figure"><a id="sthref257" name="sthref257"></a>
-<p class="titleinfigure">Sample JPA Structure View</p>
-<img src="img/persistence_outline_view.png" alt="Sample JPA Structure view for an entity." title="Sample JPA Structure view for an entity." /><br /></div>
-<!-- class="figure" -->
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_perspective.htm#BABIFBDB">JPA Development perspective</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_perspective.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_perspective.htm
deleted file mode 100644
index 0be8caf..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_perspective.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>JPA Development perspective</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="JPA Development perspective" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABIFBDB" name="BABIFBDB"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>JPA Development perspective</h1>
-<p><a id="sthref286" name="sthref286"></a><a id="sthref287" name="sthref287"></a>The <span class="bold">JPA Development perspective</span> defines the initial set and layout of views in the Workbench window when using Dali. By default, the <span class="gui-object-title">JPA Development perspective</span> includes the following views:</p>
-<ul>
-<li>
-<p><a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a></p>
-</li>
-<li>
-<p><a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></p>
-</li>
-<li>
-<p><a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a></p>
-</li>
-<li>
-<p><a href="ref_details_orm.htm#CACGDGHC">JPA Details view (for orm.xml)</a></p>
-</li>
-</ul>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<p><a href="../org.eclipse.platform.doc.user/concepts/concepts-4.htm">Perspectives</a></p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_prop_view.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_prop_view.htm
deleted file mode 100644
index 408e016..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_prop_view.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>JPA Details view (for entities)</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="JPA Details view (for entities)" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABFAEBB" name="BABFAEBB"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>JPA Details view (for entities)</h1>
-<p><a id="sthref211" name="sthref211"></a><a id="sthref212" name="sthref212"></a><a id="sthref213" name="sthref213"></a>The <span class="gui-object-title">JPA Details</span> view displays the persistence information for the currently selected entity and contains the following tabs:</p>
-<ul>
-<li>
-<p><a href="reference006.htm#CACCAGGC">General information</a></p>
-</li>
-<li>
-<p><a href="reference007.htm#CACIJBGH">Attribute overrides</a></p>
-</li>
-<li>
-<p><a href="reference008.htm#CACBHIDA">Secondary table information</a></p>
-</li>
-<li>
-<p><a href="reference009.htm#CACFHGHE">Inheritance information</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_xmll_editor.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_xmll_editor.htm
deleted file mode 100644
index 0279000..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_persistence_xmll_editor.htm
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>persistence.xml Editor</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="persistence.xml Editor" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIACCHID" name="CIACCHID"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>persistence.xml Editor</h1>
-<p>The persistence.xml Editor provides an interface that enables you to update the persistence.xml file. For projects using the EclipseLink platform, the perisistence.xml Editor consists of the following pages:</p>
-<ul>
-<li>
-<p><a href="ref_persistence_general.htm#CIACIFGJ">General</a></p>
-</li>
-<li>
-<p><a href="reference018.htm#CIAFFJIE">Connection</a></p>
-</li>
-<li>
-<p><a href="reference019.htm#CIAJAFEG">Customization</a></p>
-</li>
-<li>
-<p><a href="reference020.htm#CIABEDCH">Caching</a></p>
-</li>
-<li>
-<p><a href="reference021.htm#CIABGHHI">Logging</a></p>
-</li>
-<li>
-<p><a href="reference022.htm#CIAFJCHE">Options</a></p>
-</li>
-<li>
-<p><a href="reference023.htm#CIACCFCB">Schema Generation</a></p>
-</li>
-<li>
-<p><a href="reference024.htm#CIAHJDFF">Properties</a></p>
-</li>
-<li>
-<p><a href="reference025.htm#CIAHCJAH">Source</a></p>
-</li>
-</ul>
-<p>For projects using the Generic platform, the following subset of these pages is available:</p>
-<ul>
-<li>
-<p><a href="ref_persistence_general.htm#CIACIFGJ">General</a></p>
-</li>
-<li>
-<p><a href="reference018.htm#CIAFFJIE">Connection</a></p>
-</li>
-<li>
-<p><a href="reference024.htm#CIAHJDFF">Properties</a></p>
-</li>
-<li>
-<p><a href="reference025.htm#CIAHCJAH">Source</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_primary_key.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_primary_key.htm
deleted file mode 100644
index 78ae018..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_primary_key.htm
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Primary Key Generation information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Primary Key Generation information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACFCCAB" name="CACFCCAB"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Primary Key Generation information</h1>
-<p>This table lists the fields available in the <span class="gui-object-title">Primary Key Generation</span> area in JPA Details view for <a href="tasks013.htm#BABGCBHG">ID mapping</a> types.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Join Columns tab." summary="This table describes the options on the Join Columns tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="26%" />
-<col width="*" />
-<col width="34%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t19">Property</th>
-<th align="left" valign="bottom" id="r1c2-t19">Description</th>
-<th align="left" valign="bottom" id="r1c3-t19">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t19" headers="r1c1-t19"><a id="CACBAJBC" name="CACBAJBC"></a>Primary Key Generation</td>
-<td align="left" headers="r2c1-t19 r1c2-t19"><a id="sthref251" name="sthref251"></a><a id="sthref252" name="sthref252"></a>These fields define how the primary key is generated. These fields correspond to the <code>@GeneratedValue</code> annotation.</td>
-<td align="left" headers="r2c1-t19 r1c3-t19">Generated Value</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t19" headers="r1c1-t19"><a id="CACJEEEC" name="CACJEEEC"></a>&nbsp;&nbsp;&nbsp;Strategy</td>
-<td align="left" headers="r3c1-t19 r1c2-t19">
-<ul>
-<li>Auto</li>
-<li>
-<p>Identity &ndash; Values are assigned by the database's <span class="bold">Identity</span> column.</p>
-</li>
-<li>
-<p>Sequence &ndash; Values are assigned by a sequence table (see <a href="#CACFFHEH">Sequence&nbsp;Generator</a>).</p>
-</li>
-<li>
-<p>Table &ndash; Values are assigned by a database table (see <a href="#CACGFEAH">Table Generator</a>).</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r3c1-t19 r1c3-t19">Auto</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t19" headers="r1c1-t19"><a id="BABEEAHJ" name="BABEEAHJ"></a>&nbsp;&nbsp;Generator Name</td>
-<td align="left" headers="r4c1-t19 r1c2-t19">Unique name of the generated value.</td>
-<td align="left" headers="r4c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t19" headers="r1c1-t19"><a id="CACGFEAH" name="CACGFEAH"></a>Table Generator</td>
-<td align="left" headers="r5c1-t19 r1c2-t19">These fields define the database table used for generating the primary key and correspond to the <code>@TableGenerator</code> annotation.
-<p>These fields apply only when <span class="bold">Strategy</span>&nbsp;=&nbsp;<span class="bold">Table</span>.</p>
-</td>
-<td align="left" headers="r5c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t19" headers="r1c1-t19">&nbsp;&nbsp;Name</td>
-<td align="left" headers="r6c1-t19 r1c2-t19">Unique name of the generator.</td>
-<td align="left" headers="r6c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t19" headers="r1c1-t19">&nbsp;&nbsp;Table</td>
-<td align="left" headers="r7c1-t19 r1c2-t19">Database table that stores the generated ID values.</td>
-<td align="left" headers="r7c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t19" headers="r1c1-t19">&nbsp;&nbsp;Primary Key Column</td>
-<td align="left" headers="r8c1-t19 r1c2-t19">The column in the table generator's <span class="bold">Table</span> that contains the primary key.</td>
-<td align="left" headers="r8c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t19" headers="r1c1-t19">&nbsp;&nbsp;Value Column</td>
-<td align="left" headers="r9c1-t19 r1c2-t19">The column that stores the generated ID values.</td>
-<td align="left" headers="r9c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t19" headers="r1c1-t19">&nbsp;&nbsp;Primary Key Column Value</td>
-<td align="left" headers="r10c1-t19 r1c2-t19">The value for the <span class="bold">Primary Key Column</span> in the generator table.</td>
-<td align="left" headers="r10c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r11c1-t19" headers="r1c1-t19"><a id="CACFFHEH" name="CACFFHEH"></a>Sequence&nbsp;Generator</td>
-<td align="left" headers="r11c1-t19 r1c2-t19"><a id="sthref253" name="sthref253"></a><a id="sthref254" name="sthref254"></a>These fields define the specific sequence used for generating the primary key and correspond to the <code>@SequenceGenerator</code> annotation.
-<p>These fields apply only when <span class="bold">Strategy</span> = <span class="bold">Sequence</span>.</p>
-</td>
-<td align="left" headers="r11c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r12c1-t19" headers="r1c1-t19">&nbsp;&nbsp;Name</td>
-<td align="left" headers="r12c1-t19 r1c2-t19">Name of the sequence table to use for defining primary key values.</td>
-<td align="left" headers="r12c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r13c1-t19" headers="r1c1-t19">&nbsp;&nbsp;Sequence</td>
-<td align="left" headers="r13c1-t19 r1c2-t19">Unique name of the sequence.</td>
-<td align="left" headers="r13c1-t19 r1c3-t19"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="tasks013.htm#BABGCBHG">ID mapping</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a></div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_project_properties.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_project_properties.htm
deleted file mode 100644
index 7a6aa85..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_project_properties.htm
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Project Properties page &ndash; Java Persistence Options</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Project Properties page &ndash; Java Persistence Options" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABJHBCI" name="BABJHBCI"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Project Properties page &ndash; Java Persistence Options</h1>
-<p><a id="sthref273" name="sthref273"></a><a id="sthref274" name="sthref274"></a>Use the <span class="gui-object-title">Errors/Warnings</span> options on the <span class="gui-object-title">Properties</span> page to specify the validation options to use with the project.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Persistence Properties page." summary="This table describes the options on the Persistence Properties page." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t36">Property</th>
-<th align="left" valign="bottom" id="r1c2-t36">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t36" headers="r1c1-t36">Enable project specific settings</td>
-<td align="left" headers="r2c1-t36 r1c2-t36">Select the to override the general settings for this project.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Project level</td>
-<td align="left" headers="r3c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Persistent unit level</td>
-<td align="left" headers="r4c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Type level</td>
-<td align="left" headers="r5c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Attribute level</td>
-<td align="left" headers="r6c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Schema mapping</td>
-<td align="left" headers="r7c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Implied&nbsp;attributes</td>
-<td align="left" headers="r8c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Implied&nbsp;associations</td>
-<td align="left" headers="r9c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Inheritance</td>
-<td align="left" headers="r10c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r11c1-t36" headers="r1c1-t36">&nbsp;&nbsp;Queries&nbsp;and&nbsp;generators</td>
-<td align="left" headers="r11c1-t36 r1c2-t36">Select the warning level to report.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="tasks026.htm#BABDBCBI">Modifying persistent project properties</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_schema_from_classes_page.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_schema_from_classes_page.htm
deleted file mode 100644
index 46ff81e..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_schema_from_classes_page.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generate Schema from Classes</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-06-04T16:18:13Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generate Schema from Classes" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACHBEGJ" name="CACHBEGJ"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Generate Schema from Classes</h1>
-<p>Use this dialog to select the classes from which to generate a schema. You can select an entire project, a package, or specific classes.</p>
-</div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_selectTables.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_selectTables.htm
deleted file mode 100644
index ea7d3c1..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_selectTables.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Select Tables</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Select Tables" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAHCGEE" name="CIAHCGEE"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Select Tables</h1>
-<p><a id="sthref201" name="sthref201"></a><a id="sthref202" name="sthref202"></a><a id="sthref203" name="sthref203"></a>Use the <span class="gui-object-title">Select Tables</span> dialog to specify the database connection and tables from which to create entities.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Generate Entities dialog." summary="This table describes the options on the Generate Entities dialog." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t8">Property</th>
-<th align="left" valign="bottom" id="r1c2-t8">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t8" headers="r1c1-t8">Connection</td>
-<td align="left" headers="r2c1-t8 r1c2-t8">Select a database connection or click <span class="bold">Add Connection</span> to create a new connection.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t8" headers="r1c1-t8">Schema</td>
-<td align="left" headers="r3c1-t8 r1c2-t8">Select the database schema from which to select tables.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t8" headers="r1c1-t8">Tables</td>
-<td align="left" headers="r4c1-t8 r1c2-t8">Select the tables from which to create Java persistent entities. The tables shown are determined by the database connection and schema selections.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t8" headers="r1c1-t8">Synchronize Classes listed in persistence.xml</td>
-<td align="left" headers="r5c1-t8 r1c2-t8">Specify if Dali should update the <code>persistence.xml</code> file to include the generated classes.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a><br />
-<a href="tasks021.htm#BABBAGFI">Generating entities from tables</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_create_custom_entities_wizard.htm#CIAGBFJE">Generate Entities from Tables Wizard</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_select_cascade_dialog.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_select_cascade_dialog.htm
deleted file mode 100644
index 317bf1e..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_select_cascade_dialog.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Select Cascade dialog</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Select Cascade dialog" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAFDGIJ" name="CIAFDGIJ"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Select Cascade dialog</h1>
-<p>Specify which operations are propagated throughout the association: All, Persist, Merge, Remove, or Refresh.</p>
-</div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/ref_tableAssociations.htm b/jpa/plugins/org.eclipse.jpt.doc.user/ref_tableAssociations.htm
deleted file mode 100644
index 507ef3a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/ref_tableAssociations.htm
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Table Associations</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Table Associations" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIACDICB" name="CIACDICB"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Table Associations</h1>
-<p><a id="sthref204" name="sthref204"></a>Use this page to create or edit the association between the database table and entity.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Generate Entities dialog." summary="This table describes the options on the Table Associations dialog." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t9">Property</th>
-<th align="left" valign="bottom" id="r1c2-t9">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t9" headers="r1c1-t9">Table associations</td>
-<td align="left" headers="r2c1-t9 r1c2-t9">Select an association to modify or click to create a new table association with the <a href="ref_create_new_association_wizard.htm#CIAFGHIF">Create New Association</a> wizard.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t9" headers="r1c1-t9">Generate this association</td>
-<td align="left" headers="r3c1-t9 r1c2-t9">Specify if Dali should create the selected association. If enabled, you can specify the Cardinality and Join table for the table association.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t9" headers="r1c1-t9">Generate a reference to <span class="italic">&lt;ROW&gt;</span> in <span class="italic">&lt;TABLE&gt;</span></td>
-<td align="left" headers="r4c1-t9 r1c2-t9">Specify if the entity should contain a reference to the specified table.
-<p>If enabled, you can also enter the <span class="bold">Property</span> name and select the <span class="bold">Cascade</span> method (all, persist, merge, remove, or refresh) for the reference.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a><br />
-<a href="tasks021.htm#BABBAGFI">Generating entities from tables</a><br />
-<a href="ref_create_new_association_wizard.htm#CIAFGHIF">Create New Association</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_create_custom_entities_wizard.htm#CIAGBFJE">Generate Entities from Tables Wizard</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference.htm
deleted file mode 100644
index edb027d..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Reference</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content=" Reference" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="sthref189" name="sthref189"></a></p>
-<h1>Reference</h1>
-<p>This section includes detailed help information for each of the following elements in the Dali OR Mapping Tool:</p>
-<ul>
-<li>
-<p><a href="reference001.htm#CACJJJJH">Wizards</a></p>
-</li>
-<li>
-<p><a href="reference005.htm#CACDJIIG">Property pages</a></p>
-</li>
-<li>
-<p><a href="reference026.htm#CACDEIEE">Preferences</a></p>
-</li>
-<li>
-<p><a href="reference028.htm#CACGEJDA">Dialogs</a></p>
-</li>
-<li>
-<p><a href="ref_persistence_perspective.htm#BABIFBDB">JPA Development perspective</a></p>
-</li>
-<li>
-<p><a href="reference030.htm#CACDHCIA">Icons and buttons</a></p>
-</li>
-<li>
-<p><a href="reference033.htm#CACBBDIB">Dali Developer Documentation</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference001.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference001.htm
deleted file mode 100644
index be40229..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference001.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Wizards</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-06-04T19:33:3Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Wizards" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACJJJJH" name="CACJJJJH"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Wizards</h1>
-<p>This section includes information on the following wizards:</p>
-<ul>
-<li>
-<p><a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a></p>
-</li>
-<li>
-<p><a href="ref_create_jpa_entity_wizard.htm#CIAGGGDF">Create JPA Entity wizard</a></p>
-</li>
-<li>
-<p><a href="reference004.htm#CIAGHCGA">Generate Tables from Entities Wizard</a></p>
-</li>
-<li>
-<p><a href="ref_create_custom_entities_wizard.htm#CIAGBFJE">Generate Entities from Tables Wizard</a></p>
-</li>
-<li>
-<p><a href="ref_create_new_association_wizard.htm#CIAFGHIF">Create New Association</a></p>
-</li>
-<li>
-<p><a href="ref_jaxb_schema_wizard.htm#CACGADFH">Generate Schema from JAXB Classes Wizard</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference002.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference002.htm
deleted file mode 100644
index a636406..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference002.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Mapping File Wizard</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Mapping File Wizard" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAIJCCE" name="CIAIJCCE"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Mapping File Wizard</h1>
-<p>The Mapping File wizard enables you to add an <code>orm.xml</code> file to a JPA project if no object map exists at the location specified. For example, if you cleared the <span class="bold">Create orm.xml</span> option on the <a href="ref_jpa_facet.htm#CACIFDIF">JPA Facet page</a>, you can later add the <code>orm.xml</code> file to the src file of the project using this wizard.</p>
-<p>The <a href="#CIAIJCCE">Mapping File Wizard</a> consists of the Mapping File page.</p>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference003.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference003.htm
deleted file mode 100644
index 80773ce..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference003.htm
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Mapping File</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Mapping File" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAJEIDJ" name="CIAJEIDJ"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Mapping File</h1>
-<p>This table lists the properties of the <a href="reference002.htm#CIAIJCCE">Mapping File Wizard</a>.</p>
-<div class="tblformal"><a id="sthref199" name="sthref199"></a><a id="sthref200" name="sthref200"></a>
-<p class="titleintable">Mapping File Wizard Properties</p>
-<table class="Formal" title="Mapping File Wizard Properties" summary="This table lists the properties of the Mapping File Wizard." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="24%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t7">Property</th>
-<th align="left" valign="bottom" id="r1c2-t7">Description</th>
-<th align="left" valign="bottom" id="r1c3-t7">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t7" headers="r1c1-t7">
-<p>Project</p>
-</td>
-<td align="left" headers="r2c1-t7 r1c2-t7">
-<p>The name of the JPA project.</p>
-</td>
-<td align="left" headers="r2c1-t7 r1c3-t7">
-<p>Selected.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t7" headers="r1c1-t7">
-<p>Source folder</p>
-</td>
-<td align="left" headers="r3c1-t7 r1c2-t7">
-<p>The location of the project's src folder. If needed, click <span class="bold">Browse</span> to point the wizard to the src file's location.</p>
-</td>
-<td align="left" headers="r3c1-t7 r1c3-t7">
-<p>Selected.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t7" headers="r1c1-t7">
-<p>File Path</p>
-</td>
-<td align="left" headers="r4c1-t7 r1c2-t7">
-<p>The location for the new <code>orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r4c1-t7 r1c3-t7">
-<p>Selected.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t7" headers="r1c1-t7">
-<p>Default Access</p>
-</td>
-<td align="left" headers="r5c1-t7 r1c2-t7">
-<p>Select whether the access to the entity is field-based or property-based, as defined in JPA specification.</p>
-<ul>
-<li>
-<p>None &ndash; No access type specified.</p>
-</li>
-<li>
-<p><span class="bold">Property-based</span> &ndash; Persistent state accessed through the property accessor methods. The property accessor methods must be <span class="bold">public</span> or <span class="bold">private</span>.</p>
-</li>
-<li>
-<p><span class="bold">Field-based</span> &ndash; Instance variables are accessed directly. All non-transient instance variables are persistent.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r5c1-t7 r1c3-t7">
-<p>None</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t7" headers="r1c1-t7">
-<p>Add to persistence unit</p>
-</td>
-<td align="left" headers="r6c1-t7 r1c2-t7">
-<p>Designates the persistence unit for this object map file.</p>
-</td>
-<td align="left" headers="r6c1-t7 r1c3-t7">
-<p>Selected.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a><br />
-<a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a><br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="reference002.htm#CIAIJCCE">Mapping File Wizard</a><br /></div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference004.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference004.htm
deleted file mode 100644
index 8a00cd0..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference004.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generate Tables from Entities Wizard</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:46Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generate Tables from Entities Wizard" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAGHCGA" name="CIAGHCGA"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Generate Tables from Entities Wizard</h1>
-<p>Use the Generate DDL from Entities Wizard to quickly create DDL scripts from your persistent entities. Dali automatically creates the necessary primary and foreign keys, based on the entity mappings.</p>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="tasks021.htm#BABBAGFI">Generating entities from tables</a><br />
-<a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a><br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_create_jpa_entity_wizard.htm#CIAGGGDF">Create JPA Entity wizard</a><br /></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference005.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference005.htm
deleted file mode 100644
index a11400d..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference005.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Property pages</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Property pages" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACDJIIG" name="CACDJIIG"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Property pages</h1>
-<p>This section includes information on the following:</p>
-<ul>
-<li>
-<p><a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></p>
-</li>
-<li>
-<p><a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a></p>
-</li>
-<li>
-<p><a href="ref_details_orm.htm#CACGDGHC">JPA Details view (for orm.xml)</a></p>
-</li>
-<li>
-<p><a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference006.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference006.htm
deleted file mode 100644
index 31bc24d..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference006.htm
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>General information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="General information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACCAGGC" name="CACCAGGC"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>General information</h1>
-<p>This table lists the General information fields available in the <span class="gui-object-title">JPA Details</span> view for each entity type.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Persistence Properties view, General tab." summary="This table describes the options on the Persistence Properties view, General tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="16%" />
-<col width="*" />
-<col width="17%" />
-<col width="25%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t13">Property</th>
-<th align="left" valign="bottom" id="r1c2-t13">Description</th>
-<th align="left" valign="bottom" id="r1c3-t13">Default</th>
-<th align="left" valign="bottom" id="r1c4-t13">Available for Entity&nbsp;Type</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t13" headers="r1c1-t13">Mapping Type Hyperlink</td>
-<td align="left" headers="r2c1-t13 r1c2-t13">Clicking the name of the mapping type, which is represented as a hyperlink, invokes the Mapping Type Selection dialog. Use this dialog to specify the type of entity: Mapped Superclass, Embeddable or the default mapping type.</td>
-<td align="left" headers="r2c1-t13 r1c3-t13">Entity</td>
-<td align="left" headers="r2c1-t13 r1c4-t13"><a href="tasks006.htm#BABGBIEE">Entity</a>, <a href="tasks007.htm#BABFEICE">Embeddable</a>, and <a href="tasks008.htm#BABDAGCI">Mapped superclass</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t13" headers="r1c1-t13">Table</td>
-<td align="left" headers="r3c1-t13 r1c2-t13">The default database table information for this entity. These fields can be overridden by the information in the <a href="reference007.htm#CACIJBGH">Attribute overrides</a> area.</td>
-<td align="left" headers="r3c1-t13 r1c3-t13"><br /></td>
-<td align="left" headers="r3c1-t13 r1c4-t13"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t13" headers="r1c1-t13">&nbsp;&nbsp;Name</td>
-<td align="left" headers="r4c1-t13 r1c2-t13">The name of the primary database table associated with the entity.</td>
-<td align="left" headers="r4c1-t13 r1c3-t13"><br /></td>
-<td align="left" headers="r4c1-t13 r1c4-t13"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t13" headers="r1c1-t13">&nbsp;&nbsp;Catalog</td>
-<td align="left" headers="r5c1-t13 r1c2-t13">The database catalog that contains the <span class="bold">Table</span>.</td>
-<td align="left" headers="r5c1-t13 r1c3-t13">As defined in <code>orm.xml</code>.</td>
-<td align="left" headers="r5c1-t13 r1c4-t13"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t13" headers="r1c1-t13">&nbsp;&nbsp;Schema</td>
-<td align="left" headers="r6c1-t13 r1c2-t13">The database schema that contains the <span class="bold">Table</span>.</td>
-<td align="left" headers="r6c1-t13 r1c3-t13">As defined in <code>orm.xml</code>.</td>
-<td align="left" headers="r6c1-t13 r1c4-t13"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t13" headers="r1c1-t13">Name</td>
-<td align="left" headers="r7c1-t13 r1c2-t13">The name of this entity. By default, the class name is used as the entity name.</td>
-<td align="left" headers="r7c1-t13 r1c3-t13"><br /></td>
-<td align="left" headers="r7c1-t13 r1c4-t13"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t13" headers="r1c1-t13">Access</td>
-<td align="left" headers="r8c1-t13 r1c2-t13">The access method for this entity.</td>
-<td align="left" headers="r8c1-t13 r1c3-t13">Field</td>
-<td align="left" headers="r8c1-t13 r1c4-t13"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t13" headers="r1c1-t13">Primary&nbsp;key&nbsp;class</td>
-<td align="left" headers="r9c1-t13 r1c2-t13">Click <span class="bold">Browse</span> and select the primary key for the entity. Clicking the field name, which is represented as a hyperlink, allows you to create a new class.</td>
-<td align="left" headers="r9c1-t13 r1c3-t13"><br /></td>
-<td align="left" headers="r9c1-t13 r1c4-t13"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t13" headers="r1c1-t13">Cachable</td>
-<td align="left" headers="r10c1-t13 r1c2-t13">Specifies if the entity is cachable.
-<p>This field corresponds to the <code>@Cachable</code> annotation.</p>
-</td>
-<td align="left" headers="r10c1-t13 r1c3-t13">@Cachable(false)</td>
-<td align="left" headers="r10c1-t13 r1c4-t13"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference007.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference007.htm
deleted file mode 100644
index 3100acd..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference007.htm
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Attribute overrides</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Attribute overrides" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACIJBGH" name="CACIJBGH"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Attribute overrides</h1>
-<p><a id="sthref214" name="sthref214"></a><a id="sthref215" name="sthref215"></a><a id="sthref216" name="sthref216"></a>Use the <span class="gui-object-title">Attribute Overrides</span> area in the <span class="gui-object-title">JPA Details</span> view to override the default settings specified in the <a href="reference006.htm#CACCAGGC">General information</a> area of an attribute. Attribute overrides generally override/configure attributes that are inherited or embedded.</p>
-<p>This table lists the Attribute override fields available in the <span class="gui-object-title">JPA Details</span> view for each entity type.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Persistence Properties view, General tab." summary="This table describes the options on the Persistence Properties view, General tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="16%" />
-<col width="*" />
-<col width="17%" />
-<col width="25%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t14">Property</th>
-<th align="left" valign="bottom" id="r1c2-t14">Description</th>
-<th align="left" valign="bottom" id="r1c3-t14">Default</th>
-<th align="left" valign="bottom" id="r1c4-t14">Available for Entity&nbsp;Type</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t14" headers="r1c1-t14">Attribute Overrides</td>
-<td align="left" headers="r2c1-t14 r1c2-t14">Specify a property or field to be overridden (from the default mappings). Select <span class="bold">Override Default</span>.</td>
-<td align="left" headers="r2c1-t14 r1c3-t14"><br /></td>
-<td align="left" headers="r2c1-t14 r1c4-t14"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t14" headers="r1c1-t14">Join Columns</td>
-<td align="left" headers="r3c1-t14 r1c2-t14">Specify the joining strategy. Select <span class="bold">Override Default</span> to add a different joining strategy.</td>
-<td align="left" headers="r3c1-t14 r1c3-t14">Join columns</td>
-<td align="left" headers="r3c1-t14 r1c4-t14"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="reference006.htm#CACCAGGC">General information</a><br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference008.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference008.htm
deleted file mode 100644
index edd0f9f..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference008.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Secondary table information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Secondary table information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACBHIDA" name="CACBHIDA"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Secondary table information</h1>
-<p><a id="sthref217" name="sthref217"></a><a id="sthref218" name="sthref218"></a><a id="sthref219" name="sthref219"></a><a id="sthref220" name="sthref220"></a>Use the <span class="gui-object-title">Secondary Tables</span> area in the <span class="gui-object-title">JPA Details</span> view to associate additional tables with an entity. Use this area if the data associated with an entity is spread across multiple tables.</p>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_additonal_tables.htm#CIHGBIEI">Specifying additional tables</a><br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference009.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference009.htm
deleted file mode 100644
index b905385..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference009.htm
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Inheritance information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Inheritance information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACFHGHE" name="CACFHGHE"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Inheritance information</h1>
-<p><a id="sthref221" name="sthref221"></a><a id="sthref222" name="sthref222"></a>This table lists the fields available on the <span class="gui-object-title">Inheritance</span> area in the <span class="gui-object-title">JPA Details</span> view for each entity type.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Persistence Properties view, Inheritance tab." summary="This table describes the options on the Persistence Properties view, Inheritance tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="23%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t15">Property</th>
-<th align="left" valign="bottom" id="r1c2-t15">Description</th>
-<th align="left" valign="bottom" id="r1c3-t15">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t15" headers="r1c1-t15">Strategy</td>
-<td align="left" headers="r2c1-t15 r1c2-t15">Specify the strategy to use when mapping a class or class hierarchy:
-<ul>
-<li>
-<p>Single table &ndash; All classes in the hierarchy are mapped to a single table.</p>
-</li>
-<li>
-<p>Joined &ndash; The root of the hierarchy is mapped to a single table; each child maps to its own table.</p>
-</li>
-<li>
-<p>Table per class &ndash; Each class is mapped to a separate table.</p>
-</li>
-</ul>
-<p>This field corresponds to the <code>@Inheritance</code> annotation.</p>
-</td>
-<td align="left" headers="r2c1-t15 r1c3-t15">Single table</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t15" headers="r1c1-t15"><a id="sthref223" name="sthref223"></a><a id="sthref224" name="sthref224"></a>Discriminator Value</td>
-<td align="left" headers="r3c1-t15 r1c2-t15">Specify the discriminator value used to differentiate an entity in this inheritance hierarchy. The value must conform to the specified <span class="bold">Discriminator Type</span>.</td>
-<td align="left" headers="r3c1-t15 r1c3-t15"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t15" headers="r1c1-t15"><a id="sthref225" name="sthref225"></a><a id="sthref226" name="sthref226"></a>Discriminator Column</td>
-<td align="left" headers="r4c1-t15 r1c2-t15">These fields are available when using a <span class="bold">Single</span> or <span class="bold">Joined</span> inheritance strategy.
-<p>This field corresponds to the <code>@DiscriminatorColumn</code> annotation.</p>
-<p>Use the <span class="bold">Details</span> area to define the <span class="bold">Length</span> and <span class="bold">Column definition</span> of this Discriminator Column.</p>
-</td>
-<td align="left" headers="r4c1-t15 r1c3-t15"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t15" headers="r1c1-t15">&nbsp;&nbsp;Name</td>
-<td align="left" headers="r5c1-t15 r1c2-t15">Name of the discriminator column</td>
-<td align="left" headers="r5c1-t15 r1c3-t15"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t15" headers="r1c1-t15">&nbsp;&nbsp;Type</td>
-<td align="left" headers="r6c1-t15 r1c2-t15">Set this field to set the discriminator type to <code>Char</code> or <code>Integer</code> (instead of its default: <code>String</code>). The <span class="bold">Discriminator Value</span> must conform to this type.</td>
-<td align="left" headers="r6c1-t15 r1c3-t15">String</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t15" headers="r1c1-t15">Primary Key Join Columns</td>
-<td align="left" headers="r7c1-t15 r1c2-t15">Use to override the default primary key join columns. Select <span class="bold">Override Default</span>, then click <span class="bold">Add</span> to select new Join Column.
-<p>This field corresponds with @PrimaryKeyJoinColumn annotation.</p>
-</td>
-<td align="left" headers="r7c1-t15 r1c3-t15"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_inheritance.htm#CIHCCCJD">Specifying entity inheritance</a><br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference010.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference010.htm
deleted file mode 100644
index f4b3e9a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference010.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Queries</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Queries" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<div class="sect3"><!-- infolevel="all" infotype="General" --><a id="sthref227" name="sthref227"></a>
-<h1>Queries</h1>
-<p>Use the queries area of the JPA Details view to create named queries and named native queries. Refer to <a href="tasks009.htm#BABIGBGG">"Creating Named Queries"</a> for additional information.</p>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="tasks009.htm#BABIGBGG">Creating Named Queries</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference011.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference011.htm
deleted file mode 100644
index 25cdce9..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference011.htm
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Join Table Information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Join Table Information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACBAEBC" name="CACBAEBC"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Join Table Information</h1>
-<p>Use area to specify a mapped column for joining an entity association. By default, the mapping is assumed to have a single join.</p>
-<p>This table lists the fields available on the <span class="gui-object-title">Join Table</span> area in <span class="gui-object-title">the JPA Details</span> view for <a href="tasks016.htm#BABHGEBD">One-to-many mapping</a> and <a href="tasks014.htm#BABEIEGD">Many-to-many mapping</a> mapping types.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Join Table tab." summary="This table describes the options on the Join Table tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="26%" />
-<col width="*" />
-<col width="34%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t17">Property</th>
-<th align="left" valign="bottom" id="r1c2-t17">Description</th>
-<th align="left" valign="bottom" id="r1c3-t17">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t17" headers="r1c1-t17">Name</td>
-<td align="left" headers="r2c1-t17 r1c2-t17">Name of the join table that contains the foreign key column.</td>
-<td align="left" headers="r2c1-t17 r1c3-t17">By default, the name is assumed to be the primary tables associated with the entities concatenated with an underscore.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t17" headers="r1c1-t17"><a id="CACBBDFG" name="CACBBDFG"></a>Join Columns</td>
-<td align="left" headers="r3c1-t17 r1c2-t17"><a id="sthref246" name="sthref246"></a><a id="sthref247" name="sthref247"></a>Specify a mapped column for joining an entity association. This field corresponds to the <code>@JoinColum</code> attribute.
-<p>Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</p>
-</td>
-<td align="left" headers="r3c1-t17 r1c3-t17">By default, the mapping is assumed to have a single join.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t17" headers="r1c1-t17">Inverse Join Columns</td>
-<td align="left" headers="r4c1-t17 r1c2-t17">Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</td>
-<td align="left" headers="r4c1-t17 r1c3-t17"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="reference029.htm#CACCGEHC">Edit Join Columns Dialog</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference012.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference012.htm
deleted file mode 100644
index 6199077..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference012.htm
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Join Columns Information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:47Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Join Columns Information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACFCEJC" name="CACFCEJC"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Join Columns Information</h1>
-<p><a id="sthref248" name="sthref248"></a>This table lists the fields available in the <span class="gui-object-title">Join Table</span> area in <span class="gui-object-title">JPA Details</span> view for <a href="tasks015.htm#BABHFAFJ">Many-to-one mapping</a> and <a href="tasks017.htm#BABFHBCJ">One-to-one mapping</a> mapping types.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Join Columns tab." summary="This table describes the options on the Join Columns tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="26%" />
-<col width="*" />
-<col width="34%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t18">Property</th>
-<th align="left" valign="bottom" id="r1c2-t18">Description</th>
-<th align="left" valign="bottom" id="r1c3-t18">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t18" headers="r1c1-t18">Join Column</td>
-<td align="left" headers="r2c1-t18 r1c2-t18"><a id="sthref249" name="sthref249"></a><a id="sthref250" name="sthref250"></a>Specify a mapped column for joining an entity association. This field corresponds to the <code>@JoinColum</code> attribute.
-<p>Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</p>
-</td>
-<td align="left" headers="r2c1-t18 r1c3-t18">By default, the mapping is assumed to have a single join.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="reference029.htm#CACCGEHC">Edit Join Columns Dialog</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference013.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference013.htm
deleted file mode 100644
index 0b08922..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference013.htm
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>General information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="General information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACCACGH" name="CACCACGH"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>General information</h1>
-<p>This table lists the General information fields available in the <span class="gui-object-title">JPA Details</span> view for each entity type.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Persistence Properties view, General tab." summary="This table describes the options on the Persistence Properties view, General tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="21%" />
-<col width="*" />
-<col width="22%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t20">Property</th>
-<th align="left" valign="bottom" id="r1c2-t20">Description</th>
-<th align="left" valign="bottom" id="r1c3-t20">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t20" headers="r1c1-t20">Package</td>
-<td align="left" headers="r2c1-t20 r1c2-t20">The Java package that contains the persistent entities. Click <span class="bold">Browse</span> and select the package</td>
-<td align="left" headers="r2c1-t20 r1c3-t20"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t20" headers="r1c1-t20">Schema</td>
-<td align="left" headers="r3c1-t20 r1c2-t20">The database schema that contains the <span class="bold">Table</span>.
-<p>This field corresponds to the <code>&lt;schema&gt;</code> element in the <code>orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r3c1-t20 r1c3-t20"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t20" headers="r1c1-t20">Catalog</td>
-<td align="left" headers="r4c1-t20 r1c2-t20">The database catalog that contains the <span class="bold">Table</span>.
-<p>This field corresponds to the <code>&lt;catalog&gt;</code> element in the <code>orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r4c1-t20 r1c3-t20"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t20" headers="r1c1-t20">Access</td>
-<td align="left" headers="r5c1-t20 r1c2-t20">Specify the default access method for the variables in the project:
-<ul>
-<li>
-<p>Property</p>
-</li>
-<li>
-<p>Field</p>
-</li>
-</ul>
-<p>This field corresponds to the <code>&lt;access&gt;</code> element in the <code>orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r5c1-t20 r1c3-t20"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference014.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference014.htm
deleted file mode 100644
index e824d3f..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference014.htm
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Persistence Unit information</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Persistence Unit information" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACEAGBG" name="CACEAGBG"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Persistence Unit information</h1>
-<p>This table lists the Persistence Unit information fields available in the <span class="gui-object-title">JPA Details</span> view for each entity type. These fields are contained in the <code>&lt;persistence-unit-metadata&gt;</code> element in the <code>orm.xml</code> file.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Persistence Properties view, General tab." summary="This table describes the options on the Persistence Properties view, General tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="21%" />
-<col width="*" />
-<col width="22%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t21">Property</th>
-<th align="left" valign="bottom" id="r1c2-t21">Description</th>
-<th align="left" valign="bottom" id="r1c3-t21">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t21" headers="r1c1-t21">XML Mapping Data Complete</td>
-<td align="left" headers="r2c1-t21 r1c2-t21">Specifies that the Java classes in this persistence unit are fully specified by their metadata. Any annotations will be ignored.
-<p>This field corresponds to the <code>&lt;xml-mapping-metadata-complete&gt;</code> element in the <code>orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r2c1-t21 r1c3-t21"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t21" headers="r1c1-t21">Cascade Persist</td>
-<td align="left" headers="r3c1-t21 r1c2-t21">Adds cascade-persist to the set of cascade options in entity relationships of the persistence unit.
-<p>This field corresponds to the <code>&lt;cascade-persist&gt;</code> element in the <code>orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r3c1-t21 r1c3-t21"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t21" headers="r1c1-t21">Schema</td>
-<td align="left" headers="r4c1-t21 r1c2-t21">The database schema that contains the <span class="bold">Table</span>.
-<p>This field corresponds to the <code>&lt;schema&gt;</code> element in the <code>orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r4c1-t21 r1c3-t21"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t21" headers="r1c1-t21">Catalog</td>
-<td align="left" headers="r5c1-t21 r1c2-t21">The database catalog that contains the <span class="bold">Table</span>.
-<p>This field corresponds to the <code>&lt;catalog&gt;</code> element in the <code>orm.xml</code> file.</p>
-</td>
-<td align="left" headers="r5c1-t21 r1c3-t21"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t21" headers="r1c1-t21">Access</td>
-<td align="left" headers="r6c1-t21 r1c2-t21">Specify how the entity its access instance variables.
-<ul>
-<li>
-<p>Property &ndash; Persistent state accessed through the property accessor methods. The property accessor methods must be <span class="bold">public</span> or <span class="bold">private</span>.</p>
-</li>
-<li>
-<p>Field &ndash; Instance variables are accessed directly. All non-transient instance variables are persistent.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r6c1-t21 r1c3-t21">Property</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference015.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference015.htm
deleted file mode 100644
index dd0c88a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference015.htm
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generators</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generators" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAFGAIJ" name="CIAFGAIJ"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Generators</h1>
-<p>This table lists the Generator information fields available in the <span class="gui-object-title">JPA Details</span> view for the <code>orm.xml</code> file.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Persistence Properties view, General tab." summary="This table describes the options on the Persistence Properties view, General tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="21%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t22">Property</th>
-<th align="left" valign="bottom" id="r1c2-t22">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t22" headers="r1c1-t22">Generator</td>
-<td align="left" headers="r2c1-t22 r1c2-t22">Displays the existing Sequence and Table generators.
-<p>Click <span class="bold">Add Sequence</span> or <span class="bold">Add Table</span> to add a new generator.</p>
-<p>For sequence generators, you must complete the following fields:</p>
-<ul>
-<li>
-<p>Name</p>
-</li>
-<li>
-<p>Sequence</p>
-</li>
-<li>
-<p>Schema</p>
-</li>
-<li>
-<p>Catalog</p>
-</li>
-<li>
-<p>Allocation size</p>
-</li>
-<li>
-<p>Initial value</p>
-</li>
-</ul>
-<p>For table generators, you must complete the following fields:</p>
-<ul>
-<li>
-<p>Name</p>
-</li>
-<li>
-<p>Table</p>
-</li>
-<li>
-<p>Schema</p>
-</li>
-<li>
-<p>Catalog</p>
-</li>
-<li>
-<p>Primary key column</p>
-</li>
-<li>
-<p>Value column</p>
-</li>
-<li>
-<p>Primary key column value</p>
-</li>
-<li>
-<p>Allocation size</p>
-</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_details_orm.htm#CACGDGHC">JPA Details view (for orm.xml)</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference016.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference016.htm
deleted file mode 100644
index 227a2b3..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference016.htm
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Queries</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Queries" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAIBAAJ" name="CIAIBAAJ"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Queries</h1>
-<p>This table lists the Query information fields available in the <span class="gui-object-title">JPA Details</span> view for the <code>orm.xml</code> file.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Persistence Properties view, General tab." summary="This table describes the options on the Persistence Properties view, General tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="21%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t23">Property</th>
-<th align="left" valign="bottom" id="r1c2-t23">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t23" headers="r1c1-t23">Queries</td>
-<td align="left" headers="r2c1-t23 r1c2-t23">Displays the existing Named and Native queries.
-<p>Click <span class="bold">Add</span> to add a named query, or <span class="bold">Add Native</span> for a native query.</p>
-<p>For named queries, enter the query in the Query field.</p>
-<p>For native queries, select a result class, then enter the query in the Query field.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t23" headers="r1c1-t23">Query Hints</td>
-<td align="left" headers="r3c1-t23 r1c2-t23">Displays the existing query hints (Name and Value).
-<p>Click <span class="bold">Add</span> to add a new query hint.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="tasks009.htm#BABIGBGG">Creating Named Queries</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_details_orm.htm#CACGDGHC">JPA Details view (for orm.xml)</a></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference017.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference017.htm
deleted file mode 100644
index a9a21aa..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference017.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Converters</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Converters" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIADGCID" name="CIADGCID"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Converters</h1>
-<p>The Converters information in the JPA Details view applies only when using EclipseLink</p>
-<p>Click <span class="bold">Add</span> to create a new converter, using the <a href="ref_add_converter.htm#CIAGCGIJ">Add Converter dialog</a>.</p>
-<p>&nbsp;</p>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_details_orm.htm#CACGDGHC">JPA Details view (for orm.xml)</a></div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference018.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference018.htm
deleted file mode 100644
index 8f35b73..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference018.htm
+++ /dev/null
@@ -1,183 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Connection</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Connection" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAFFJIE" name="CIAFFJIE"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Connection</h1>
-<p>The following table lists the properties available in the Connection page of the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>.</p>
-<div class="tblformal"><a id="sthref260" name="sthref260"></a><a id="sthref261" name="sthref261"></a>
-<p class="titleintable">Properties of the Connection Page</p>
-<table class="Formal" title="Properties of the Connection Page" summary="This table lists the properties for the persistence.xml editor&rsquo;s connection page." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="24%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t25">Property</th>
-<th align="left" valign="bottom" id="r1c2-t25">Description</th>
-<th align="left" valign="bottom" id="r1c3-t25">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t25" headers="r1c1-t25">
-<p>Transaction Type</p>
-</td>
-<td align="left" headers="r2c1-t25 r1c2-t25">
-<p>Specify if the connection for this persistence unit uses one of the following transaction types:</p>
-<ul>
-<li>
-<p><span class="bold">Default</span> -- Select to use the container used by the container.</p>
-</li>
-<li>
-<p><span class="bold">JTA</span> (Java Transaction API) -- Transactions of the Java EE server.</p>
-</li>
-<li>
-<p><span class="bold">Resource Local</span> -- Native actions of a JDBC driver that are referenced by a persistence unit.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r2c1-t25 r1c3-t25"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t25" headers="r1c1-t25">
-<p>Batch Writing</p>
-</td>
-<td align="left" headers="r3c1-t25 r1c2-t25">
-<p>Specify the use of batch writing to optimize transactions with multiple write operations.</p>
-<p>Set the value of this property into the session at deployment time.</p>
-<p>Note: This property applies when used both in a Java SE and Java EE environment.</p>
-<p>The following are the valid values for oracle.toplink.config.BatchWriting:</p>
-<ul>
-<li>
-<p><span class="bold">JDBC</span>&ndash;Use JDBC batch writing.</p>
-</li>
-<li>
-<p><span class="bold">Buffered</span>&ndash;Do not use either JDBC batch writing nor native platform batch writing.</p>
-</li>
-<li>
-<p><span class="bold">OracleJDBC</span>&ndash;Use both JDBC batch writing and Oracle native platform batch writing.</p>
-</li>
-<li>
-<p><span class="bold">None</span>&ndash;Do not use batch writing (turn it off).</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r3c1-t25 r1c3-t25">
-<p>None</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t25" headers="r1c1-t25">
-<p>Statement caching</p>
-</td>
-<td align="left" headers="r4c1-t25 r1c2-t25"><br /></td>
-<td align="left" headers="r4c1-t25 r1c3-t25"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t25" headers="r1c1-t25">
-<p>Native SQL</p>
-</td>
-<td align="left" headers="r5c1-t25 r1c2-t25"><br /></td>
-<td align="left" headers="r5c1-t25 r1c3-t25">
-<p>False</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t25" headers="r1c1-t25">
-<p>JTA Data Source Name</p>
-</td>
-<td align="left" headers="r6c1-t25 r1c2-t25">
-<p>If you selected <span class="bold">JTA</span> as the transaction type, then enter the name of the default JTA data source for the persistence unit.</p>
-</td>
-<td align="left" headers="r6c1-t25 r1c3-t25"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t25" headers="r1c1-t25">
-<p>Non-JTA Data Source Name</p>
-</td>
-<td align="left" headers="r7c1-t25 r1c2-t25">
-<p>If you selected <span class="bold">Resource Local</span> as the transaction type, then enter the name of the non-JTA data source.</p>
-<p>This property is not available for projects using the Generic platform.</p>
-</td>
-<td align="left" headers="r7c1-t25 r1c3-t25"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t25" headers="r1c1-t25">
-<p>&nbsp;&nbsp;Bind&nbsp;Parameters</p>
-</td>
-<td align="left" headers="r8c1-t25 r1c2-t25">
-<p>Control whether or not the query uses parameter binding.</p>
-<p>Note: This property applies when used in a Java SE environment.</p>
-<p>This property is not available for projects using the Generic platform.</p>
-</td>
-<td align="left" headers="r8c1-t25 r1c3-t25"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t25" headers="r1c1-t25">
-<p>EclipseLink Connection Pool</p>
-</td>
-<td align="left" headers="r9c1-t25 r1c2-t25">
-<p>Define the connection pool driver, URL, user name and password.</p>
-<p>These properties are note available for projects using the Generic platform.</p>
-</td>
-<td align="left" headers="r9c1-t25 r1c3-t25"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t25" headers="r1c1-t25">
-<p>&nbsp;&nbsp;Read&nbsp;Connection</p>
-</td>
-<td align="left" headers="r10c1-t25 r1c2-t25">
-<p>The maximum and minimum number of connections allowed in the JDBC read connection pool.</p>
-<p>Note: These property apply when used in a Java SE environment.</p>
-<p>These properties are not available for projects using the Generic platform</p>
-</td>
-<td align="left" headers="r10c1-t25 r1c3-t25"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r11c1-t25" headers="r1c1-t25">
-<p>&nbsp;&nbsp;Write&nbsp;Connection</p>
-</td>
-<td align="left" headers="r11c1-t25 r1c2-t25">
-<p>The maximum and minimum number of connections allowed in the JDBC read connection pool.</p>
-<p>Note: These property apply when used in a Java SE environment.</p>
-<p>These properties are not available for projects using the Generic platform</p>
-</td>
-<td align="left" headers="r11c1-t25 r1c3-t25"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" --></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference019.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference019.htm
deleted file mode 100644
index 2a13dba..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference019.htm
+++ /dev/null
@@ -1,221 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Customization</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Customization" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAJAFEG" name="CIAJAFEG"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Customization</h1>
-<p>The following table lists the properties available in the Customization page of the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>.</p>
-<div class="tblformal"><a id="sthref262" name="sthref262"></a><a id="sthref263" name="sthref263"></a>
-<p class="titleintable">Properties of the Customization Page</p>
-<table class="Formal" title="Properties of the Customization Page" summary="This table lists the properties of the persistence.xml Editor&rsquo;s Customization page." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="23%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t26">Property</th>
-<th align="left" valign="bottom" id="r1c2-t26">Description</th>
-<th align="left" valign="bottom" id="r1c3-t26">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t26" headers="r1c1-t26">
-<p>Weaving</p>
-</td>
-<td align="left" headers="r2c1-t26 r1c2-t26">
-<p>Specifies if weaving of the entity classes is performed. The EclipseLink JPA persistence provider uses weaving to enhance JPA entities for such properties as lazy loading, change tracking, fetch groups, and internal optimizations. Select from the following options:</p>
-<ul>
-<li>
-<p><span class="bold">No Weaving</span></p>
-</li>
-<li>
-<p><span class="bold">Weave Dynamically</span></p>
-</li>
-<li>
-<p><span class="bold">Weave Statically</span> -- Use this option if you plan to execute your application outside of a Java EE 5 container in an environment that does not permit the use of <code>-javaagent:eclipselink.jar</code> on the JVM command line. This assumes that classes have already been statically woven. Run the static weaver on the classes before deploying them.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r2c1-t26 r1c3-t26">
-<p>Weave Dynamically</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t26" headers="r1c1-t26">
-<p>&nbsp;&nbsp;Weaving&nbsp;Lazy</p>
-</td>
-<td align="left" headers="r3c1-t26 r1c2-t26">
-<p>Select this option to enable lazy weaving.</p>
-</td>
-<td align="left" headers="r3c1-t26 r1c3-t26">
-<p>True</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t26" headers="r1c1-t26">
-<p>&nbsp;&nbsp;Weaving&nbsp;Fetch&nbsp;Groups</p>
-</td>
-<td align="left" headers="r4c1-t26 r1c2-t26">
-<p>Select this option to enable fetch groups through weaving. Set this option to false if:</p>
-<ul>
-<li>
-<p>There is no weaving.</p>
-</li>
-<li>
-<p>Classes should not be changed during weaving (for example, when debugging).</p>
-</li>
-</ul>
-<p>Set this property to false for platforms where it is not supported.</p>
-</td>
-<td align="left" headers="r4c1-t26 r1c3-t26">
-<p>True</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t26" headers="r1c1-t26">
-<p>Weaving&nbsp;internal</p>
-</td>
-<td align="left" headers="r5c1-t26 r1c2-t26"><br /></td>
-<td align="left" headers="r5c1-t26 r1c3-t26">
-<p>True</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t26" headers="r1c1-t26">
-<p>Weaving&nbsp;eager</p>
-</td>
-<td align="left" headers="r6c1-t26 r1c2-t26"><br /></td>
-<td align="left" headers="r6c1-t26 r1c3-t26">
-<p>False</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t26" headers="r1c1-t26">
-<p>&nbsp;&nbsp;Weaving&nbsp;Change&nbsp;Tracking</p>
-</td>
-<td align="left" headers="r7c1-t26 r1c2-t26">
-<p>Select this option to use weaving to detect which fields or properties of the object change.</p>
-</td>
-<td align="left" headers="r7c1-t26 r1c3-t26">
-<p>True</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t26" headers="r1c1-t26">
-<p>&nbsp;&nbsp;Throw&nbsp;Exceptions</p>
-</td>
-<td align="left" headers="r8c1-t26 r1c2-t26">
-<p>Select this option to set EclipseLink to throw an exception or log a warning when it encounters a problem with any of the files listed in a <span class="bold">persistence.xml</span> file <code>&lt;mapping-file&gt;</code> element.</p>
-</td>
-<td align="left" headers="r8c1-t26 r1c3-t26">
-<p>True</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t26" headers="r1c1-t26">
-<p>Exception handler</p>
-</td>
-<td align="left" headers="r9c1-t26 r1c2-t26">
-<p>Select (or create) a Java class to handle exceptions.</p>
-</td>
-<td align="left" headers="r9c1-t26 r1c3-t26"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t26" headers="r1c1-t26">
-<p>Session Customizer</p>
-</td>
-<td align="left" headers="r10c1-t26 r1c2-t26">
-<p>Select a session customizer class: a Java class that implements the <code>eclipselink.tools.sessionconfiguration.SessionCustomizer</code> interface and provides a default (zero-argument) constructor. Use this class' <code>customize</code> method, which takes an <code>eclipselink.sessions.Session</code>, to programmatically access advanced EclipseLink session API.</p>
-</td>
-<td align="left" headers="r10c1-t26 r1c3-t26"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r11c1-t26" headers="r1c1-t26">
-<p>Descriptor Customizer</p>
-</td>
-<td align="left" headers="r11c1-t26 r1c2-t26">
-<p>Select an EclipseLink descriptor customizer class&ndash;a Java class that implements the <code>eclipselink.tools.sessionconfiguration.DescriptorCustomizer</code> interface and provides a default (zero-argument) constructor. Use this class's <code>customize</code> method, which takes an <code>eclipselink.descriptors.ClassDescriptor</code>, to programmatically access advanced EclipseLink descriptor and mapping API for the descriptor associated with the JPA entity named <code>&lt;ENTITY&gt;</code>.</p>
-</td>
-<td align="left" headers="r11c1-t26 r1c3-t26"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r12c1-t26" headers="r1c1-t26">
-<p>Validation only</p>
-</td>
-<td align="left" headers="r12c1-t26 r1c2-t26"><br /></td>
-<td align="left" headers="r12c1-t26 r1c3-t26">
-<p>True</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r13c1-t26" headers="r1c1-t26">
-<p>Profiler</p>
-</td>
-<td align="left" headers="r13c1-t26 r1c2-t26">
-<ul>
-<li>
-<p>No Profiler</p>
-</li>
-<li>
-<p>Performance Profiler</p>
-</li>
-<li>
-<p>Query Monitor</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r13c1-t26 r1c3-t26">
-<p>NoProfiler</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" -->
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-This page is not available for projects using the <span class="bold">Generic</span> platform.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference020.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference020.htm
deleted file mode 100644
index 769e6de..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference020.htm
+++ /dev/null
@@ -1,185 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Caching</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Caching" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIABEDCH" name="CIABEDCH"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1><a id="sthref264" name="sthref264"></a>Caching</h1>
-<p>This table lists the properties of the Caching page of the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>.</p>
-<div class="tblformal"><a id="sthref265" name="sthref265"></a><a id="sthref266" name="sthref266"></a>
-<p class="titleintable">Properties of the Caching Page</p>
-<table class="Formal" title="Properties of the Caching Page" summary="This table lists the properties of the persistence.xml&rsquo;s Caching page." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="24%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t28">Property</th>
-<th align="left" valign="bottom" id="r1c2-t28">Description</th>
-<th align="left" valign="bottom" id="r1c3-t28">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t28" headers="r1c1-t28">
-<p>Default Cache Type</p>
-</td>
-<td align="left" headers="r2c1-t28 r1c2-t28">
-<p>Select one of the following as the Default Cache Type:</p>
-<ul>
-<li>
-<p><span class="bold">Soft with Weak Subcache</span>&ndash;This option is similar to <span class="bold">Weak with Hard Subcache</span> except that it maintains a most frequently used subcache that uses soft references. The size of the subcache is proportional to the size of the identity map. The subcache uses soft references to ensure that these objects are garbage-collected only if the system is low on memory.</p>
-<p>Use this identity map in most circumstances as a means to control memory used by the cache.</p>
-</li>
-<li>
-<p><span class="bold">Week with Hard Subcache</span>&ndash;This option is similar to <span class="bold">Soft with Weak</span> subcache except that it maintains a most frequently used subcache that uses hard references. Use this identity map if soft references are not suitable for your platform.</p>
-</li>
-<li>
-<p><span class="bold">Weak</span>&ndash;This option is similar to <span class="bold">Full</span>, except that objects are referenced using weak references. This option uses less memory than <span class="bold">Full</span>, allows complete garbage collection and provides full caching and guaranteed identity.</p>
-<p>Use this identity map for transactions that, once started, stay on the server side.</p>
-</li>
-<li>
-<p><span class="bold">Soft</span>&ndash;This option is similar to <span class="bold">Weak</span> except that the map holds the objects using soft references. This identity map enables full garbage collection when memory is low. It provides full caching and guaranteed identity.</p>
-</li>
-<li>
-<p><span class="bold">Full</span>&ndash;This option provides full caching and guaranteed identity: all objects are cached and not removed.</p>
-<p>Note: This process may be memory-intensive when many objects are read.</p>
-</li>
-<li>
-<p><span class="bold">None</span>&ndash;This option does not preserve object identity and does not cache objects.This option is not recommended.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r2c1-t28 r1c3-t28">
-<p>Weak with soft subcache</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t28" headers="r1c1-t28">
-<p>Default Cache Size</p>
-</td>
-<td align="left" headers="r3c1-t28 r1c2-t28">
-<p>Set the size (maximum number of objects) of the cache.</p>
-</td>
-<td align="left" headers="r3c1-t28 r1c3-t28">
-<p>100</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t28" headers="r1c1-t28">
-<p>Default Shared Cache</p>
-</td>
-<td align="left" headers="r4c1-t28 r1c2-t28">
-<p>Specifies if cached instances should be in the shared cache or in a client isolated cache.</p>
-</td>
-<td align="left" headers="r4c1-t28 r1c3-t28">
-<p>True</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t28" headers="r1c1-t28">
-<p>Entity Caching</p>
-</td>
-<td align="left" headers="r5c1-t28 r1c2-t28">
-<p>Specify the entity-specific caching information.</p>
-</td>
-<td align="left" headers="r5c1-t28 r1c3-t28"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t28" headers="r1c1-t28">
-<p>&nbsp;&nbsp;Cache&nbsp;Type</p>
-</td>
-<td align="left" headers="r6c1-t28 r1c2-t28">
-<p>See <span class="italic">Default Cache Type.</span></p>
-</td>
-<td align="left" headers="r6c1-t28 r1c3-t28"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t28" headers="r1c1-t28">
-<p>&nbsp;&nbsp;Cache&nbsp;Size</p>
-</td>
-<td align="left" headers="r7c1-t28 r1c2-t28">
-<p>See <span class="italic">Default Cache Size.</span></p>
-</td>
-<td align="left" headers="r7c1-t28 r1c3-t28"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t28" headers="r1c1-t28">
-<p>&nbsp;&nbsp;Shared&nbsp;Cache</p>
-</td>
-<td align="left" headers="r8c1-t28 r1c2-t28">
-<p>See <span class="italic">Default Shared Cache</span>.</p>
-</td>
-<td align="left" headers="r8c1-t28 r1c3-t28"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t28" headers="r1c1-t28">
-<p>Flush clear cache</p>
-</td>
-<td align="left" headers="r9c1-t28 r1c2-t28">
-<p>Select one of the following as the Default Cache Type:</p>
-<ul>
-<li>
-<p><span class="bold">Drop</span> &ndash; This mode is the fastest and uses the least memory. However, after commit the shared cache might potentially contain stale data.</p>
-</li>
-<li>
-<p><span class="bold">Drop Invalidate</span> &ndash; Classes that have at least one object updated or deleted are invalidated in the shared cache at commit time. This mode is slower than <span class="bold">Drop</span>, but as efficient memory usage-wise, and prevents stale data.</p>
-</li>
-<li>
-<p><span class="bold">Merge</span> &ndash; Drop classes from the EntityManager's cache of objects that have not been flushed. This mode leaves the shared cache in a perfect state after commit. However, it is the least memory-efficient mode; the memory might even run out in a very large transaction.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r9c1-t28 r1c3-t28">
-<p>Drop Invalidate</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" -->
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-This page is not available for projects using the <span class="bold">Generic</span> platform.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference021.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference021.htm
deleted file mode 100644
index c92c362..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference021.htm
+++ /dev/null
@@ -1,241 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Logging</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Logging" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIABGHHI" name="CIABGHHI"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Logging</h1>
-<p>This table lists the properties of the Logging page of the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-This page is not available for projects using the <span class="bold">Generic</span> platform.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-<div class="tblformal"><a id="sthref267" name="sthref267"></a><a id="sthref268" name="sthref268"></a>
-<p class="titleintable">Properties of the Logging Page</p>
-<table class="Formal" title="Properties of the Logging Page" summary="This table lists the properties of the Logging page of the persistence.xml Editor." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="24%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t31">Property</th>
-<th align="left" valign="bottom" id="r1c2-t31">Description</th>
-<th align="left" valign="bottom" id="r1c3-t31">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t31" headers="r1c1-t31">
-<p>Logging Level</p>
-</td>
-<td align="left" headers="r2c1-t31 r1c2-t31">
-<p>Specifies the amount and detail of log output by selecting the log level (in ascending order of information):</p>
-<p>The following are the valid values for the <code>java.util.logging.Level</code>:</p>
-<ul>
-<li>
-<p><span class="bold">OFF</span>&ndash;disables logging</p>
-</li>
-<li>
-<p><span class="bold">SEVERE</span>&ndash;logs exceptions indicating TopLink cannot continue, as well as any exceptions generated during login. This includes a stack trace.</p>
-</li>
-<li>
-<p><span class="bold">WARNING</span>&ndash;logs exceptions that do not force TopLink to stop, including all exceptions not logged with severe level. This does not include a stack trace.</p>
-</li>
-<li>
-<p><span class="bold">INFO</span>&ndash;logs the login/logout per sever session, including the user name. After acquiring the session, detailed information is logged.</p>
-</li>
-<li>
-<p><span class="bold">CONFIG</span>&ndash;logs only login, JDBC connection, and database information.</p>
-</li>
-<li>
-<p><span class="bold">FINE</span>&ndash;logs SQL.</p>
-</li>
-<li>
-<p><span class="bold">FINER</span>&ndash;similar to warning. Includes stack trace.</p>
-</li>
-<li>
-<p><span class="bold">FINEST</span>&ndash;includes additional low level information.</p>
-</li>
-</ul>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.logging.level" value="INFO"/&gt;
-</pre></td>
-<td align="left" headers="r2c1-t31 r1c3-t31">
-<p>Info</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t31" headers="r1c1-t31">
-<p>&nbsp;&nbsp;Timestamp</p>
-</td>
-<td align="left" headers="r3c1-t31 r1c2-t31">
-<p>Control whether the timestamp is logged in each log entry.</p>
-<p>The following are the valid values:</p>
-<ul>
-<li>
-<p><span class="bold">true</span>&ndash;log a timestamp.</p>
-</li>
-<li>
-<p><span class="bold">false</span>&ndash;do not log a timestamp.</p>
-</li>
-</ul>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.logging.timestamp" value="false"/&gt;
-</pre></td>
-<td align="left" headers="r3c1-t31 r1c3-t31">
-<p>true</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t31" headers="r1c1-t31">
-<p>&nbsp;&nbsp;Thread</p>
-</td>
-<td align="left" headers="r4c1-t31 r1c2-t31">
-<p>Control whether a thread identifier is logged in each log entry.</p>
-<p>The following are the valid values:</p>
-<ul>
-<li>
-<p><span class="bold">true</span>&ndash;log a thread identifier.</p>
-</li>
-<li>
-<p><span class="bold">false</span>&ndash;do not log a thread identifier.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r4c1-t31 r1c3-t31">
-<p>true</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t31" headers="r1c1-t31">
-<p>&nbsp;&nbsp;Session</p>
-</td>
-<td align="left" headers="r5c1-t31 r1c2-t31">
-<p>Control whether an EclipseLink session identifier is logged in each log entry.</p>
-<p>The following are the valid values:</p>
-<ul>
-<li>
-<p><span class="bold">true</span>&ndash;log a EclipseLink session identifier.</p>
-</li>
-<li>
-<p><span class="bold">false</span>&ndash;do not log a EclipseLink session identifier.</p>
-</li>
-</ul>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.logging.session" value="false"/&gt;
-</pre></td>
-<td align="left" headers="r5c1-t31 r1c3-t31">
-<p>true</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t31" headers="r1c1-t31">
-<p>&nbsp;&nbsp;Exceptions</p>
-</td>
-<td align="left" headers="r6c1-t31 r1c2-t31">
-<p>Control whether the exceptions thrown from within the EclipseLink code are logged prior to returning the exception to the calling application. Ensures that all exceptions are logged and not masked by the application code.</p>
-<p>The following are the valid values:</p>
-<ul>
-<li>
-<p><span class="bold">true</span>&ndash;log all exceptions.</p>
-</li>
-<li>
-<p><span class="bold">false</span>&ndash;do not log exceptions.</p>
-</li>
-</ul>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.logging.exceptions" value="true"/&gt;
-</pre></td>
-<td align="left" headers="r6c1-t31 r1c3-t31">
-<p>false</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t31" headers="r1c1-t31">
-<p>Log file</p>
-</td>
-<td align="left" headers="r7c1-t31 r1c2-t31">
-<p>Specify a file location for the log output (instead of the standard out).</p>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.logging.file" value="C:\myout\" /&gt;
-</pre></td>
-<td align="left" headers="r7c1-t31 r1c3-t31"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t31" headers="r1c1-t31">
-<p>Logger</p>
-</td>
-<td align="left" headers="r8c1-t31 r1c2-t31">
-<p>Select the type of logger to use:</p>
-<p>The following are the valid values:</p>
-<ul>
-<li>
-<p><span class="bold">DefaultLogger</span>&ndash;the EclipseLink native logger <code>eclipselink.logging.DefaultSessionLog</code>.</p>
-</li>
-<li>
-<p><span class="bold">JavaLogger</span>&ndash;the <code>java.util.logging</code> logger <code>eclipselink.logging.JavaLog</code>.</p>
-</li>
-<li>
-<p><span class="bold">ServerLogger</span>&ndash;the <code>java.util.logging</code> logger <code>eclipselink.platform.server.ServerLog</code>. Integrates with the application server's logging as define in the <code>eclipselink.platform.server.ServerPlatform.</code></p>
-</li>
-<li>
-<p>Fully qualified class name of a custom logger. The custom logger must implement the <code>eclipselink.logging.SessionLog</code> interface.</p>
-</li>
-</ul>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.logging.logger" value="acme.loggers.MyCustomLogger" /&gt;
-</pre></td>
-<td align="left" headers="r8c1-t31 r1c3-t31">
-<p>DefaultLogger</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" --></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference022.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference022.htm
deleted file mode 100644
index 111b7cb..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference022.htm
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Options</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Options" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAFJCHE" name="CIAFJCHE"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Options</h1>
-<p>This table lists the properties of the Options page of the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-This page is not available for projects using the <span class="bold">Generic</span> platform.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-<div class="tblformal"><a id="sthref269" name="sthref269"></a><a id="sthref270" name="sthref270"></a>
-<p class="titleintable">Properties of the Options Page</p>
-<table class="Formal" title="Properties of the Options Page" summary="Properties of the Options Page" dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="24%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t33">Property</th>
-<th align="left" valign="bottom" id="r1c2-t33">Description</th>
-<th align="left" valign="bottom" id="r1c3-t33">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t33" headers="r1c1-t33">
-<p>Session Name</p>
-</td>
-<td align="left" headers="r2c1-t33 r1c2-t33">
-<p>Specify the name by which the EclipseLink session is stored in the static session manager. Use this option if you need to access the EclipseLink shared session outside of the context of the JPA or to use a pre-existing EclipseLink session configured through a EclipseLink <code>sessions.xml</code> file</p>
-<p>Valid values: a valid EclipseLink session name that is unique in a server deployment.</p>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.session-name" value="MySession"/&gt;
-</pre></td>
-<td align="left" headers="r2c1-t33 r1c3-t33"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t33" headers="r1c1-t33">
-<p>Sessions XML</p>
-</td>
-<td align="left" headers="r3c1-t33 r1c2-t33">
-<p>Specify persistence information loaded from the EclipseLink session configuration file (<code>sessions.xml</code>).</p>
-<p>You can use this option as an alternative to annotations and deployment XML. If you specify this property, EclipseLink will override all class annotation and the object relational mapping from the <code>persistence.xml</code>, as well as <code>ORM.xml</code> and other mapping files, if present.</p>
-<p>Indicate the session by setting the <code>eclipselink.session-name</code> property.</p>
-<p>Note: If you do not specify the value for this property, <code>sessions.xml</code> file will not be used.</p>
-<p>Valid values: the resource name of the sessions XML file.</p>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="toplink.session-xml" value="mysession.xml"/&gt;
-</pre></td>
-<td align="left" headers="r3c1-t33 r1c3-t33"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t33" headers="r1c1-t33">
-<p>Target Database</p>
-</td>
-<td align="left" headers="r4c1-t33 r1c2-t33">
-<p>Select the target database. You can also set the value to the fully qualified class name of a subclass of the <code>org.eclipse.persistence.platform.DatabasePlatform class</code>.</p>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.target-database" value="Oracle"/&gt;
-</pre></td>
-<td align="left" headers="r4c1-t33 r1c3-t33">
-<p>Auto</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t33" headers="r1c1-t33">
-<p>Target Server</p>
-</td>
-<td align="left" headers="r5c1-t33 r1c2-t33">
-<p>Select the target server for your JPA application.</p>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.target-server" value="OC4J_10_1_3"/&gt;
-</pre></td>
-<td align="left" headers="r5c1-t33 r1c3-t33">
-<p>None</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t33" headers="r1c1-t33">
-<p>Event Listener</p>
-</td>
-<td align="left" headers="r6c1-t33 r1c2-t33">
-<p>Specify a descriptor event listener to be added during bootstrapping.</p>
-<p>Valid values: qualified class name for a class that implements the <code>eclipselink.sessions.SessionEventListener</code> interface.</p>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.session-event-listener" value="mypackage.MyClass.class"/&gt;
-</pre></td>
-<td align="left" headers="r6c1-t33 r1c3-t33"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t33" headers="r1c1-t33">
-<p>Include Descriptor Queries</p>
-</td>
-<td align="left" headers="r7c1-t33 r1c2-t33">
-<p>Enable or disable the default copying of all named queries from the descriptors to the session. These queries include the ones defined using EclipseLink API, descriptor amendment methods, and so on.</p>
-</td>
-<td align="left" headers="r7c1-t33 r1c3-t33"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t33" headers="r1c1-t33">
-<p>Miscellaneous Options</p>
-</td>
-<td align="left" headers="r8c1-t33 r1c2-t33"><br /></td>
-<td align="left" headers="r8c1-t33 r1c3-t33"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t33" headers="r1c1-t33">
-<p>&nbsp;&nbsp;Temporal mutable</p>
-</td>
-<td align="left" headers="r9c1-t33 r1c2-t33">
-<p>Specify if all <code>Date</code> and <code>Calendar</code> persistent fields should be handled as mutable objects.</p>
-<p><span class="bold">Example</span>: <code>persistence.xml</code> file</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;property name="eclipselink.temporal.mutable" value="true"/&gt;
-</pre></td>
-<td align="left" headers="r9c1-t33 r1c3-t33">
-<p>False</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" --></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference023.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference023.htm
deleted file mode 100644
index 52ec404..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference023.htm
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Schema Generation</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Schema Generation" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIACCFCB" name="CIACCFCB"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Schema Generation</h1>
-<p>This table lists the properties of the Schema Generation page of the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-This page is not available for projects using the <span class="bold">Generic</span> platform.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-<div class="tblformal"><a id="sthref271" name="sthref271"></a><a id="sthref272" name="sthref272"></a>
-<p class="titleintable">&nbsp;</p>
-<table class="Formal" title="" summary="This table lists the properties of the persistence.xml Editor&rsquo;s Schema Generation page." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="24%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t35">Property</th>
-<th align="left" valign="bottom" id="r1c2-t35">Description</th>
-<th align="left" valign="bottom" id="r1c3-t35">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t35" headers="r1c1-t35">
-<p>DDL Generation Type</p>
-</td>
-<td align="left" headers="r2c1-t35 r1c2-t35">
-<p>Select the type of DDL generation:</p>
-<ul>
-<li>
-<p><span class="bold">None</span> -- Do not generate DDL; no schema is generated.</p>
-</li>
-<li>
-<p><span class="bold">Create Tables</span> -- Create DDL for non-existent tables; leave existing tables unchanged.</p>
-</li>
-<li>
-<p><span class="bold">Drop and Create Tables</span> -- Create DDL for all tables; drop all existing tables.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r2c1-t35 r1c3-t35">
-<p>None</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t35" headers="r1c1-t35">
-<p>Output Mode</p>
-</td>
-<td align="left" headers="r3c1-t35 r1c2-t35">
-<p>Select the DDL generation target:</p>
-<ul>
-<li>
-<p><span class="bold">Both</span> -- Generate SQL files and execute them on the database.</p>
-</li>
-<li>
-<p><span class="bold">Database</span> -- Execute SQL on the database only (do not generate SQL files).</p>
-</li>
-<li>
-<p><span class="bold">SQL Script</span> -- Generate SQL files only (do not execute them on the database).</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r3c1-t35 r1c3-t35"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t35" headers="r1c1-t35">
-<p>DDL Generation Location</p>
-</td>
-<td align="left" headers="r4c1-t35 r1c2-t35">
-<p>Specify where EclipseLink writes DDL output. Specify a file specification to a directory in which you have write access. The file specification may be relative to your current working directory or absolute. If it does not end in a file separator, then EclipseLink appends one that is valid for your operating system.</p>
-</td>
-<td align="left" headers="r4c1-t35 r1c3-t35"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t35" headers="r1c1-t35">
-<p>Create DDL File Name</p>
-</td>
-<td align="left" headers="r5c1-t35 r1c2-t35">
-<p>Specify the file name of the DDL file that EclipseLink generates that contains SQL statements for creating tables for JPA entities. Specify a file name valid for your operating system.</p>
-</td>
-<td align="left" headers="r5c1-t35 r1c3-t35">
-<p>createDDL.jdbc</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t35" headers="r1c1-t35">
-<p>Drop DDL File Name</p>
-</td>
-<td align="left" headers="r6c1-t35 r1c2-t35">
-<p>Specify the file name of the DDL file that EclipseLink generates that contains SQL statements for dropping tables for JPA entities.</p>
-</td>
-<td align="left" headers="r6c1-t35 r1c3-t35">
-<p>dropDDL.jdbc</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="tblformal" --></div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference024.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference024.htm
deleted file mode 100644
index 1830f01..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference024.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Properties</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Properties" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAHJDFF" name="CIAHJDFF"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Properties</h1>
-<p>This page enables you to add or remove the vendor-specific <code>&lt;properties&gt;</code> elements of <code>persistence.xml</code>.</p>
-<p>To add a property, click <span class="bold">Add</span> then enter the property <span class="bold">Name</span> and <span class="bold">Value</span>.</p>
-</div>
-<!-- class="sect3" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference025.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference025.htm
deleted file mode 100644
index 47b984b..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference025.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Source</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Source" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIAHCJAH" name="CIAHCJAH"></a></p>
-<div class="sect3"><!-- infolevel="all" infotype="General" -->
-<h1>Source</h1>
-<p>Using this page, you can manually edit the <code>persistence.xml</code> file.</p>
-<p>See <a href="task_manage_persistence.htm#CIHDAJID">"Managing the persistence.xml file"</a> for additional information.</p>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_manage_persistence.htm#CIHDAJID">Managing the persistence.xml file</a></div>
-<!-- class="sect3" -->
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference026.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference026.htm
deleted file mode 100644
index 235ba80..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference026.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Preferences</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Preferences" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACDEIEE" name="CACDEIEE"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Preferences</h1>
-<p>This section includes information on the following preference pages:</p>
-<ul>
-<li>
-<p><a href="ref_project_properties.htm#BABJHBCI">Project Properties page &ndash; Java Persistence Options</a></p>
-</li>
-<li>
-<p><a href="reference027.htm#CACFBAEH">Project Properties page &ndash; Validation Preferences</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference027.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference027.htm
deleted file mode 100644
index f48d45b..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference027.htm
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Project Properties page &ndash; Validation Preferences</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Project Properties page &ndash; Validation Preferences" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACFBAEH" name="CACFBAEH"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Project Properties page &ndash; Validation Preferences</h1>
-<p><a id="sthref275" name="sthref275"></a><a id="sthref276" name="sthref276"></a>Use the <span class="gui-object-title">Java Persistence</span> options on the <span class="gui-object-title">Properties</span> page to select the database connection to use with the project.</p>
-<p>This table lists the properties available in the <span class="gui-object-title">JPA Details page</span>.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Persistence Properties page." summary="This table describes the options on the Persistence Properties page." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t37">Property</th>
-<th align="left" valign="bottom" id="r1c2-t37">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t37" headers="r1c1-t37"><a id="sthref277" name="sthref277"></a><a id="sthref278" name="sthref278"></a><a id="sthref279" name="sthref279"></a><a id="sthref280" name="sthref280"></a>Platform</td>
-<td align="left" headers="r2c1-t37 r1c2-t37">Select the vendor-specific platform.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t37" headers="r1c1-t37">Library</td>
-<td align="left" headers="r3c1-t37 r1c2-t37">Select a specific JPA library configuration.
-<p>Click <span class="bold">Manage libraries</span> to create or update a user library.</p>
-<p>Click <span class="bold">Download libraries</span> to download a specific library configuration.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t37" headers="r1c1-t37">&nbsp;&nbsp;Type</td>
-<td align="left" headers="r4c1-t37 r1c2-t37">Select <span class="bold">User Library</span> to select from the available user-defined or downloaded libraries.
-<p>If you select Disable, you must manually include the JPA implementation library on the project classpath.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t37" headers="r1c1-t37">&nbsp;&nbsp;Include&nbsp;libraries&nbsp;with&nbsp;this&nbsp;application</td>
-<td align="left" headers="r5c1-t37 r1c2-t37">Specify if the selected libraries are included when deploying the application.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t37" headers="r1c1-t37"><a id="sthref281" name="sthref281"></a><a id="sthref282" name="sthref282"></a><a id="sthref283" name="sthref283"></a>Connection</td>
-<td align="left" headers="r6c1-t37 r1c2-t37">The database connection used to map the persistent entities.
-<ul>
-<li>
-<p>To create a new connection, click <span class="bold">Add Connections</span>.</p>
-</li>
-<li>
-<p>To reconnect to an existing connection, click <span class="bold">Reconnect</span>.</p>
-</li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t37" headers="r1c1-t37">&nbsp;&nbsp;Override&nbsp;default&nbsp;catalog&nbsp;from&nbsp;connection</td>
-<td align="left" headers="r7c1-t37 r1c2-t37">Select a catalog other than the default one derived from the connection information. Use this option if the default catalog is incorrect or cannot be used.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t37" headers="r1c1-t37">&nbsp;&nbsp;Override&nbsp;default&nbsp;schema&nbsp;from&nbsp;connection</td>
-<td align="left" headers="r8c1-t37 r1c2-t37">Select a schema other than the default one derived from the connection information. Use this option if the default schema is incorrect or cannot be used. For example, use this option when the deployment login differs from the design-time login.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t37" headers="r1c1-t37">Persistent Class Management</td>
-<td align="left" headers="r9c1-t37 r1c2-t37">Specify if Dali will <span class="bold">discover annotated classes automatically</span>, or if the <span class="bold">annotated classes must be listed in the persistence.xml</span> file.
-<p><span class="bold">Note</span>: To insure application portability, you should explicitly list the managed persistence classes that are included in the persistence unit.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t37" headers="r1c1-t37"><a id="sthref284" name="sthref284"></a><a id="sthref285" name="sthref285"></a>Canonical Metamodel</td>
-<td align="left" headers="r10c1-t37 r1c2-t37"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" --></div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference028.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference028.htm
deleted file mode 100644
index 7371b25..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference028.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Dialogs</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Dialogs" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACGEJDA" name="CACGEJDA"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Dialogs</h1>
-<p>This section includes information on the following preference pages:</p>
-<ul>
-<li>
-<p><a href="reference029.htm#CACCGEHC">Edit Join Columns Dialog</a></p>
-</li>
-<li>
-<p><a href="ref_select_cascade_dialog.htm#CIAFDGIJ">Select Cascade dialog</a></p>
-</li>
-<li>
-<p><a href="ref_eclipselink_mapping_file.htm#CIAEDEJF">New EclipseLink Mapping File dialog</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference029.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference029.htm
deleted file mode 100644
index 9f66678..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference029.htm
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Edit Join Columns Dialog</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:48Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Edit Join Columns Dialog" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACCGEHC" name="CACCGEHC"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Edit Join Columns Dialog</h1>
-<p>Use the <span class="gui-object-title">Join Columns</span> dialog to create or modify the join tables and columns in relationship mappings.</p>
-<p>This table lists the properties available in the <span class="gui-object-title">Join Columns</span> dialog.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the Join Columns dialog." summary="This table describes the options on the Join Columns dialog." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t38">Property</th>
-<th align="left" valign="bottom" id="r1c2-t38">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t38" headers="r1c1-t38">Name</td>
-<td align="left" headers="r2c1-t38 r1c2-t38">Name of the joint table column that contains the foreign key column.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t38" headers="r1c1-t38">Referenced Column Name</td>
-<td align="left" headers="r3c1-t38 r1c2-t38">Name of the database column that contains the foreign key reference for the entity relationship.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" -->
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="reference011.htm#CACBAEBC">Join Table Information</a><br />
-<a href="reference012.htm#CACFCEJC">Join Columns Information</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference030.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference030.htm
deleted file mode 100644
index 7027978..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference030.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Icons and buttons</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Icons and buttons" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACDHCIA" name="CACDHCIA"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Icons and buttons</h1>
-<p>This section includes information on each of the icons and buttons used in the Dali OR Mapping Tool.</p>
-<ul>
-<li>
-<p><a href="reference031.htm#CACGEACG">Icons</a></p>
-</li>
-<li>
-<p><a href="reference032.htm#CACDJCEI">Buttons</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference031.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference031.htm
deleted file mode 100644
index 35760ee..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference031.htm
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Icons</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Icons" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACGEACG" name="CACGEACG"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Icons</h1>
-<p>The following icons are used throughout the Dali OR Mapping Tool.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the icons used in the Dali plug-in." summary="This table describes the icons used in the Dali plug-in." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="23%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t41">Icon</th>
-<th align="left" valign="bottom" id="r1c2-t41">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t41" headers="r1c1-t41"><img src="img/new_icon_mappedentity.png" alt="" title="" /><br /></td>
-<td align="left" headers="r2c1-t41 r1c2-t41"><a href="tasks006.htm#BABGBIEE">Entity</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t41" headers="r1c1-t41"><img src="img/new_icon_embeddableentitymapping.png" alt="Embeddable entity icon" title="Embeddable entity icon" /><br /></td>
-<td align="left" headers="r3c1-t41 r1c2-t41"><a href="tasks007.htm#BABFEICE">Embeddable</a> entity</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t41" headers="r1c1-t41"><img src="img/new_icon_mappedsuperclass.png" alt="Mapped superclass icon" title="Mapped superclass icon" /><br /></td>
-<td align="left" headers="r4c1-t41 r1c2-t41"><a href="tasks008.htm#BABDAGCI">Mapped superclass</a></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t41" headers="r1c1-t41"><img src="img/new_icon_basicmappings.png" alt="Basic mapping icon" title="Basic mapping icon" /><br /></td>
-<td align="left" headers="r5c1-t41 r1c2-t41"><a href="tasks010.htm#BABBABCE">Basic mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t41" headers="r1c1-t41"><img src="img/icon_basicmapmappings.png" alt="Basic mapping icon" title="Basic mapping icon" /><br /></td>
-<td align="left" headers="r6c1-t41 r1c2-t41">Basic collection mapping</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t41" headers="r1c1-t41"><img src="img/icon_basicmapping.png" alt="Basic mapping icon" title="Basic mapping icon" /><br /></td>
-<td align="left" headers="r7c1-t41 r1c2-t41">Basic map mapping</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t41" headers="r1c1-t41"><img src="img/new_icon_embeddedidmapping.png" alt="Embedded mapping icon" title="Embedded mapping icon" /><br /></td>
-<td align="left" headers="r8c1-t41 r1c2-t41"><a href="tasks011.htm#BABCBHDF">Embedded mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r9c1-t41" headers="r1c1-t41"><img src="img/new_icon_embeddedmapping.png" alt="Embedded ID mapping icon" title="Embedded ID mapping icon" /><br /></td>
-<td align="left" headers="r9c1-t41 r1c2-t41"><a href="tasks012.htm#CIHDIAEE">Embedded ID mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r10c1-t41" headers="r1c1-t41"><img src="img/new_icon_idmapping.png" alt="ID mapping icon" title="ID mapping icon" /><br /></td>
-<td align="left" headers="r10c1-t41 r1c2-t41"><a href="tasks013.htm#BABGCBHG">ID mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r11c1-t41" headers="r1c1-t41"><img src="img/new_icon_manytomanymapping.png" alt="Many-to-many mapping icon" title="Many-to-many mapping icon" /><br /></td>
-<td align="left" headers="r11c1-t41 r1c2-t41"><a href="tasks014.htm#BABEIEGD">Many-to-many mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r12c1-t41" headers="r1c1-t41"><img src="img/new_icon_manytoonemapping.png" alt="Many-to-one mapping icon." title="Many-to-one mapping icon." /><br /></td>
-<td align="left" headers="r12c1-t41 r1c2-t41"><a href="tasks015.htm#BABHFAFJ">Many-to-one mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r13c1-t41" headers="r1c1-t41"><img src="img/new_icon_onetomanymapping.png" alt="One-to-many mapping icon" title="One-to-many mapping icon" /><br /></td>
-<td align="left" headers="r13c1-t41 r1c2-t41"><a href="tasks016.htm#BABHGEBD">One-to-many mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r14c1-t41" headers="r1c1-t41"><img src="img/new_icon_onetoonemapping.png" alt="One-to-one mapping icon." title="One-to-one mapping icon." /><br /></td>
-<td align="left" headers="r14c1-t41 r1c2-t41"><a href="tasks017.htm#BABFHBCJ">One-to-one mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r15c1-t41" headers="r1c1-t41"><img src="img/icon_basicmapmappings.png" alt="Basic mapping icon" title="Basic mapping icon" /><br /></td>
-<td align="left" headers="r15c1-t41 r1c2-t41">Transformation mappings</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r16c1-t41" headers="r1c1-t41"><img src="img/new_icon_transientmapping.png" alt="Transient mapping icon." title="Transient mapping icon." /><br /></td>
-<td align="left" headers="r16c1-t41 r1c2-t41"><a href="tasks018.htm#BABHFHEI">Transient mapping</a><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r17c1-t41" headers="r1c1-t41"><img src="img/icon_basicmapmappings.png" alt="Basic mapping icon" title="Basic mapping icon" /><br /></td>
-<td align="left" headers="r17c1-t41 r1c2-t41">Variable one-to-one mappings</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r18c1-t41" headers="r1c1-t41"><img src="img/new_icon_versionmapping.png" alt="Version mapping icon." title="Version mapping icon." /><br /></td>
-<td align="left" headers="r18c1-t41 r1c2-t41"><a href="tasks019.htm#BABHIBII">Version mapping</a><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<p><a href="reference030.htm#CACDHCIA">Icons and buttons</a></p>
-</div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference032.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference032.htm
deleted file mode 100644
index 36db540..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference032.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Buttons</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Buttons" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACDJCEI" name="CACDJCEI"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Buttons</h1>
-<p>The following buttons are used throughout the Dali OR Mapping Tool.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the buttons used in the Dali plug-in." summary="This table describes the buttons used in the Dali plug-in." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="27%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t42">Icon</th>
-<th align="left" valign="bottom" id="r1c2-t42">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t42" headers="r1c1-t42"><img src="img/new_jpa_perspective_button.png" alt="The JPA Perspective icon" title="The JPA Perspective icon" /><br /></td>
-<td align="left" headers="r2c1-t42 r1c2-t42">JPA Development perspective</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<p><a href="reference030.htm#CACDHCIA">Icons and buttons</a></p>
-</div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/reference033.htm b/jpa/plugins/org.eclipse.jpt.doc.user/reference033.htm
deleted file mode 100644
index 9a706b9..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/reference033.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Dali Developer Documentation</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Dali Developer Documentation" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CACBBDIB" name="CACBBDIB"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Dali Developer Documentation</h1>
-<p><a id="sthref288" name="sthref288"></a><a id="sthref289" name="sthref289"></a><a id="sthref290" name="sthref290"></a>Additional Dali documentation is available online at:</p>
-<p><code><a href="http://wiki.eclipse.org/index.php/Dali_Developer_Documentation">http://wiki.eclipse.org/index.php/Dali_Developer_Documentation</a></code></p>
-<p>This developer documentation includes information about:</p>
-<ul>
-<li>
-<p>Dali architecture</p>
-</li>
-<li>
-<p>Plugins that comprise the Dali JPA Eclipse feature</p>
-</li>
-<li>
-<p>Extension points</p>
-</li>
-</ul>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_add_persistence.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_add_persistence.htm
deleted file mode 100644
index 4c9842e..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_add_persistence.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Adding persistence to a class</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Adding persistence to a class" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABHICAI" name="BABHICAI"></a></p>
-<div class="sect1">
-<h1>Adding persistence to a class</h1>
-<p><a id="sthref67" name="sthref67"></a><a id="sthref68" name="sthref68"></a><a id="sthref69" name="sthref69"></a>You can make a Java class into one of the following persistent types:</p>
-<ul>
-<li>
-<p><a href="tasks006.htm#BABGBIEE">Entity</a></p>
-</li>
-<li>
-<p><a href="tasks007.htm#BABFEICE">Embeddable</a></p>
-</li>
-<li>
-<p><a href="tasks008.htm#BABDAGCI">Mapped superclass</a></p>
-</li>
-</ul>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related tasks" title="Related tasks" /><br />
-<br />
-<a href="task_additonal_tables.htm#CIHGBIEI">Specifying additional tables</a><br />
-<a href="task_inheritance.htm#CIHCCCJD">Specifying entity inheritance</a><br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a><br />
-<a href="concepts003.htm#CHDBIJAC">The orm.xml file</a><br />
-<a href="concepts002.htm#CHDHAGIH">The persistence.xml file</a> <!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_additonal_tables.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_additonal_tables.htm
deleted file mode 100644
index 77d584c..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_additonal_tables.htm
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Specifying additional tables</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Specifying additional tables" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHGBIEI" name="CIHGBIEI"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Specifying additional tables</h1>
-<p>Add a secondary table annotation to an entity if its data is split across more than one table.</p>
-<p>To add a secondary table to the entity,</p>
-<ol>
-<li>
-<p>Select the entity in the <span class="gui-object-title">Project Explorer</span>.</p>
-</li>
-<li>
-<p>In the <span class="gui-object-title">JPA Details</span> view, select the <span class="gui-object-action">Secondary Tables</span> information.</p>
-<div class="figure"><a id="sthref92" name="sthref92"></a>
-<p class="titleinfigure">Specifying Secondary Tables</p>
-<img src="img/secondary_tables.png" alt="Secondary Tables area on the JPA Details view." title="Secondary Tables area on the JPA Details view." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Click <span class="bold">Add</span> to associate an additional table with the entity. The Edit Secondary Table dialog appears</p>
-</li>
-<li>
-<p>Select the <span class="bold">Name</span>, <span class="bold">Catalog</span>, and <span class="bold">Schema</span> of the additional table to associate with the entity.</p>
-</li>
-</ol>
-<p>Eclipse adds the following annotations the entity:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@SecondaryTable(name="NAME", catalog = "CATALOG", schema = "SCHEMA")
-
-</pre>
-<p>To override the default primary key:</p>
-<ol>
-<li>
-<p>Enable the <span class="bold">Overwrite default</span> option, then click <span class="bold">Add</span> to specify a new primary key join column. The Create New Primary Key Join Column appears.</p>
-</li>
-<li>
-<p>Select the <span class="bold">Name</span>, <span class="bold">Referenced column name</span>, <span class="bold">Table</span>, and <span class="bold">Column definition</span> of the primary key for the entity.</p>
-<p>Eclipse adds the following annotations the entity:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@SecondaryTable(name="NAME", catalog = "CATALOG", schema = "SCHEMA", pkJoinColumns = {@PrimaryKeyJoinColumn(name="id", referencedColumnName = "id"),@PrimaryKeyJoinColumn(name="NAME", referencedColumnName = "REFERENCED COLUMN NAME", columnDefinition = "COLUMN DEFINITION")})
-
-</pre></li>
-</ol>
-<br />
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a><br /></div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_create_jpa_entity.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_create_jpa_entity.htm
deleted file mode 100644
index a83f787..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_create_jpa_entity.htm
+++ /dev/null
@@ -1,160 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Creating a JPA Entity</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:42Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Creating a JPA Entity" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABFBJBG" name="BABFBJBG"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1><a id="sthref40" name="sthref40"></a>Creating a JPA Entity</h1>
-<p>Use this procedure to create a JPA entity:</p>
-<ol>
-<li>
-<p>From the Navigator or Project Explorer, select the JPA project and then <span class="bold">File &gt; New &gt; Other</span>. The Select a Wizard dialog appears.</p>
-<div class="figure"><a id="sthref41" name="sthref41"></a>
-<p class="titleinfigure">Selecting the Create a JPA Entity Wizard</p>
-<img src="img/select_a_wizard_entity.png" alt="The Select a Wizard dialog with Entity selected." title="The Select a Wizard dialog with Entity selected." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Select <span class="bold">JPA &gt; Entity</span> and then click <span class="bold">Next</span>. The <a href="ref_EntityClassPage.htm#CIAFEIGF">Entity Class page</a> appears.</p>
-<div class="figure"><a id="sthref42" name="sthref42"></a>
-<p class="titleinfigure"><a id="sthref43" name="sthref43"></a>The Entity Class Page</p>
-<img src="img/create_jpa_entity_wizard.png" alt="The Entity Class page of the Create a JPA Entity wizard." title="The Entity Class page of the Create a JPA Entity wizard." /><br /></div>
-<!-- class="figure" -->
-<p>Complete this page as follows:</p>
-<ul>
-<li>
-<p>Select the JPA project in the <span class="bold">Project</span> field.</p>
-</li>
-<li>
-<p>In the <span class="bold">Source Folder</span> field, select, or enter, the location of the JPA project's <code>src</code> folder.</p>
-</li>
-<li>
-<p>Select, or enter, the name of the class package for this entity in the <span class="bold">Java Package</span> field.</p>
-</li>
-<li>
-<p>Enter the name of the Java class in the <span class="bold">Class name</span> field.</p>
-</li>
-<li>
-<p>If needed, enter, or select a superclass.</p>
-</li>
-<li>
-<p>If needed, complete the Inheritance section as follows (these properties are optional):</p>
-<ul>
-<li>
-<p>Accept the <span class="bold">Entity</span> option (the default) to create a Java class with the <code>@Entity</code> option.</p>
-</li>
-<li>
-<p>Alternatively, select <a href="tasks008.htm#BABDAGCI">Mapped superclass</a> (if you defined a super class).</p>
-</li>
-<li>
-<p>Select <span class="bold">Inheritance</span> and then select one of the JSR 220 inheritance mapping strategies (SINGLE_TABLE, TABLE_PER_CLASS, JOINED).</p>
-</li>
-<li>
-<p>Select <span class="bold">Add to entity mappings in XML</span> to create XML mappings in <code>orm.xml</code>, rather than annotations.</p>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li>
-<p>Click <span class="bold">Next</span> to proceed to the <a href="ref_EntityPropertiesPage.htm#CIADECIA">Entity Properties page</a> where you define the persistent fields for the entity.</p>
-<div class="figure"><a id="sthref44" name="sthref44"></a>
-<p class="titleinfigure"><a id="sthref45" name="sthref45"></a>The Entity Properties Page</p>
-<img src="img/create_jpa_fields.png" alt="The Entity Properties page of the Create JPA Entity wizard." title="The Entity Properties page of the Create JPA Entity wizard." /><br /></div>
-<!-- class="figure" -->
-<p>Alternatively, click <span class="bold">Finish</span> to complete the entity.</p>
-</li>
-<li>
-<p>Complete the page as follows:</p>
-<ol>
-<li>
-<p>If needed, enter a new name for the entity. Doing so results in adding a <code>name</code> attribute to the <code>@Entity</code> notation (<code>@Entity(name="EntityName")</code>).</p>
-</li>
-<li>
-<p>Accept <span class="bold">Use default</span> (the default setting) to use the default value for the name of the mapped table. Entering a different name results in adding the <code>@Table</code> notation with its <code>name</code> attribute defined as the new table (<code>@Table(name="TableName")</code>).</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-The Entity Name-related options are not available if you selected <a href="tasks008.htm#BABDAGCI">Mapped superclass</a> on the <a href="ref_EntityClassPage.htm#CIAFEIGF">Entity Class page</a></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</li>
-<li>
-<p>Add persistence fields to the entity by clicking <span class="bold">Add</span>. The Entity Fields dialog appears.</p>
-<div class="figure"><a id="sthref46" name="sthref46"></a>
-<p class="titleinfigure">The Entity Fields Dialog</p>
-<img src="img/jpa_wizard_create_fields.png" alt="The Entity Fields dialog." title="The Entity Fields dialog." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Select a persistence type from the Type list. You can retrieve additional types using the <span class="bold">Browse</span> function.</p>
-</li>
-<li>
-<p>Enter the field name and then click <span class="bold">OK</span>. Repeat this procedure for each field.</p>
-</li>
-<li>
-<p>If needed, select <span class="bold">Key</span> to designate the field as a primary key.</p>
-</li>
-<li>
-<p>Select either the <span class="bold">Field-based</span> access type (the default) or <span class="bold">Property-based</span> access type.</p>
-</li>
-</ol>
-</li>
-<li>
-<p>Click <span class="bold">Finish</span>. Eclipse adds the entity to your project.</p>
-</li>
-</ol>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_create_jpa_entity_wizard.htm#CIAGGGDF">Create JPA Entity wizard</a><br />
-<a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a><br />
-<a href="ref_persistence_perspective.htm#BABIFBDB">JPA Development perspective</a>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related tasks" title="Related tasks" /><br />
-<br />
-<a href="task_manage_persistence.htm#CIHDAJID">Managing the persistence.xml file</a><br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a><br />
-<a href="concepts002.htm#CHDHAGIH">The persistence.xml file</a><br />
-<p>&nbsp;</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_create_new_project.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_create_new_project.htm
deleted file mode 100644
index ee7e1ed..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_create_new_project.htm
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Creating a new JPA project</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Creating a new JPA project" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHHEJCJ" name="CIHHEJCJ"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Creating a new JPA project</h1>
-<p><a id="sthref26" name="sthref26"></a><a id="sthref27" name="sthref27"></a>Use this procedure to create a new JPA project.</p>
-<ol>
-<li>
-<p>From the Navigator or Project Explorer, select <span class="bold">File &gt; New &gt; Project</span>. The Select a wizard dialog appears.</p>
-<div align="center">
-<div class="inftblnotealso"><br />
-<table class="NoteAlso oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Tip:</p>
-You can also select the JPA perspective and then select <span class="bold">File &gt; New &gt; JPA Project</span>.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnotealso" --></div>
-<div class="figure"><a id="sthref28" name="sthref28"></a>
-<p class="titleinfigure"><a id="sthref29" name="sthref29"></a>Selecting the Create a JPA Project wizard</p>
-<img src="img/select_a_wizard_jpa_project.png" alt="The Select a Wizard dialog with JPA project selected." title="The Select a Wizard dialog with JPA project selected." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Select <span class="bold">JPA Project</span> and then click <span class="bold">Next</span>. The <a href="ref_new_jpa_project.htm#CACBJAGC">New JPA Project page</a> appears.</p>
-<div class="figure"><a id="sthref30" name="sthref30"></a>
-<p class="titleinfigure"><a id="sthref31" name="sthref31"></a>The JPA Project Page</p>
-<img src="img/new_jpa_project_task.png" alt="The JPA Project page of the Create a JPA Project wizard." title="The JPA Project page of the Create a JPA Project wizard." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Complete the fields on the <a href="ref_new_jpa_project.htm#CACBJAGC">New JPA Project page</a> to specify the project name and location, target runtime, and pre-defined configuration.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-The Target Runtime is not required for Java SE development.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</li>
-<li>
-<p>Click <span class="bold">Next</span>. The Java source page appears.</p>
-<div class="figure"><a id="sthref32" name="sthref32"></a>
-<p class="titleinfigure">The Java Source Page</p>
-<img src="img/java_editor_address.png" alt="The JPA Facet page of the Create a JPA Project wizard." title="The JPA Facet page of the Create a JPA Project wizard." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Click <span class="bold">Add Folder</span> to add existing Java source files to the project.</p>
-</li>
-<li>
-<p>Click <span class="bold">Next</span>. <a href="ref_jpa_facet.htm#CACIFDIF">JPA Facet page</a> appears.</p>
-<div class="figure"><a id="sthref33" name="sthref33"></a>
-<p class="titleinfigure"><a id="sthref34" name="sthref34"></a>The JPA Facet Page</p>
-<img src="img/new_jpa_facet_task.png" alt="The JPA Facet page of the Create a JPA Project wizard." title="The JPA Facet page of the Create a JPA Project wizard." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Complete the fields on the <a href="ref_jpa_facet.htm#CACIFDIF">JPA Facet page</a> to specify your vender-specific platform, JPA implementation library, and database connection.</p>
-<p>Click <span class="bold">Manage libraries</span> to create or update your JPA user libraries. Click <span class="bold">Download libraries</span> to obtain additional JPA implementation libraries.</p>
-<p>If Dali derives the incorrect schema, select <span class="bold">Override the Default Schema for Connection</span>. Using this option, you can select a development time schema for defaults and validation.</p>
-<p>If you clear the <span class="bold">Create orm.xml</span> option (which is selected by default), you can later add a mapping file to the project using the <a href="reference002.htm#CIAIJCCE">Mapping File Wizard</a>.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-If the server runtime does not provide a JPA implementation, you must explicitly select a JPA implementation library.
-<p>To insure the portability of your application, you must explicitly list the managed persistence classes that are included in the persistence unit. If the server supports EJB 3.0, the persistent classes will be discovered automatically.</p>
-<p>Depending on your JPA implementation (for example, Generic or EclipseLink), different options may be available when creating JPA projects.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</li>
-<li>
-<p>Click <span class="bold">Finish</span>. You should now open the <a href="ref_persistence_perspective.htm#BABIFBDB">JPA Development perspective</a>.</p>
-</li>
-</ol>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a><br />
-<a href="ref_persistence_perspective.htm#BABIFBDB">JPA Development perspective</a><br />
-<a href="reference002.htm#CIAIJCCE">Mapping File Wizard</a>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related tasks" title="Related tasks" /><br />
-<br />
-<a href="task_manage_persistence.htm#CIHDAJID">Managing the persistence.xml file</a><br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a><br />
-<a href="tasks001.htm#BEIBADHH">Converting a Java Project to a JPA Project</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a><br />
-<a href="concepts002.htm#CHDHAGIH">The persistence.xml file</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_generate_classes_from_schema.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_generate_classes_from_schema.htm
deleted file mode 100644
index 429ee81..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_generate_classes_from_schema.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generating JAXB Classes from a Schema</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-06-04T19:33:3Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generating JAXB Classes from a Schema" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHCBHJD" name="CIHCBHJD"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Generating JAXB Classes from a Schema</h1>
-<p><a id="sthref197" name="sthref197"></a><a id="sthref198" name="sthref198"></a><a id="sthref199" name="sthref199"></a>Use the Generate Classes from XSD dialog to generate JAXB classes from an XML schema (&nbsp;.xsd).<a id="sthref200" name="sthref200"></a></p>
-<ol>
-<li>
-<p>From the Navigator or Project Explorer, right-click a schema (&nbsp;.xsd file) and select <span class="bold">Generate &gt; JAXB Classes</span>. The Generate Classes from Schema dialog appears.</p>
-<div class="figure"><a id="sthref201" name="sthref201"></a>
-<p class="titleinfigure"><a id="sthref202" name="sthref202"></a>Configure JAXB Class Generation dialog</p>
-<img src="img/generate_classes_from_schema.png" alt="Generate classes from schema dialog." title="Generate classes from schema dialog." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Enter the JAXB settings information and click <span class="bold">Finish</span>.</p>
-</li>
-</ol>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_configure_jaxb_class_generation_dialog.htm#CACHHHJA">Configure JAXB Class Generation dialog</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_generating_schema_from_classes.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_generating_schema_from_classes.htm
deleted file mode 100644
index 6e7cf1c..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_generating_schema_from_classes.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generating Schema from Classes</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-06-04T16:18:12Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generating Schema from Classes" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHHBJCJ" name="CIHHBJCJ"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Generating Schema from Classes</h1>
-<p><a id="sthref189" name="sthref189"></a><a id="sthref190" name="sthref190"></a><a id="sthref191" name="sthref191"></a>Use the Generate Schema from JAXB Classes wizard create an XML schema (&nbsp;.xsd) for a set of JAXB mapped classes.<a id="sthref192" name="sthref192"></a></p>
-<ol>
-<li>
-<p>From the Navigator or Project Explorer, select <span class="bold">File &gt; New &gt; Other</span>. The Select a wizard dialog appears.</p>
-<div align="center">
-<div class="inftblnotealso"><br />
-<table class="NoteAlso oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Tip:</p>
-You can also access the Generate Schema from JAXB Classes wizard from a specific project or package.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnotealso" --></div>
-<div class="figure"><a id="sthref193" name="sthref193"></a>
-<p class="titleinfigure"><a id="sthref194" name="sthref194"></a>Selecting the Schema From JAXB Classes wizard</p>
-<img src="img/select_jaxb_schema_wizard.png" alt="The Select a Wizard dialog with Schema From JAXB Classes selected." title="The Select a Wizard dialog with Schema From JAXB Classes selected." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Select <span class="bold">JAXB &gt; Schema from JAXB Classes</span> and then click <span class="bold">Next</span>. The <a href="ref_schema_from_classes_page.htm#CACHBEGJ">Generate Schema from Classes</a> page of the <a href="ref_jaxb_schema_wizard.htm#CACGADFH">Generate Schema from JAXB Classes Wizard</a> appears.</p>
-<div class="figure"><a id="sthref195" name="sthref195"></a>
-<p class="titleinfigure"><a id="sthref196" name="sthref196"></a>The Generate Schema from Classes Page</p>
-<img src="img/jaxb_schmea_generation_dialog.png" alt="The JPA Project page of the Create a JPA Project wizard." title="The JPA Project page of the Create a JPA Project wizard." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Select the project, package, or classes from which to generate the schema and click <span class="bold">Finish</span>.</p>
-</li>
-</ol>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_jaxb_schema_wizard.htm#CACGADFH">Generate Schema from JAXB Classes Wizard</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm
deleted file mode 100644
index 15a4d07..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Specifying entity inheritance</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Specifying entity inheritance" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHCCCJD" name="CIHCCCJD"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Specifying entity inheritance</h1>
-<p><a id="sthref93" name="sthref93"></a><a id="sthref94" name="sthref94"></a>An entity may inherit properties from other entities. You can specify a specific strategy to use for inheritance.</p>
-<p>Use this procedure to specify inheritance (<code>@Inheritance)</code> for an existing entity (<code>@Entity</code>):</p>
-<ol>
-<li>
-<p>Select the entity in the <span class="gui-object-title">Project Explorer</span>.</p>
-</li>
-<li>
-<p>In the <span class="gui-object-title">JPA Details</span> view, select the <span class="gui-object-action">Inheritance</span> information.</p>
-<div class="figure"><a id="sthref95" name="sthref95"></a>
-<p class="titleinfigure">Specifying Inheritance</p>
-<img src="img/inheritance_tab.png" alt="Selecting the Inheritance area on the JPA Details view." title="Selecting the Inheritance area on the JPA Details view." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>In the <span class="bold">Strategy</span> list, select one of the following the inheritance strategies:</p>
-<ul>
-<li>
-<p>A single table (default)</p>
-</li>
-<li>
-<p>Joined table</p>
-</li>
-<li>
-<p>One table per class</p>
-</li>
-</ul>
-</li>
-<li>
-<p>Use the following table to complete the remaining fields on the tab. See <a href="reference009.htm#CACFHGHE">"Inheritance information"</a> for additional details.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table describes the options on the Persistence Properties view, Inheritance tab." summary="This table describes the options on the Persistence Properties view, Inheritance tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="24%" />
-<col width="*" />
-<col width="23%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t13">Property</th>
-<th align="left" valign="bottom" id="r1c2-t13">Description</th>
-<th align="left" valign="bottom" id="r1c3-t13">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t13" headers="r1c1-t13"><a id="sthref96" name="sthref96"></a><a id="sthref97" name="sthref97"></a>Discriminator Column</td>
-<td align="left" headers="r2c1-t13 r1c2-t13">Name of the discriminator column when using a <span class="bold">Single</span> or <span class="bold">Joined</span> inheritance strategy.
-<p>This field corresponds to the <code>@DiscriminatorColumn</code> annotation.</p>
-</td>
-<td align="left" headers="r2c1-t13 r1c3-t13"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t13" headers="r1c1-t13">Discriminator Type</td>
-<td align="left" headers="r3c1-t13 r1c2-t13">Set the discriminator type to <code>Char</code> or <code>Integer</code> (instead of its default: <code>String</code>). The <span class="bold">Discriminator Value</span> must conform to this type.</td>
-<td align="left" headers="r3c1-t13 r1c3-t13">String</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t13" headers="r1c1-t13"><a id="sthref98" name="sthref98"></a><a id="sthref99" name="sthref99"></a>Discriminator Value</td>
-<td align="left" headers="r4c1-t13 r1c2-t13">Specify the discriminator value used to differentiate an entity in this inheritance hierarchy. The value must conform to the specified <span class="bold">Discriminator Type</span>.
-<p>This field corresponds to the <code>@DiscriminatorValue</code> annotation.</p>
-</td>
-<td align="left" headers="r4c1-t13 r1c3-t13"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t13" headers="r1c1-t13">Override Default</td>
-<td align="left" headers="r5c1-t13 r1c2-t13">Use this field to specify custom primary key join columns.
-<p>This field corresponds to the <code>@PrimaryKeyJoinClumn</code> annotation.</p>
-</td>
-<td align="left" headers="r5c1-t13 r1c3-t13"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Eclipse adds the following annotations the entity field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@Inheritance(strategy=InheritanceType.<span class="italic">&lt;INHERITANCE_STRATEGY&gt;</span>)
-@DiscriminatorColumn(name="<span class="italic">&lt;DISCRIMINATOR_COLUMN&gt;</span>",
-    discriminatorType=<span class="italic">&lt;DISCRIMINATOR_TYPE&gt;</span>)
-@DiscriminatorValue(value-"<span class="italic">&lt;DISCRIMINATOR_VALUE&gt;</span>")
-@PrimaryKeyJoinColumn(name="<span class="italic">&lt;JOIN_COLUMN_NAME&gt;</span>", 
-    referencedColumnName = "<span class="italic">&lt;REFERENCED_COLUMN_NAME&gt;</span>")
-
-</pre>
-<p><a id="sthref100" name="sthref100"></a><a id="sthref101" name="sthref101"></a><a id="sthref102" name="sthref102"></a>The following figures illustrates the different inheritance strategies.</p>
-<div class="figure"><a id="sthref103" name="sthref103"></a>
-<p class="titleinfigure">Single Table Inheritance</p>
-<img src="img/inheritance_single.png" alt="This figure illustrates entity inheritance in a single table." title="This figure illustrates entity inheritance in a single table." /><br /></div>
-<!-- class="figure" -->
-<div class="figure"><a id="sthref104" name="sthref104"></a>
-<p class="titleinfigure"><a id="sthref105" name="sthref105"></a><a id="sthref106" name="sthref106"></a>Joined Table Inheritance</p>
-<img src="img/inheritance_join.png" alt="This figure illustrates a joined subclass inheritance strategy." title="This figure illustrates a joined subclass inheritance strategy." /><br /></div>
-<!-- class="figure" -->
-<br />
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a><br /></div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_manage_orm.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_manage_orm.htm
deleted file mode 100644
index 8968739..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_manage_orm.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Managing the orm.xml file</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:42Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Managing the orm.xml file" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHDGDCD" name="CIHDGDCD"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1><a id="sthref58" name="sthref58"></a>Managing the orm.xml file</h1>
-<p>When creating a JPA project, (see <a href="task_create_new_project.htm#CIHHEJCJ">"Creating a new JPA project"</a>) you can also create the <code>orm.xml</code> file that defines the mapping metadata and defaults.</p>
-<p><a id="sthref59" name="sthref59"></a>Eclipse creates the <code>META-INF\orm.xml</code> file in your project's directory:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;persistence version="<span class="italic">&lt;PERSISTENCE_VERSION&gt;</span>"
-      xmlns="http://java.sun.com/xml/ns/persistence"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
-      http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt;
-  &lt;persistence-unit name="<span class="italic">&lt;PERSISTENCE_UNIT_NAME&gt;</span>"&gt;
-    &lt;provider="<span class="italic">&lt;PERSISTENCE_PROVIDER&gt;</span>" /&gt;
-  &lt;/persistence-unit&gt;
-&lt;/persistence&gt;
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a><br />
-<a href="ref_eclipselink_mapping_file.htm#CIAEDEJF">New EclipseLink Mapping File dialog</a>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="tasks005.htm#CIHBCDCE">Working with orm.xml file</a><br />
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concepts003.htm#CHDBIJAC">The orm.xml file</a><br />
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_manage_persistence.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_manage_persistence.htm
deleted file mode 100644
index 92f618b..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_manage_persistence.htm
+++ /dev/null
@@ -1,222 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Managing the persistence.xml file</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:42Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Managing the persistence.xml file" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHDAJID" name="CIHDAJID"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1><a id="sthref47" name="sthref47"></a>Managing the persistence.xml file</h1>
-<p><a id="sthref48" name="sthref48"></a>When you create a project, Eclipse creates the <code>META-INF\persistence.xml</code> file in the project's directory.</p>
-<p>You can create a stub <code>persistence.xml</code> file in the META-INF directory when you create a JPA project (see <a href="task_create_new_project.htm#CIHHEJCJ">"Creating a new JPA project"</a>). You can manage this file either through the XML editor (see ) or through the <a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-Depending on your JPA implementation (for example, EclipseLink), the following additional pages may be available in the persistence.xml Editor:
-<ul>
-<li>
-<p><a href="reference019.htm#CIAJAFEG">Customization</a></p>
-<p>Use this page to define change-tracking and session customizer-related properties.</p>
-</li>
-<li>
-<p><a href="reference020.htm#CIABEDCH">Caching</a></p>
-<p>Use this page to define caching properties.</p>
-</li>
-<li>
-<p><a href="reference021.htm#CIABGHHI">Logging</a></p>
-<p>Use this page to define logging properties.</p>
-</li>
-<li>
-<p><a href="reference022.htm#CIAFJCHE">Options</a></p>
-<p>Use this page to define session and target database properties.</p>
-</li>
-<li>
-<p><a href="reference023.htm#CIACCFCB">Schema Generation</a></p>
-<p>Use this page to define DDL-related properties.</p>
-</li>
-</ul>
-<p>For projects using the EclipseLink JPA implementation, the Connections page also includes JDBC connection pool properties.</p>
-<p>If the project uses the Generic platform, then only the <a href="ref_persistence_general.htm#CIACIFGJ">General</a>, <a href="reference018.htm#CIAFFJIE">Connection</a>, <a href="reference024.htm#CIAHJDFF">Properties</a> and <a href="reference025.htm#CIAHCJAH">Source</a> pages are available.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-<p>To use the <code>persistence.xml</code> Editor:</p>
-<ol>
-<li>
-<p>Open the <code>peristence.xml</code> file. The <a href="ref_persistence_general.htm#CIACIFGJ">General</a> page of the editor appears.</p>
-</li>
-<li>
-<p>Use the <span class="bold">General</span> page to define the <code>persistence.xml</code> files <code>&lt;persistent-unit&gt;</code>-related attributes as well as the <code>&lt;provider&gt;</code>, and <code>&lt;class&gt;</code> elements (described in the following table).</p>
-<div align="center">
-<div class="inftblnotealso"><br />
-<table class="NoteAlso oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Tip:</p>
-The persistence.xml Editor's Source page enables you to view and edit the raw XML file.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnotealso" --></div>
-<div class="inftblinformal">
-<table class="Informal" summary="This table lists the properties of the persistence.xml editor." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
-<col width="29%" />
-<col width="29%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t8">Property</th>
-<th align="left" valign="bottom" id="r1c2-t8">Description</th>
-<th align="left" valign="bottom" id="r1c3-t8">Element Defined</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t8" headers="r1c1-t8">Name</td>
-<td align="left" headers="r2c1-t8 r1c2-t8">Enter the name of the persistence unit.</td>
-<td align="left" headers="r2c1-t8 r1c3-t8"><code>&lt;persistence-unit name = "&lt;Name&gt;"&gt;</code></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t8" headers="r1c1-t8"><a id="sthref49" name="sthref49"></a>Persistence Provider</td>
-<td align="left" headers="r3c1-t8 r1c2-t8">Enter the name of the persistence provider.</td>
-<td align="left" headers="r3c1-t8 r1c3-t8"><code>&lt;provider&gt;</code></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t8" headers="r1c1-t8">Description</td>
-<td align="left" headers="r4c1-t8 r1c2-t8">Enter a description for this persistence unit. This is an optional property.</td>
-<td align="left" headers="r4c1-t8 r1c3-t8"><code>&lt;description&gt;</code></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t8" headers="r1c1-t8"><a id="sthref50" name="sthref50"></a>Managed Classes</td>
-<td align="left" headers="r5c1-t8 r1c2-t8">Add or remove the classes managed through the persistence unit.</td>
-<td align="left" headers="r5c1-t8 r1c3-t8"><code>&lt;class&gt;</code></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t8" headers="r1c1-t8">&nbsp;&nbsp;Exclude&nbsp;Unlisted&nbsp;Classes</td>
-<td align="left" headers="r6c1-t8 r1c2-t8">Select to include all annotated entity classes in the root of the persistence unit.</td>
-<td align="left" headers="r6c1-t8 r1c3-t8"><code>&lt;exclude-unlisted-classes&gt;</code></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t8" headers="r1c1-t8">XML&nbsp;Mapping&nbsp;Files</td>
-<td align="left" headers="r7c1-t8 r1c2-t8">Add or remove the object/relational mapping XML files define the classes managed through the persistence unit.</td>
-<td align="left" headers="r7c1-t8 r1c3-t8"><code>&lt;mapping-file&gt;</code></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r8c1-t8" headers="r1c1-t8">JAR&nbsp;Files</td>
-<td align="left" headers="r8c1-t8 r1c2-t8">Add or remove additional JAR files and libraries</td>
-<td align="left" headers="r8c1-t8 r1c3-t8"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblinformal" --></li>
-<li>
-<p>Use the <a href="reference018.htm#CIAFFJIE">Connection</a> page to define the <code>&lt;jta-data-source&gt;</code> and <code>&lt;non-jta-data-source&gt;</code> elements as follows:</p>
-<p>To configure the JTA (Java Transaction API) source used by the persistence provider:</p>
-<ol>
-<li>
-<p>Select <span class="bold">JTA</span> from the Transaction Type list.</p>
-</li>
-<li>
-<p>Enter the global JNDI name of the data source.</p>
-</li>
-</ol>
-<p>To configure a non-JTA data source:</p>
-<ol>
-<li>
-<p>Select <span class="bold">Resource Local</span> from the Transaction Type list.</p>
-</li>
-<li>
-<p>Enter the global JNDI name of the data source.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-Select <span class="bold">Default()</span> to use the data source provided by the container.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</li>
-</ol>
-<p><a id="sthref51" name="sthref51"></a>For projects using the Generic platform, you can also define the EclipseLink connection pool driver, connection pool driver, URL, user name and password.</p>
-</li>
-<li>
-<p>Use the table in the Properties page to set the vendor-specific <code>&lt;properties&gt;</code> element.</p>
-<p>To add <code>&lt;property&gt;</code> elements:</p>
-<ol>
-<li>
-<p>Click <span class="bold">Add</span>.</p>
-</li>
-<li>
-<p>Enter the <code>&lt;name&gt;</code> and <code>&lt;value&gt;</code> attributes for the <code>&lt;property&gt;</code> element using the table's Name and Value fields.</p>
-</li>
-</ol>
-<p>To remove a <code>&lt;property&gt;</code> element, select a defined property in the table and then click <span class="bold">Remove</span>.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-If the project uses the EclipseLink platform, the connection page also includes parameters for JDBC connection pooling.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-</li>
-</ol>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_xmll_editor.htm#CIACCHID">persistence.xml Editor</a>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="tasks002.htm#CIHFEBAI">Synchronizing classes</a><br />
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concepts002.htm#CHDHAGIH">The persistence.xml file</a><br />
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_mapping.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_mapping.htm
deleted file mode 100644
index be8d8f1..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_mapping.htm
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Mapping an entity</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Mapping an entity" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABDGBIJ" name="BABDGBIJ"></a></p>
-<div class="sect1">
-<h1>Mapping an entity</h1>
-<p>Dali supports the following mapping types for Java persistent entities:</p>
-<ul>
-<li>
-<p><a href="tasks010.htm#BABBABCE">Basic mapping</a></p>
-</li>
-<li>
-<p><a href="tasks011.htm#BABCBHDF">Embedded mapping</a></p>
-</li>
-<li>
-<p><a href="tasks012.htm#CIHDIAEE">Embedded ID mapping</a></p>
-</li>
-<li>
-<p><a href="tasks013.htm#BABGCBHG">ID mapping</a></p>
-</li>
-<li>
-<p><a href="tasks014.htm#BABEIEGD">Many-to-many mapping</a></p>
-</li>
-<li>
-<p><a href="tasks015.htm#BABHFAFJ">Many-to-one mapping</a></p>
-</li>
-<li>
-<p><a href="tasks016.htm#BABHGEBD">One-to-many mapping</a></p>
-</li>
-<li>
-<p><a href="tasks017.htm#BABFHBCJ">One-to-one mapping</a></p>
-</li>
-<li>
-<p><a href="tasks018.htm#BABHFHEI">Transient mapping</a></p>
-</li>
-<li>
-<p><a href="tasks019.htm#BABHIBII">Version mapping</a></p>
-</li>
-<li>
-<p><a href="tasks020.htm#CIHBDEAJ">Element Collection mapping</a></p>
-</li>
-</ul>
-<p>Additional mapping types (such as Basic Collection mappings) may be available when using Dali with EclipseLink.</p>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a> <!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks.htm
deleted file mode 100644
index 00e2189..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks.htm
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Tasks</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-06-04T19:32:58Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content=" Tasks" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="sthref25" name="sthref25"></a></p>
-<h1>Tasks</h1>
-<p>This section includes detailed step-by-step procedures for accessing the Dali OR mapping tool functionality.</p>
-<ul>
-<li>
-<p><a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a></p>
-</li>
-<li>
-<p><a href="tasks001.htm#BEIBADHH">Converting a Java Project to a JPA Project</a></p>
-</li>
-<li>
-<p><a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a></p>
-</li>
-<li>
-<p><a href="task_manage_persistence.htm#CIHDAJID">Managing the persistence.xml file</a></p>
-</li>
-<li>
-<p><a href="task_manage_orm.htm#CIHDGDCD">Managing the orm.xml file</a></p>
-</li>
-<li>
-<p><a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a></p>
-</li>
-<li>
-<p><a href="task_additonal_tables.htm#CIHGBIEI">Specifying additional tables</a></p>
-</li>
-<li>
-<p><a href="task_inheritance.htm#CIHCCCJD">Specifying entity inheritance</a></p>
-</li>
-<li>
-<p><a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a></p>
-</li>
-<li>
-<p><a href="tasks021.htm#BABBAGFI">Generating entities from tables</a></p>
-</li>
-<li>
-<p><a href="tasks023.htm#BABFAIBA">Validating mappings and reporting problems</a></p>
-</li>
-<li>
-<p><a href="tasks026.htm#BABDBCBI">Modifying persistent project properties</a></p>
-</li>
-<li>
-<p><a href="task_generating_schema_from_classes.htm#CIHHBJCJ">Generating Schema from Classes</a></p>
-</li>
-<li>
-<p><a href="task_generate_classes_from_schema.htm#CIHCBHJD">Generating JAXB Classes from a Schema</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks001.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks001.htm
deleted file mode 100644
index 0960434..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks001.htm
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Converting a Java Project to a JPA Project</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:41Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Converting a Java Project to a JPA Project" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BEIBADHH" name="BEIBADHH"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Converting a Java Project to a JPA Project</h1>
-<p><a id="sthref35" name="sthref35"></a><a id="sthref36" name="sthref36"></a><a id="sthref37" name="sthref37"></a>Use this procedure to convert an existing Java project to a JPA project.</p>
-<ol>
-<li>
-<p>From the Navigator or Project explorer, right-click the Java project and then select <span class="bold">Configure &gt; Convert to JPA Project.</span> The Project Facets page of the Modify Faceted Project wizard appears.</p>
-<div class="figure"><a id="sthref38" name="sthref38"></a>
-<p class="titleinfigure">Modify Faceted Project Page</p>
-<img src="img/modify_faceted_project.png" alt="" title="" /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Change the <span class="bold">Configuration</span> to <span class="bold">Default JPA Configuration</span>.</p>
-</li>
-<li>
-<p>Click <span class="bold">Next</span>. <a href="ref_jpa_facet.htm#CACIFDIF">JPA Facet page</a> appears.</p>
-<div class="figure"><a id="sthref39" name="sthref39"></a>
-<p class="titleinfigure">JPA Facet Page</p>
-<img src="img/new_jpa_facet_task.png" alt="" title="" /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Complete the fields on the <a href="ref_jpa_facet.htm#CACIFDIF">JPA Facet page</a> to specify your vender-specific platform, JPA implementation library, and database connection.</p>
-<p>Click <span class="bold">Manage libraries</span> to create or update your JPA user libraries. Click <span class="bold">Download libraries</span> to obtain additional JPA implementation libraries.</p>
-<p>If Dali derives the incorrect schema, select <span class="bold">Override the Default Schema for Connection</span>. Using this option, you can select a development time schema for defaults and validation.</p>
-<p>If you clear the <span class="bold">Create orm.xml</span> option (which is selected by default), you can later add a mapping file to the project using the <a href="reference002.htm#CIAIJCCE">Mapping File Wizard</a>.</p>
-</li>
-<li>
-<p>Click <span class="bold">Finish</span>.</p>
-</li>
-</ol>
-<p>The Dali OR Mapping Tool adds the JPA implementation libraries to your project and creates the necessary <code>orm.xml</code> and <code>perisistence.xml</code> files.</p>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_new_jpa_project_wizard.htm#CACBJGBG">Create New JPA Project wizard</a><br />
-<a href="ref_persistence_perspective.htm#BABIFBDB">JPA Development perspective</a><br />
-<a href="reference002.htm#CIAIJCCE">Mapping File Wizard</a>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related tasks" title="Related tasks" /><br />
-<br />
-<a href="task_manage_persistence.htm#CIHDAJID">Managing the persistence.xml file</a><br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a><br />
-<a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a><br />
-<a href="concepts002.htm#CHDHAGIH">The persistence.xml file</a>
-<p>&nbsp;</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks002.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks002.htm
deleted file mode 100644
index 96f9bb0..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks002.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Synchronizing classes</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:42Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Synchronizing classes" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHFEBAI" name="CIHFEBAI"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Synchronizing classes</h1>
-<p>As you work with the classes in your Java project, you will need to update the <code>persistence.xml</code> file to reflect the changes. <a id="sthref52" name="sthref52"></a><a id="sthref53" name="sthref53"></a><a id="sthref54" name="sthref54"></a></p>
-<p>Use this procedure to synchronize the <code>persistence.xml</code> file:</p>
-<ol>
-<li>
-<p>Right-click the <code>persistence.xml</code> file in the <span class="gui-object-title">Project Explorer</span> and select <span class="gui-object-action">JPA Tools &gt; Synchronize Class List</span>.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-Use this function if you selected <span class="bold">Annotated classes must be listed in the persistence.xml option</span> in the <a href="ref_jpa_facet.htm#CACIFDIF">JPA Facet page</a>. In general, you do not have to use this function within the container.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-<div class="figure"><a id="sthref55" name="sthref55"></a>
-<p class="titleinfigure">Synchronizing the persistence.xml File</p>
-<img src="img/synchornize_classes.png" alt="This figure shows the JPA Tools &gt; Synchronize Classes option." title="This figure shows the JPA Tools &gt; Synchronize Classes option." /><br /></div>
-<!-- class="figure" -->
-<p>Dali adds the necessary <code>&lt;class&gt;</code> elements to the <code>persistence.xml</code> file.</p>
-</li>
-<li>
-<p>Use the <span class="gui-object-title">Persistence XML Editor</span> to continue editing the <code>persistence.xml</code> file.</p>
-</li>
-</ol>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_manage_persistence.htm#CIHDAJID">Managing the persistence.xml file</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concepts002.htm#CHDHAGIH">The persistence.xml file</a><br />
-<br /></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks003.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks003.htm
deleted file mode 100644
index 818f146..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks003.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Upgrading document version</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:42Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Upgrading document version" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<div class="sect2"><!-- infolevel="all" infotype="General" --><a id="sthref56" name="sthref56"></a>
-<h1>Upgrading document version</h1>
-<p>Use this procedure to migrate your project from JPA 1.0 to JPA 2.0. You must complete this upgrade to use the current JPA 2.0 features in Dali.</p>
-<div class="figure"><a id="sthref57" name="sthref57"></a>
-<p class="titleinfigure">Upgrading the persistence.xml File</p>
-<img src="img/upgrade_persistence_jpa_version.png" alt="This figure shows the JPA Tools &gt; Synchronize Classes option." title="This figure shows the JPA Tools &gt; Synchronize Classes option." /><br /></div>
-<!-- class="figure" --></div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks004.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks004.htm
deleted file mode 100644
index 90441ad..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks004.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Creating an orm.xml file</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:42Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Creating an orm.xml file" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<div class="sect2"><!-- infolevel="all" infotype="General" --><a id="sthref60" name="sthref60"></a>
-<h1>Creating an orm.xml file</h1>
-<p><a id="sthref61" name="sthref61"></a>If you opt not to create an <code>orm.xml</code> file when you create a JPA project, you can create one using the <a href="reference002.htm#CIAIJCCE">Mapping File Wizard</a>.</p>
-<p>Use this procedure to create an <code>orm.xml</code> file:</p>
-<ol>
-<li>
-<p>From the Navigator or Project Explorer, select <span class="bold">File &gt; New &gt; Other</span>. The Select a Wizard dialog appears.</p>
-<div class="figure"><a id="sthref62" name="sthref62"></a>
-<p class="titleinfigure">The Select a Wizard Dialog</p>
-<img src="img/select_a_wizard_mapping.png" alt="The Select a Wizard dialog with Mapping file selected." title="The Select a Wizard dialog with Mapping file selected." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Select <span class="bold">Mapping File</span> and then click <span class="bold">Next</span>. The Mapping File page appears.</p>
-<p>If you are using EclipseLink, you can select <span class="bold">EclipseLink &gt; EclipseLink Mapping File</span>.</p>
-<div class="figure"><a id="sthref63" name="sthref63"></a>
-<p class="titleinfigure">The Mapping File Page</p>
-<img src="img/mapping_file_new.png" alt="The Mapping File page." title="The Mapping File page." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Define the properties in the page and click <span class="bold">Finish</span>. The <code>orm.xml</code> file appears in the src directory of the selected JPA project. You can manage the orm.xml file using the JPA Details view or through the XML Editor. See also <a href="ref_details_orm.htm#CACGDGHC">JPA Details view (for orm.xml)</a>.</p>
-</li>
-</ol>
-</div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks005.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks005.htm
deleted file mode 100644
index 1f96083..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks005.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Working with orm.xml file</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:42Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Working with orm.xml file" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHBCDCE" name="CIHBCDCE"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Working with orm.xml file</h1>
-<p><a id="sthref64" name="sthref64"></a><a id="sthref65" name="sthref65"></a>You can work with the <code>orm.xml</code> by using the JPA Details view.</p>
-<p>Use this procedure to work with the <code>orm.xml</code> file:</p>
-<ol>
-<li>
-<p>Right-click the <code>orm.xml</code> file in the <span class="gui-object-title">Project Explorer</span> and select <span class="gui-object-action">Open</span>.</p>
-</li>
-<li>
-<p>In the JPA Structure view, select <span class="bold">EntityMappings</span>.</p>
-</li>
-<li>
-<p>Use the JPA Details view to configure the entity mapping and persistence unit defaults.</p>
-<div class="figure"><a id="sthref66" name="sthref66"></a>
-<p class="titleinfigure">JPA Details view for EntityMappings (orm.xml)</p>
-<img src="img/details_entitymappings.png" alt="JPA Details view for orm.xml file." title="JPA Details view for orm.xml file." /><br /></div>
-<!-- class="figure" --></li>
-</ol>
-<img src="img/ngrelr.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="ref_details_orm.htm#CACGDGHC">JPA Details view (for orm.xml)</a><br />
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="#CIHBCDCE">Working with orm.xml file</a><br />
-<a href="../org.eclipse.wst.xmleditor.doc.user/topics/cworkXML.html">Working with XML Files</a><br />
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concepts003.htm#CHDBIJAC">The orm.xml file</a><br /></div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks006.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks006.htm
deleted file mode 100644
index eca0d70..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks006.htm
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Entity</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Entity" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABGBIEE" name="BABGBIEE"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Entity</h1>
-<p><a id="sthref70" name="sthref70"></a><a id="sthref71" name="sthref71"></a><a id="sthref72" name="sthref72"></a><a id="sthref73" name="sthref73"></a>An <span class="bold">Entity</span> is a persistent domain object.</p>
-<p>An entity <span class="italic">can be</span>:</p>
-<ul>
-<li>
-<p>Abstract or concrete classes. Entities may also extend non-entity classes as well as entity classes, and non-entity classes may extend entity classes.</p>
-</li>
-</ul>
-<p>An entity <span class="italic">must have</span>:</p>
-<ul>
-<li>
-<p>A no-arg constructor (public or protected); the entity class may have other constructors as well.</p>
-</li>
-</ul>
-<p><a id="sthref74" name="sthref74"></a><a id="sthref75" name="sthref75"></a><a id="sthref76" name="sthref76"></a>Each persistent entity must be mapped to a database table and contain a primary key. Persistent entities are identified by the <code>@Entity</code> annotation.</p>
-<p>Use this procedure to add persistence to an existing entity:</p>
-<ol>
-<li>
-<p>Open the Java class in the <span class="gui-object-title">Project Explorer.</span></p>
-</li>
-<li>
-<p>Select the class in the JPA Structure view.</p>
-</li>
-<li>
-<p>In the JPA Details view, click the mapping type hyperlink to access the Mapping Type Selection dialog. In the following figure, clicking <span class="italic">entity</span> invokes the dialog from the JPA Details View.</p>
-<div class="figure"><a id="sthref77" name="sthref77"></a>
-<p class="titleinfigure">The Mapping Type Hyperlink</p>
-<img src="img/mapped_entity_type_link.png" alt="The JPA Details view for an entity showing the mapping type hyperlink." title="The JPA Details view for an entity showing the mapping type hyperlink." /><br /></div>
-<!-- class="figure" -->
-<div align="center">
-<div class="inftblnotealso"><br />
-<table class="NoteAlso oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Tip:</p>
-You can also change (or add) persistence for an entity by right-clicking the class in the JPA Structure View and then clicking <span class="bold">Map As &gt; Entity</span>.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnotealso" --></div>
-</li>
-<li>
-<p>Select <span class="bold">Entity</span> from the Mapping Type Selection dialog and then click <span class="bold">OK</span>.</p>
-<div class="figure"><a id="sthref78" name="sthref78"></a>
-<p class="titleinfigure">The Mapping Type Selection Dialog</p>
-<img src="img/mapping_type_selection_entity.png" alt="The Mapping Type selection dialog with Enity selected." title="The Mapping Type selection dialog with Enity selected." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Complete the remaining <a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a>.</p>
-</li>
-</ol>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related tasks" title="Related tasks" /><br />
-<br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a><br />
-<a href="task_additonal_tables.htm#CIHGBIEI">Specifying additional tables</a><br />
-<a href="task_inheritance.htm#CIHCCCJD">Specifying entity inheritance</a><br /></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks007.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks007.htm
deleted file mode 100644
index 004a169..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks007.htm
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Embeddable</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Embeddable" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABFEICE" name="BABFEICE"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Embeddable</h1>
-<p><a id="sthref79" name="sthref79"></a><a id="sthref80" name="sthref80"></a>An <span class="bold">Embedded</span> class is a class whose instances are stored as part of an owning entity; it shares the identity of the owning entity. Each field of the embedded class is mapped to the database table associated with the owning entity.</p>
-<p>To override the mapping information for a specific subclass, use the <code>@AttributeOverride</code> annotation for that specific class.</p>
-<p><a id="sthref81" name="sthref81"></a><a id="sthref82" name="sthref82"></a><a id="sthref83" name="sthref83"></a>An embeddable entity is identified by the <code>@Embeddable</code> annotation.</p>
-<p>Use this procedure to add embeddable persistence to an existing entity:</p>
-<ol>
-<li>
-<p>Open the Java class in the <span class="gui-object-title">Project Explorer</span>.</p>
-</li>
-<li>
-<p>Select the class in the JPA Structure view.</p>
-</li>
-<li>
-<p>Click the mapping type hyperlink to open the Mapping Type Selection dialog.</p>
-</li>
-<li>
-<p>Select <span class="bold">Embeddable</span> and then click <span class="bold">OK</span>.</p>
-<div class="figure"><a id="sthref84" name="sthref84"></a>
-<p class="titleinfigure">Mapping Type Selection Dialog (Embeddable)</p>
-<img src="img/mapping_type_selection_embed.png" alt="The Mapping Type Selection dialog with Embeddable selected." title="The Mapping Type Selection dialog with Embeddable selected." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Complete the remaining <a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a>.</p>
-</li>
-</ol>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related tasks" title="Related tasks" /><br />
-<dl>
-<dd><a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a></dd>
-<dd><a href="task_additonal_tables.htm#CIHGBIEI">Specifying additional tables</a></dd>
-<dd><a href="task_inheritance.htm#CIHCCCJD">Specifying entity inheritance</a></dd>
-</dl>
-</div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks008.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks008.htm
deleted file mode 100644
index 1b5054e..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks008.htm
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Mapped superclass</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Mapped superclass" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABDAGCI" name="BABDAGCI"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Mapped superclass</h1>
-<p><a id="sthref85" name="sthref85"></a><a id="sthref86" name="sthref86"></a>An entity that extends a <span class="bold">Mapped Superclass</span> class inherits the persistent state and mapping information from a superclass. You should use a mapped superclass to define mapping information that is common to multiple entity classes.</p>
-<p>A mapped superclass <span class="italic">can be</span>:</p>
-<ul>
-<li>
-<p>Abstract or concrete classes</p>
-</li>
-</ul>
-<p>A mapped superclass <span class="italic">cannot be</span>:</p>
-<ul>
-<li>
-<p>Be queried or passed as an argument to Entity-Manager or Query operations</p>
-</li>
-<li>
-<p>Be the target of a persistent relationship</p>
-</li>
-</ul>
-<p>A mapped superclass does not have a defined database table. Instead, its mapping information is derived from its superclass. To override the mapping information for a specific subclass, use the <code>@AttributeOverride</code> annotation for that specific class.</p>
-<p><a id="sthref87" name="sthref87"></a><a id="sthref88" name="sthref88"></a><a id="sthref89" name="sthref89"></a><a id="sthref90" name="sthref90"></a>A mapped superclass is identified by the <code>@MappedSuperclass</code> annotation.</p>
-<p>Use this procedure to add Mapped Superclass persistence to an existing entity:</p>
-<ol>
-<li>
-<p>Open the Java class in the <span class="gui-object-title">Project Explorer</span>.</p>
-</li>
-<li>
-<p>Select the class in the JPA Structure view.</p>
-</li>
-<li>
-<p>In the JPA Details view, click the mapping type hyperlink to open the Mapping Type Selection dialog.</p>
-</li>
-<li>
-<p>Select <span class="bold">Mapped Superclass</span> and then <span class="bold">OK</span>.</p>
-<div class="figure"><a id="sthref91" name="sthref91"></a>
-<p class="titleinfigure">Mapping Type Selection Dialog (Mapped Superclass)</p>
-<img src="img/mapping_type_selection_superclass.png" alt="The Mapping Type Selection dialog with Mapped Superclass selected." title="The Mapping Type Selection dialog with Mapped Superclass selected." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Complete the remaining <a href="ref_persistence_prop_view.htm#BABFAEBB">JPA Details view (for entities)</a>.</p>
-</li>
-</ol>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related tasks" title="Related tasks" /><br />
-<br />
-<a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a><br />
-<a href="task_additonal_tables.htm#CIHGBIEI">Specifying additional tables</a><br />
-<a href="task_inheritance.htm#CIHCCCJD">Specifying entity inheritance</a><br /></div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks009.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks009.htm
deleted file mode 100644
index 82e8697..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks009.htm
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Creating Named Queries</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Creating Named Queries" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABIGBGG" name="BABIGBGG"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Creating Named Queries</h1>
-<p><a id="sthref107" name="sthref107"></a><a id="sthref108" name="sthref108"></a>Named queries improve application performance because they are prepared once and they (and all of their associated supporting objects) can be efficiently reused thereafter, making them well suited for complex and frequently executed operations. Named queries use the JPA query language for portable execution on any underlying database; named native queries use the SQL language native to the underlying database.</p>
-<p>Use this procedure to add <code>@NamedQuery</code> and <code>@NamedNativeQuery</code> annotations to the entity.</p>
-<p>To create a named query:</p>
-<ol>
-<li>
-<p>Select the entity in the Project Explorer.</p>
-</li>
-<li>
-<p>In the JPA Details view, expand Queries.</p>
-</li>
-<li>
-<p>Click <span class="bold">Add</span> for a named query, or <span class="bold">Add Native</span> for a native query.</p>
-</li>
-<li>
-<p>In the dialog that appears, enter the name of the query in the Name field and then click OK.</p>
-</li>
-<li>
-<p>Enter the query in the Query field.</p>
-</li>
-<li>
-<p><a id="sthref109" name="sthref109"></a><a id="sthref110" name="sthref110"></a><a id="sthref111" name="sthref111"></a><a id="sthref112" name="sthref112"></a>To add a Query hint, click <span class="bold">Add</span>.</p>
-<div class="figure"><a id="sthref113" name="sthref113"></a>
-<p class="titleinfigure">Entering a Named Query</p>
-<img src="img/task_entering_query.png" alt="The Queries section of the JPA Details view." title="The Queries section of the JPA Details view." /><br /></div>
-<!-- class="figure" --></li>
-</ol>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks010.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks010.htm
deleted file mode 100644
index f4022d9..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks010.htm
+++ /dev/null
@@ -1,183 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Basic mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:43Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Basic mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABBABCE" name="BABBABCE"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Basic mapping</h1>
-<p><a id="sthref114" name="sthref114"></a><a id="sthref115" name="sthref115"></a><a id="sthref116" name="sthref116"></a><a id="sthref117" name="sthref117"></a>Use a <span class="bold">Basic Mapping</span> to map an attribute directly to a database column. Basic mappings may be used only with the following attribute types:</p>
-<ul>
-<li>
-<p>Java primitive types and wrappers of the primitive types</p>
-</li>
-<li>
-<p><code>java.lang.String, java.math.BigInteger</code></p>
-</li>
-<li>
-<p><code>java.math.BigDecimal</code></p>
-</li>
-<li>
-<p><code>java.util.Date</code></p>
-</li>
-<li>
-<p><code>java.util.Calendar, java.sql.Date</code></p>
-</li>
-<li>
-<p><code>java.sql.Time</code></p>
-</li>
-<li>
-<p><code>java.sql.Timestamp</code></p>
-</li>
-<li>
-<p><code>byte[]</code></p>
-</li>
-<li>
-<p><code>Byte[]</code></p>
-</li>
-<li>
-<p><code>char[]</code></p>
-</li>
-<li>
-<p><code>Character[]</code></p>
-</li>
-<li>
-<p>enums</p>
-</li>
-<li>
-<p>any other type that implements <code>Serializable</code></p>
-</li>
-</ul>
-<p>To create a basic mapping:</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, right-click the field to map. Select <span class="bold">Map As &gt; Basic</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected field.</p>
-</li>
-<li>
-<p>Use this table to complete the remaining fields on the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="41%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t14">Property</th>
-<th align="left" valign="bottom" id="r1c2-t14">Description</th>
-<th align="left" valign="bottom" id="r1c3-t14">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t14" headers="r1c1-t14">Entity Map Hyperlink</td>
-<td align="left" headers="r2c1-t14 r1c2-t14">Defines this mapping as a <span class="bold">Basic Mapping</span>.
-<p>This corresponds to the <code>@Basic</code> annotation.</p>
-</td>
-<td align="left" headers="r2c1-t14 r1c3-t14">Basic</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t14" headers="r1c1-t14">Column</td>
-<td align="left" headers="r3c1-t14 r1c2-t14">The database column mapped to the entity attribute. See <a href="ref_mapping_general.htm#CACGCBHB">"Column"</a> for details.</td>
-<td align="left" headers="r3c1-t14 r1c3-t14">By default, the Column is assumed to be named identically to the attribute and always included in the <code>INSERT</code> and <code>UPDATE</code> statements.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t14" headers="r1c1-t14">Table</td>
-<td align="left" headers="r4c1-t14 r1c2-t14">Name of the database table.</td>
-<td align="left" headers="r4c1-t14 r1c3-t14"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t14" headers="r1c1-t14">Fetch</td>
-<td align="left" headers="r5c1-t14 r1c2-t14">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details.
-<ul>
-<li>
-<p>Eager</p>
-</li>
-<li>
-<p>Lazy</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r5c1-t14 r1c3-t14">Eager</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t14" headers="r1c1-t14">Optional</td>
-<td align="left" headers="r6c1-t14 r1c2-t14">Specifies if this field is can be null.</td>
-<td align="left" headers="r6c1-t14 r1c3-t14">Yes</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t14" headers="r1c1-t14">Type</td>
-<td align="left" headers="r7c1-t14 r1c2-t14">Specifies the type of data:
-<ul>
-<li>
-<p>Default</p>
-</li>
-<li>
-<p>LOB &ndash; Specifies if this is a large objects (BLOB or CLOB). See <a href="ref_mapping_general.htm#CACBBIBI">"Lob"</a> for details.</p>
-</li>
-<li>
-<p>Temporal &ndash; Specify if this is a Date, Time, or Timestamp object. See <a href="ref_mapping_general.htm#CACEAJGD">"Temporal"</a> for details.</p>
-</li>
-<li>
-<p>Enumerated &ndash; Specify how to persist enumerated constraints as ordinal or string, in order to match an existing database schema.</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r7c1-t14 r1c3-t14"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@Column(name="<span class="italic">&lt;COLUMN_NAME&gt;</span>", table="<span class="italic">&lt;COLUMN_TABLE&gt;</span>", 
-    insertable=<span class="italic">&lt;INSERTABLE&gt;</span>, updatable=<span class="italic">&lt;UPDATABLE&gt;</span>)
-@Basic(fetch=FetchType.<span class="italic">&lt;FETCH_TYPE&gt;</span>, optional = <span class="italic">&lt;OPTIONAL&gt;</span>)
-@Temporal(TemporalType.<span class="italic">&lt;TEMPORAL&gt;</span>)
-
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm
deleted file mode 100644
index 5634d78..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Embedded mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:44Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Embedded mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABCBHDF" name="BABCBHDF"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Embedded mapping</h1>
-<p><a id="sthref118" name="sthref118"></a><a id="sthref119" name="sthref119"></a><a id="sthref120" name="sthref120"></a><a id="sthref121" name="sthref121"></a>Use an <span class="bold">Embedded Mapping</span> to specify a persistent field or property of an entity whose value is an instance of an embeddable class.</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, right-click the field to map.</p>
-</li>
-<li>
-<p>Select <span class="bold">Map as &gt; Embedded</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected field.</p>
-</li>
-<li>
-<p>Use this table to complete the remaining fields on the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="38%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t15">Property</th>
-<th align="left" valign="bottom" id="r1c2-t15">Description</th>
-<th align="left" valign="bottom" id="r1c3-t15">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t15" headers="r1c1-t15">Entity Mapping Hyperlink</td>
-<td align="left" headers="r2c1-t15 r1c2-t15">Defines this mapping as a <span class="bold">Embedded</span>.
-<p>This corresponds to the <code>@Embedded</code> annotation.</p>
-</td>
-<td align="left" headers="r2c1-t15 r1c3-t15">Embedded</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t15" headers="r1c1-t15">Attribute Overrides</td>
-<td align="left" headers="r3c1-t15 r1c2-t15">Specify to override the default mapping of an entity's attribute. Select <span class="bold">Override Default</span>.</td>
-<td align="left" headers="r3c1-t15 r1c3-t15"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@Embedded
-@AttributeOverride(column=@Column(table="<span class="italic">&lt;COLUMN_TABLE&gt;</span>", name = "<span class="italic">&lt;COLUMN_NAME&gt;</span>"))
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks012.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks012.htm
deleted file mode 100644
index 425fb64..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks012.htm
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Embedded ID mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:44Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Embedded ID mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHDIAEE" name="CIHDIAEE"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Embedded ID mapping</h1>
-<p><a id="sthref122" name="sthref122"></a><a id="sthref123" name="sthref123"></a><a id="sthref124" name="sthref124"></a><a id="sthref125" name="sthref125"></a>Use an <span class="bold">Embedded ID Mapping</span> to specify the primary key of an embedded ID. These mappings may be used with a <a href="tasks007.htm#BABFEICE">Embeddable</a> entities.</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p>
-</li>
-<li>
-<p>Right-click the field and then select <span class="bold">Map As &gt; Embedded Id</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected field.</p>
-</li>
-<li>
-<p>Use this table to complete the remaining fields on the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="38%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t16">Property</th>
-<th align="left" valign="bottom" id="r1c2-t16">Description</th>
-<th align="left" valign="bottom" id="r1c3-t16">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t16" headers="r1c1-t16">Entity Mapping Hyperlink</td>
-<td align="left" headers="r2c1-t16 r1c2-t16">Defines this mapping as a <span class="bold">Embedded Id</span>.
-<p>This corresponds to the <code>@EmbeddedId</code> annotation.</p>
-</td>
-<td align="left" headers="r2c1-t16 r1c3-t16">Embedded Id</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@EmbeddedId
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks013.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks013.htm
deleted file mode 100644
index 8aadf81..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks013.htm
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>ID mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:44Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="ID mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABGCBHG" name="BABGCBHG"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>ID mapping</h1>
-<p><a id="sthref126" name="sthref126"></a><a id="sthref127" name="sthref127"></a><a id="sthref128" name="sthref128"></a><a id="sthref129" name="sthref129"></a>Use an <span class="bold">ID Mapping</span> to specify the primary key of an entity. ID mappings may be used with a <a href="tasks006.htm#BABGBIEE">Entity</a> or <a href="tasks008.htm#BABDAGCI">Mapped superclass</a>. Each <a href="tasks006.htm#BABGBIEE">Entity</a> must have an ID mapping.</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p>
-</li>
-<li>
-<p>Right click the filed and then select <span class="bold">Map as &gt; ID</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected.</p>
-</li>
-<li>
-<p>Use this table to complete the <a href="ref_mapping_general.htm#CACBHFIJ">General information</a> fields in the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="22%" />
-<col width="*" />
-<col width="35%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t17">Property</th>
-<th align="left" valign="bottom" id="r1c2-t17">Description</th>
-<th align="left" valign="bottom" id="r1c3-t17">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t17" headers="r1c1-t17">Entity Mapping Hyperlink</td>
-<td align="left" headers="r2c1-t17 r1c2-t17">Defines this mapping as an <span class="bold">ID Mapping</span>.
-<p>This field corresponds to the <code>@Id</code> annotation.</p>
-</td>
-<td align="left" headers="r2c1-t17 r1c3-t17">ID</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t17" headers="r1c1-t17">Column</td>
-<td align="left" headers="r3c1-t17 r1c2-t17">The database column mapped to the entity attribute. See <a href="ref_mapping_general.htm#CACGCBHB">"Column"</a> for details.</td>
-<td align="left" headers="r3c1-t17 r1c3-t17">By default, the Column is assumed to be named identically to the attribute.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t17" headers="r1c1-t17">Table</td>
-<td align="left" headers="r4c1-t17 r1c2-t17">The database table mapped to the entity attribute.</td>
-<td align="left" headers="r4c1-t17 r1c3-t17">By default, the Table is assumed to be identical to the table associated with the entity.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t17" headers="r1c1-t17">Temporal</td>
-<td align="left" headers="r5c1-t17 r1c2-t17">Specifies the type of data. See <a href="ref_mapping_general.htm#CACEAJGD">"Temporal"</a> for details.
-<ul>
-<li>
-<p>Date</p>
-</li>
-<li>
-<p>Time</p>
-</li>
-<li>
-<p>Timestamp</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r5c1-t17 r1c3-t17"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-<li>
-<p>Use this table to complete the fields in <a href="ref_primary_key.htm#CACFCCAB">Primary Key Generation information</a> area in the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the PK Generation tab." summary="This table lists the fields in the PK Generation tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="22%" />
-<col width="*" />
-<col width="35%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t18">Property</th>
-<th align="left" valign="bottom" id="r1c2-t18">Description</th>
-<th align="left" valign="bottom" id="r1c3-t18">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t18" headers="r1c1-t18">Primary Key Generation</td>
-<td align="left" headers="r2c1-t18 r1c2-t18">These fields define how the primary key is generated.</td>
-<td align="left" headers="r2c1-t18 r1c3-t18"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t18" headers="r1c1-t18">&nbsp;&nbsp;Strategy</td>
-<td align="left" headers="r3c1-t18 r1c2-t18">See <a href="ref_primary_key.htm#CACBAJBC">"Primary Key Generation"</a> for details.
-<ul>
-<li>
-<p>Auto</p>
-</li>
-<li>
-<p>Sequence</p>
-</li>
-<li>
-<p>Identity</p>
-</li>
-<li>
-<p>Table</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r3c1-t18 r1c3-t18">Auto</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t18" headers="r1c1-t18">&nbsp;&nbsp;Generator&nbsp;Name</td>
-<td align="left" headers="r4c1-t18 r1c2-t18">Name of the primary key generator specified in the <span class="bold">Strategy</span></td>
-<td align="left" headers="r4c1-t18 r1c3-t18"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Additional fields will appear in the <a href="ref_primary_key.htm#CACFCCAB">Primary Key Generation information</a> area, depending on the selected Strategy. See <a href="ref_persistence_map_view.htm#BABIFBAF">"JPA Details view (for attributes)"</a> for additional information.</p>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@Id
-@Column(name="<span class="italic">&lt;COLUMN_NAME&gt;</span>", table="<span class="italic">&lt;TABLE_NAME&gt;</span>", insertable=<span class="italic">&lt;INSERTABLE&gt;</span>,
-    updatable=<span class="italic">&lt;UPDATABLE&gt;</span>)
-@Temporal(<span class="italic">&lt;TEMPORAL&gt;</span>)
-@GeneratedValue(strategy=GeneratorType.<span class="italic">&lt;STRATEGY&gt;</span>, generator="<span class="italic">&lt;GENERATOR_NAME&gt;</span>")@TableGenerator(name="<span class="italic">&lt;TABLE_GENERATOR_NAME&gt;</span>", table = "<span class="italic">&lt;TABLE_GENERATOR_TABLE&gt;</span>", 
-    pkColumnName = "<span class="italic">&lt;TABLE_GENERATOR_PK&gt;</span>", 
-    valueColumnName = "<span class="italic">&lt;TABLE_GENERATOR_VALUE_COLUMN&gt;</span>", 
-    pkColumnValue = "<span class="italic">&lt;TABLE_GENERATOR_PK_COLUMN_VALUE&gt;</span>")@SequenceGenerator(name="<span class="italic">&lt;SEQUENCE_GENERATOR_NAME&gt;</span>", 
-    sequenceName="<span class="italic">&lt;SEQUENCE_GENERATOR_SEQUENCE&gt;</span>")
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks014.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks014.htm
deleted file mode 100644
index d158190..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks014.htm
+++ /dev/null
@@ -1,179 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Many-to-many mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:44Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Many-to-many mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABEIEGD" name="BABEIEGD"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Many-to-many mapping</h1>
-<p><a id="sthref130" name="sthref130"></a><a id="sthref131" name="sthref131"></a><a id="sthref132" name="sthref132"></a><a id="sthref133" name="sthref133"></a>Use a <span class="bold">Many-to-Many Mapping</span> to define a many-valued association with many-to-many multiplicity. A many-to-many mapping has two sides: the <span class="italic">owning side</span> and <span class="italic">non-owning side</span>. You must specify the join table on the owning side. For bidirectional mappings, either side may be the owning side.</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p>
-</li>
-<li>
-<p>Right-click the field and then select <span class="bold">Map As &gt; Many-to-Many</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected field.</p>
-</li>
-<li>
-<p>Use this table to complete the <a href="ref_mapping_general.htm#CACBHFIJ">General information</a> fields of the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="41%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t19">Property</th>
-<th align="left" valign="bottom" id="r1c2-t19">Description</th>
-<th align="left" valign="bottom" id="r1c3-t19">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t19" headers="r1c1-t19">Mapping Entity Hyperlink</td>
-<td align="left" headers="r2c1-t19 r1c2-t19">Defines this mapping as a <span class="bold">Many to Many Mapping</span>.
-<p>This field corresponds to the <code>@ManyToMany</code> annotation.</p>
-</td>
-<td align="left" headers="r2c1-t19 r1c3-t19">Many to Many</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t19" headers="r1c1-t19">Target Entity</td>
-<td align="left" headers="r3c1-t19 r1c2-t19">The entity to which this attribute is mapped.</td>
-<td align="left" headers="r3c1-t19 r1c3-t19">null
-<p>You do not need to explicitly specify the target entity, since it can be inferred from the type of object being referenced.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t19" headers="r1c1-t19">Fetch</td>
-<td align="left" headers="r4c1-t19 r1c2-t19">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details.
-<ul>
-<li>
-<p>Eager</p>
-</li>
-<li>
-<p>Lazy</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r4c1-t19 r1c3-t19">Lazy</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t19" headers="r1c1-t19">Mapped By</td>
-<td align="left" headers="r5c1-t19 r1c2-t19">The database field that owns the relationship.</td>
-<td align="left" headers="r5c1-t19 r1c3-t19"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t19" headers="r1c1-t19">Order By</td>
-<td align="left" headers="r6c1-t19 r1c2-t19">Specify the default order for objects returned from a query. See <a href="ref_mapping_general.htm#CACDADIH">"Order By"</a> for details.
-<ul>
-<li>
-<p>No ordering</p>
-</li>
-<li>
-<p>Primary key</p>
-</li>
-<li>
-<p>Custom</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r6c1-t19 r1c3-t19">No ordering</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-<li>
-<p>Use this table to complete the fields in the <a href="reference011.htm#CACBAEBC">Join Table Information</a> area in the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Join Table tab of the Persistence Properties view for this mapping." summary="This table lists the fields in the Join Table tab of the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="38%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t20">Property</th>
-<th align="left" valign="bottom" id="r1c2-t20">Description</th>
-<th align="left" valign="bottom" id="r1c3-t20">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t20" headers="r1c1-t20">Name</td>
-<td align="left" headers="r2c1-t20 r1c2-t20">Name of the join table that contains the foreign key column.</td>
-<td align="left" headers="r2c1-t20 r1c3-t20">You must specify the join table on the owning side.
-<p>By default, the name is assumed to be the primary tables associated with the entities concatenated with an underscore.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t20" headers="r1c1-t20">Join Columns</td>
-<td align="left" headers="r3c1-t20 r1c2-t20">Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</td>
-<td align="left" headers="r3c1-t20 r1c3-t20">By default, the name is assumed to be the primary tables associated with the entities concatenated with an underscore.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t20" headers="r1c1-t20">Inverse Join Columns</td>
-<td align="left" headers="r4c1-t20 r1c2-t20">Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</td>
-<td align="left" headers="r4c1-t20 r1c3-t20">By default, the mapping is assumed to have a single join.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-<li>
-<p>To add a new Join or Inverse Join Column, click <span class="gui-object-action">Add</span>.</p>
-<p>To edit an existing Join or Inverse Join Column, select the field to and click <span class="gui-object-action">Edit</span>.</p>
-</li>
-</ol>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@JoinTable(joinColumns=@JoinColumn(name="<span class="italic">&lt;JOIN_COLUMN&gt;</span>"), 
-    name = "<span class="italic">&lt;JOIN_TABLE_NAME&gt;</span>")
-@ManyToMany(cascade=CascadeType.<span class="italic">&lt;CASCADE_TYPE&gt;</span>, fetch=FetchType.<span class="italic">&lt;FETCH_TYPE&gt;</span>,
-    targetEntity=<span class="italic">&lt;TARGET_ENTITY&gt;</span>, mappedBy = "<span class="italic">&lt;MAPPED_BY&gt;</span>")
-@OrderBy("<span class="italic">&lt;ORDER_BY&gt;</span>")
-
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm
deleted file mode 100644
index 05eba6a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Many-to-one mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:44Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Many-to-one mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABHFAFJ" name="BABHFAFJ"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Many-to-one mapping</h1>
-<p><a id="sthref134" name="sthref134"></a><a id="sthref135" name="sthref135"></a><a id="sthref136" name="sthref136"></a><a id="sthref137" name="sthref137"></a>Use a <span class="bold">Many-to-One</span> mapping to defines a single-valued association to another entity class that has many-to-one multiplicity.</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p>
-</li>
-<li>
-<p>Right click the field and then select <span class="bold">Map As &gt; Many-to-One</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected.</p>
-</li>
-<li>
-<p>Use this table to complete the <a href="ref_mapping_general.htm#CACBHFIJ">General information</a> fields JPA Details view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields ion the General tab for this mapping." summary="This table lists the fields ion the General tab for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="41%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t21">Property</th>
-<th align="left" valign="bottom" id="r1c2-t21">Description</th>
-<th align="left" valign="bottom" id="r1c3-t21">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t21" headers="r1c1-t21">Mapping Entity Hyperlink</td>
-<td align="left" headers="r2c1-t21 r1c2-t21">Defines mapping as <span class="bold">Many-to-One</span>. This corresponds to the <code>@ManyToOne</code> annotation.</td>
-<td align="left" headers="r2c1-t21 r1c3-t21">Many-to-One</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t21" headers="r1c1-t21">Target Entity</td>
-<td align="left" headers="r3c1-t21 r1c2-t21">The entity to which this attribute is mapped.</td>
-<td align="left" headers="r3c1-t21 r1c3-t21">null
-<p>You do not need to explicitly specify the target entity, since it can be inferred from the type of object being referenced.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t21" headers="r1c1-t21">Fetch</td>
-<td align="left" headers="r4c1-t21 r1c2-t21">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details.
-<ul>
-<li>
-<p>Eager</p>
-</li>
-<li>
-<p>Lazy</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r4c1-t21 r1c3-t21">Eager</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t21" headers="r1c1-t21">Cascade</td>
-<td align="left" headers="r5c1-t21 r1c2-t21">See <a href="ref_mapping_general.htm#CACJAIHB">"Cascade Type"</a> for details.
-<ul>
-<li>
-<p>Default</p>
-</li>
-<li>
-<p>All</p>
-</li>
-<li>
-<p>Persist</p>
-</li>
-<li>
-<p>Merge</p>
-</li>
-<li>
-<p>Remove</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r5c1-t21 r1c3-t21">Default</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t21" headers="r1c1-t21">Optional</td>
-<td align="left" headers="r6c1-t21 r1c2-t21">Specifies if this field is can be null.</td>
-<td align="left" headers="r6c1-t21 r1c3-t21">Yes</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-<li>
-<p>Use this table to complete the fields on the <a href="reference012.htm#CACFCEJC">Join Columns Information</a> tab in the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="41%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t22">Property</th>
-<th align="left" valign="bottom" id="r1c2-t22">Description</th>
-<th align="left" valign="bottom" id="r1c3-t22">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t22" headers="r1c1-t22">Join Column</td>
-<td align="left" headers="r2c1-t22 r1c2-t22"><a id="sthref138" name="sthref138"></a><a id="sthref139" name="sthref139"></a>Specify a mapped column for joining an entity association. This field corresponds to the <code>@JoinColum</code> attribute.
-<p>Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</p>
-</td>
-<td align="left" headers="r2c1-t22 r1c3-t22">By default, the mapping is assumed to have a single join.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@JoinTable(joinColumns=@JoinColumn(name="<span class="italic">&lt;JOIN_COLUMN&gt;</span>"), 
-    name = "<span class="italic">&lt;JOIN_TABLE_NAME&gt;</span>")
-@ManyToOne(targetEntity=<span class="italic">&lt;TARGET_ENTITY&gt;</span>, fetch=<span class="italic">&lt;FETCH_TYPE&gt;</span>, 
-    cascade=<span class="italic">&lt;CASCADE_TYPE&gt;</span>)
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks016.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks016.htm
deleted file mode 100644
index 417c743..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks016.htm
+++ /dev/null
@@ -1,197 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>One-to-many mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:44Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="One-to-many mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABHGEBD" name="BABHGEBD"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>One-to-many mapping</h1>
-<p><a id="sthref140" name="sthref140"></a><a id="sthref141" name="sthref141"></a><a id="sthref142" name="sthref142"></a><a id="sthref143" name="sthref143"></a>Use a <span class="bold">One-to-Many Mapping</span> to define a relationship with one-to-many multiplicity.</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p>
-</li>
-<li>
-<p>Right-click the field and then select <span class="bold">Map As &gt; One-to-many</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected.</p>
-</li>
-<li>
-<p>Use this table to complete the <a href="ref_mapping_general.htm#CACBHFIJ">General information</a> fields JPA Details view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the General tab of the Persistence Properties view for this mapping." summary="This table lists the fields in the General tab of the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="38%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t23">Property</th>
-<th align="left" valign="bottom" id="r1c2-t23">Description</th>
-<th align="left" valign="bottom" id="r1c3-t23">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t23" headers="r1c1-t23">Mapping Entity Type Hyperlink</td>
-<td align="left" headers="r2c1-t23 r1c2-t23">Defines mapping as <span class="bold">One-to-Many</span>. This corresponds to the <code>@OneToMany</code> annotation.</td>
-<td align="left" headers="r2c1-t23 r1c3-t23">One-to-Many</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t23" headers="r1c1-t23">Target Entity</td>
-<td align="left" headers="r3c1-t23 r1c2-t23">The entity to which this attribute is mapped.</td>
-<td align="left" headers="r3c1-t23 r1c3-t23"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t23" headers="r1c1-t23">Cascade</td>
-<td align="left" headers="r4c1-t23 r1c2-t23">See <a href="ref_mapping_general.htm#CACJAIHB">"Cascade Type"</a> for details.
-<ul>
-<li>
-<p>Default</p>
-</li>
-<li>
-<p>All</p>
-</li>
-<li>
-<p>Persist</p>
-</li>
-<li>
-<p>Merge</p>
-</li>
-<li>
-<p>Remove</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r4c1-t23 r1c3-t23"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t23" headers="r1c1-t23">Fetch</td>
-<td align="left" headers="r5c1-t23 r1c2-t23">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details.
-<ul>
-<li>
-<p>Eager</p>
-</li>
-<li>
-<p>Lazy</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r5c1-t23 r1c3-t23">Eager</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r6c1-t23" headers="r1c1-t23">Mapped By</td>
-<td align="left" headers="r6c1-t23 r1c2-t23">The database field that owns the relationship.</td>
-<td align="left" headers="r6c1-t23 r1c3-t23"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r7c1-t23" headers="r1c1-t23">Order By</td>
-<td align="left" headers="r7c1-t23 r1c2-t23">Specify the default order for objects returned from a query. See <a href="ref_mapping_general.htm#CACDADIH">"Order By"</a> for details.
-<ul>
-<li>
-<p>No ordering</p>
-</li>
-<li>
-<p>Primary key</p>
-</li>
-<li>
-<p>Custom</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r7c1-t23 r1c3-t23">No ordering</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-<li>
-<p>Use this table to complete the <a href="reference011.htm#CACBAEBC">Join Table Information</a> fields in the JPA Details view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Join Table tab of the Persistence Properties view for this mapping." summary="This table lists the fields in the Join Table tab of the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="38%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t24">Property</th>
-<th align="left" valign="bottom" id="r1c2-t24">Description</th>
-<th align="left" valign="bottom" id="r1c3-t24">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t24" headers="r1c1-t24">Name</td>
-<td align="left" headers="r2c1-t24 r1c2-t24">Name of the join table</td>
-<td align="left" headers="r2c1-t24 r1c3-t24">By default, the name is assumed to be the primary tables associated with the entities concatenated with an underscore.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t24" headers="r1c1-t24">Join Columns</td>
-<td align="left" headers="r3c1-t24 r1c2-t24">Specify two or more join columns (that is, a primary key).</td>
-<td align="left" headers="r3c1-t24 r1c3-t24"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t24" headers="r1c1-t24">Inverse Join Columns</td>
-<td align="left" headers="r4c1-t24 r1c2-t24">The join column on the owned (or inverse) side of the association: the owned entity's primary key column.</td>
-<td align="left" headers="r4c1-t24 r1c3-t24"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@OneToMany(targetEntity=<span class="italic">&lt;TARGET_ENTITY&gt;</span>)
-@Column(name="<span class="italic">&lt;COLUMN&gt;</span>")
-
-
-@OneToMany(targetEntity=<span class="italic">&lt;TARGET_ENTITY&gt;</span>.class, cascade=CascadeType.<span class="italic">&lt;CASCADE_TYPE&gt;</span>, 
-    fetch = FetchType.<span class="italic">&lt;FETCH_TYPE&gt;</span>, mappedBy = "<span class="italic">&lt;MAPPED_BY&gt;</span>")@OrderBy("<span class="italic">&lt;ORDER_BY&gt;</span>")
-@JoinTable(name="<span class="italic">&lt;JOIN_TABLE_NAME&gt;</span>", joinColumns=@JoinColumn(name=
-    "<span class="italic">&lt;JOIN_COLUMN_NAME&gt;</span>", referencedColumnName="<span class="italic">&lt;JOIN_COLUMN_REFERENCED_COLUMN&gt;</span>"), 
-    inverseJoinColumns=@JoinColumn(name="<span class="italic">&lt;INVERSE_JOIN_COLUMN_NAME&gt;</span>", 
-    referencedColumnName="<span class="italic">&lt;INVERSE_JOIN_COLUMN_REFERENCED_COLUMN&gt;</span>"))
-
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks017.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks017.htm
deleted file mode 100644
index 9c58f8a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks017.htm
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>One-to-one mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:44Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="One-to-one mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABFHBCJ" name="BABFHBCJ"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>One-to-one mapping</h1>
-<p><a id="sthref144" name="sthref144"></a><a id="sthref145" name="sthref145"></a><a id="sthref146" name="sthref146"></a><a id="sthref147" name="sthref147"></a>Use a <span class="bold">One-to-One Mapping</span> to define a relationship with one-to-many multiplicity.</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p>
-</li>
-<li>
-<p>Right-click the field and then select <span class="bold">Map As &gt; One-to-One</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected.</p>
-</li>
-<li>
-<p>Use this table to complete the <a href="ref_mapping_general.htm#CACBHFIJ">General information</a> fields in the JPA Details view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="41%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t25">Property</th>
-<th align="left" valign="bottom" id="r1c2-t25">Description</th>
-<th align="left" valign="bottom" id="r1c3-t25">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t25" headers="r1c1-t25">Mapped Entity Hyperlink</td>
-<td align="left" headers="r2c1-t25 r1c2-t25">Defines mapping as <span class="bold">One-to-One</span>. This corresponds to the <code>@OneToOne</code> annotation.</td>
-<td align="left" headers="r2c1-t25 r1c3-t25">One-to-One</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t25" headers="r1c1-t25">Target Entity</td>
-<td align="left" headers="r3c1-t25 r1c2-t25">The entity to which this attribute is mapped.</td>
-<td align="left" headers="r3c1-t25 r1c3-t25">null
-<p>You do not need to explicitly specify the target entity, since it can be inferred from the type of object being referenced.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t25" headers="r1c1-t25">Fetch Type</td>
-<td align="left" headers="r4c1-t25 r1c2-t25">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details.
-<ul>
-<li>
-<p>Eager</p>
-</li>
-<li>
-<p>Lazy</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r4c1-t25 r1c3-t25">Eager</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t25" headers="r1c1-t25">Mapped By</td>
-<td align="left" headers="r5c1-t25 r1c2-t25">The database field that owns the relationship.</td>
-<td align="left" headers="r5c1-t25 r1c3-t25"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-<li>
-<p>Use this table to complete the <a href="reference012.htm#CACFCEJC">Join Columns Information</a> fields in the <span class="gui-object-title">JPA Details</span> view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="41%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t26">Property</th>
-<th align="left" valign="bottom" id="r1c2-t26">Description</th>
-<th align="left" valign="bottom" id="r1c3-t26">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t26" headers="r1c1-t26">Join Column</td>
-<td align="left" headers="r2c1-t26 r1c2-t26"><a id="sthref148" name="sthref148"></a><a id="sthref149" name="sthref149"></a>Specify a mapped column for joining an entity association. This field corresponds to the <code>@JoinColum</code> attribute.
-<p>Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</p>
-</td>
-<td align="left" headers="r2c1-t26 r1c3-t26">By default, the mapping is assumed to have a single join.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@OneToOne(targetEntity=<span class="italic">&lt;TARGET_ENTITY&gt;</span>, cascade=CascadeType.<span class="italic">&lt;CASCADE_TYPE&gt;</span>, 
-    fetch = FetchType.<span class="italic">&lt;FETCH_TYPE&gt;</span>, mappedBy = "<span class="italic">&lt;MAPPED_BY&gt;</span>")
-@JoinColumn(name="<span class="italic">&lt;JOIN_COLUMN_NAME&gt;</span>", referencedColumnName=
-    "<span class="italic">&lt;JOIN_COLUMN_REFERENCED_COLUMN&gt;</span>", insertable = <span class="italic">&lt;INSERTABLE&gt;</span>, 
-    updatable = <span class="italic">&lt;UPDATABLE&gt;</span>)
-
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks018.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks018.htm
deleted file mode 100644
index b04bdb3..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks018.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Transient mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Transient mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABHFHEI" name="BABHFHEI"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Transient mapping</h1>
-<p><a id="sthref150" name="sthref150"></a><a id="sthref151" name="sthref151"></a><a id="sthref152" name="sthref152"></a><a id="sthref153" name="sthref153"></a>Use the Transient Mapping to specify a field of the entity class that <span class="italic">is not</span> persistent.</p>
-<p>To create a transient mapping:</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p>
-</li>
-<li>
-<p>Right-click the field and then select <span class="bold">Map As Transient</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected.</p>
-</li>
-</ol>
-<p>Eclipse adds the following annotation to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@Transient
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks019.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks019.htm
deleted file mode 100644
index f9f3209..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks019.htm
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Version mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Version mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABHIBII" name="BABHIBII"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Version mapping</h1>
-<p><a id="sthref154" name="sthref154"></a><a id="sthref155" name="sthref155"></a><a id="sthref156" name="sthref156"></a><a id="sthref157" name="sthref157"></a>Use a <span class="bold">Version Mapping</span> to specify the field used for optimistic locking. If the entity is associated with multiple tables, you should use a version mapping only with the primary table. You should have only a single version mapping per persistent entity. Version mappings may be used only with the following attribute types:</p>
-<ul>
-<li>
-<p><code>int</code></p>
-</li>
-<li>
-<p><code>Integer</code></p>
-</li>
-<li>
-<p><code>short, Short</code></p>
-</li>
-<li>
-<p><code>long, Long</code></p>
-</li>
-<li>
-<p><code>Timestamp</code></p>
-</li>
-</ul>
-<p>To create a version mapping:</p>
-<ol>
-<li>
-<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p>
-</li>
-<li>
-<p>Right-click the field and then select <span class="bold">Map As &gt; Version</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected.</p>
-</li>
-<li>
-<p>Use this table to complete the remaining fields in the JPA Details view.</p>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="19%" />
-<col width="*" />
-<col width="38%" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t27">Property</th>
-<th align="left" valign="bottom" id="r1c2-t27">Description</th>
-<th align="left" valign="bottom" id="r1c3-t27">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t27" headers="r1c1-t27">Mapped Entity Hyperlink</td>
-<td align="left" headers="r2c1-t27 r1c2-t27">Defines the mapping as Version. This corresponds to the <code>@Version</code> annotation.</td>
-<td align="left" headers="r2c1-t27 r1c3-t27">Version</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t27" headers="r1c1-t27">Column</td>
-<td align="left" headers="r3c1-t27 r1c2-t27">The database column mapped to the entity attribute. See <a href="ref_mapping_general.htm#CACGCBHB">"Column"</a> for details.</td>
-<td align="left" headers="r3c1-t27 r1c3-t27">By default, the Column is assumed to be named identically to the attribute and always included in the <code>INSERT</code> and <code>UPDATE</code> statements.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t27" headers="r1c1-t27">Table</td>
-<td align="left" headers="r4c1-t27 r1c2-t27">Name of the database table. This must be the primary table associated with the attribute's entity.</td>
-<td align="left" headers="r4c1-t27 r1c3-t27"><br /></td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r5c1-t27" headers="r1c1-t27">Temporal</td>
-<td align="left" headers="r5c1-t27 r1c2-t27">Specifies the type of data. See <a href="ref_mapping_general.htm#CACEAJGD">"Temporal"</a> for details.
-<ul>
-<li>
-<p>Date</p>
-</li>
-<li>
-<p>Time</p>
-</li>
-<li>
-<p>Timestamp</p>
-</li>
-</ul>
-</td>
-<td align="left" headers="r5c1-t27 r1c3-t27"><br /></td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" --></li>
-</ol>
-<p>Eclipse adds the following annotations to the field:</p>
-<pre xml:space="preserve" class="oac_no_warn">
-@Version
-@Column(table="<span class="italic">&lt;COLUMN_TABLE&gt;</span>", name="&lt;<span class="italic">COLUMN_NAME</span>&gt;")
-
-</pre>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
-<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
-<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks020.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks020.htm
deleted file mode 100644
index c785cd4..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks020.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Element Collection mapping</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Element Collection mapping" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHBDEAJ" name="CIHBDEAJ"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Element Collection mapping</h1>
-</div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks021.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks021.htm
deleted file mode 100644
index 358ebb8..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks021.htm
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generating entities from tables</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generating entities from tables" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABBAGFI" name="BABBAGFI"></a></p>
-<div class="sect1">
-<h1>Generating entities from tables</h1>
-<p><a id="sthref158" name="sthref158"></a><a id="sthref159" name="sthref159"></a>Use this procedure to generate Java persistent entities from database tables. You must create a JPA project and establish a database connection <span class="italic">before</span> generating persistent entities. See <a href="task_create_new_project.htm#CIHHEJCJ">"Creating a new JPA project"</a> for more information.<a id="sthref160" name="sthref160"></a><a id="sthref161" name="sthref161"></a></p>
-<ol>
-<li>
-<p>Right-click the JPA project in the <span class="gui-object-title">Project Explorer</span> and select <span class="gui-object-action">JPA Tools &gt; Generate Entities from Tables</span>.</p>
-<div class="figure"><a id="sthref162" name="sthref162"></a>
-<p class="titleinfigure">Generating Entities</p>
-<img src="img/generate_entities.png" alt="Using the JPA Tools &gt; Generate Entities menu option." title="Using the JPA Tools &gt; Generate Entities menu option." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>On the <a href="ref_selectTables.htm#CIAHCGEE">Select Tables</a> page, select your database connection and schema.</p>
-<p>To create a new database connection, click <span class="bold">Add connection</span>.</p>
-<p>If you are not currently connected to the database, the Database Connection page appears. Select your database connection and schema, and click <span class="bold">Reconnect</span>.</p>
-<div class="figure"><a id="sthref163" name="sthref163"></a>
-<p class="titleinfigure">Select Tables</p>
-<img src="img/select_tables.png" alt="" title="" /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>After selecting a schema, select the tables from which to generate Java persistent entities and click <span class="bold">Next</span>.</p>
-</li>
-<li>
-<p>On the <a href="ref_tableAssociations.htm#CIACDICB">Table Associations</a> page, select the associations to generate. You can specify to generate specific references for each association.</p>
-<p>To create a new association, click <span class="bold">Add Association</span>. Use the <a href="ref_create_new_association_wizard.htm#CIAFGHIF">Create New Association</a> wizard to define the association.</p>
-<div class="figure"><a id="sthref164" name="sthref164"></a>
-<p class="titleinfigure">Table Associations</p>
-<img src="img/table_associations.png" alt="" title="" /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>After editing the table associations, click <span class="bold">Next</span>.</p>
-</li>
-<li>
-<p>On the <a href="ref_customizeDefaultEntityGeneration.htm#CIAEJDBE">Customize Default Entity Generation</a> page, customize the mapping and class information for each generated entity.</p>
-<div class="figure"><a id="sthref165" name="sthref165"></a>
-<p class="titleinfigure">Customize Default Entity Generation</p>
-<img src="img/customize_default_entity_generation.png" alt="" title="" /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>After customizing the mappings, click <span class="bold">Next</span>.</p>
-</li>
-<li>
-<p>On the <a href="ref_customizIndividualEntities.htm#CIACIGEE">Customize Individual Entities</a> page, review the mapping and class information for each entity that will be generated, then click <span class="bold">Finish</span>.</p>
-<div class="figure"><a id="sthref166" name="sthref166"></a>
-<p class="titleinfigure">Customize Individual Entities</p>
-<img src="img/customize_individual_entities.png" alt="" title="" /><br /></div>
-<!-- class="figure" --></li>
-</ol>
-<p>Eclipse creates a Java persistent entity for each database table. Each entity contains fields based on the table's columns. Eclipse will also generate entity relationships (such as one-to-one) based on the table constraints. <a href="#CIHJIJJC">Figure: Generating Entities from Tables</a> illustrates how Eclipse generates entities from tables.</p>
-<div class="figure"><a id="CIHJIJJC" name="CIHJIJJC"></a>
-<p class="titleinfigure">Generating Entities from Tables</p>
-<img src="img/table_entity.png" alt="This figure shows the EMPLOYEE and ADDRESS entities generated from database tables." title="This figure shows the EMPLOYEE and ADDRESS entities generated from database tables." /><br /></div>
-<!-- class="figure" -->
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<p><a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a></p>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_project_properties.htm#BABJHBCI">Project Properties page &ndash; Java Persistence Options</a></div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks022.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks022.htm
deleted file mode 100644
index 6341e89..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks022.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Generating tables from entities</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Generating tables from entities" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHJIGBE" name="CIHJIGBE"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Generating tables from entities</h1>
-<p>When using a vendor-specific platform, you can create a DDL script from your persistent entities.</p>
-<div align="center">
-<div class="inftblnote"><br />
-<table class="Note oac_no_warn" summary="" cellpadding="3" cellspacing="0">
-<tbody>
-<tr>
-<td align="left">
-<p class="notep1">Note:</p>
-The DDL script with DROP existing tables on the database and CREATE new tables, based on the entities in your project.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblnote" --></div>
-<p>To generate a DDL script:</p>
-<p>Right-click the JPA project in the <span class="gui-object-title">Project Explorer</span> and select <span class="gui-object-action">JPA Tools &gt; Generate Tables from Entities</span>.</p>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<p><a href="task_create_jpa_entity.htm#BABFBJBG">Creating a JPA Entity</a></p>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_project_properties.htm#BABJHBCI">Project Properties page &ndash; Java Persistence Options</a></div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks023.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks023.htm
deleted file mode 100644
index a1870e4..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks023.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Validating mappings and reporting problems</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Validating mappings and reporting problems" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABFAIBA" name="BABFAIBA"></a></p>
-<div class="sect1">
-<h1>Validating mappings and reporting problems</h1>
-<p><a id="sthref167" name="sthref167"></a><a id="sthref168" name="sthref168"></a><a id="sthref169" name="sthref169"></a><a id="sthref170" name="sthref170"></a>Errors and warnings on persistent entities and mappings are indicated with a red error or yellow warning next to the resource with the error, as well as the parent containers up to the project.</p>
-<div class="figure"><a id="sthref171" name="sthref171"></a>
-<p class="titleinfigure">Sample Errors and Warnings</p>
-<img src="img/error_sample.png" alt="This figure shows sample error and warning icons in the Explorer view." title="This figure shows sample error and warning icons in the Explorer view." /><br /></div>
-<!-- class="figure" -->
-<p>This section contains information on the following:</p>
-<ul>
-<li>
-<p><a href="tasks024.htm#CIHFEDEI">Error messages</a></p>
-</li>
-<li>
-<p><a href="tasks025.htm#CIHGEAIJ">Warning messages</a></p>
-</li>
-</ul>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<p><a href="../org.eclipse.platform.doc.user/concepts/cprbview.htm">Problems view</a></p>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" --></div>
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks024.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks024.htm
deleted file mode 100644
index b3fee1f..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks024.htm
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Error messages</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Error messages" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHFEDEI" name="CIHFEDEI"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Error messages<a id="sthref172" name="sthref172"></a></h1>
-<p>This section contains information on error messages (including how to resolve the issue) you may encounter while working with Dali.</p>
-<a id="sthref173" name="sthref173"></a>
-<p class="subhead2">Attribute "<span class="italic">&lt;ATTRIBUTE__NAME&gt;</span>" has invalid mapping type in this context</p>
-<p>The mapped attribute is invalid. Either change the mapping type or change the entity type.</p>
-<p>See <a href="task_mapping.htm#BABDGBIJ">"Mapping an entity"</a> for more information.</p>
-<a id="sthref174" name="sthref174"></a>
-<p class="subhead2">Attribute "<span class="italic">&lt;ATTRIBUTE_NAME&gt;</span>" cannot be resolved.</p>
-<p>Dali cannot map the attribute to a database table and column. Verify that you database connection information is correct.</p>
-<p>See <a href="task_create_new_project.htm#CIHHEJCJ">"Creating a new JPA project"</a> for more information.</p>
-<a id="sthref175" name="sthref175"></a>
-<p class="subhead2">Class "<span class="italic">&lt;CLASS_NAME&gt;</span>" is not annotated as a persistent class.</p>
-<p>The class has not been identified as a persistent class. Configure the class as an Entity, Mapped Superclass, or Embeddable persistent entity.</p>
-<p>See <a href="task_add_persistence.htm#BABHICAI">"Adding persistence to a class"</a>.</p>
-<a id="sthref176" name="sthref176"></a>
-<p class="subhead2">Column "<span class="italic">&lt;COLUMN_NAME&gt;</span>" cannot be resolved.</p>
-<p>You mapped an entity's field to an incorrect or invalid column in the database table. By default, Dali will attempt to map each field in the entity with an identically named row in the database table. If the field's name differs from the row's name, you must explicitly create the mapping.</p>
-<p>Map the field to a valid row in the database table as shown in <a href="task_mapping.htm#BABDGBIJ">"Mapping an entity"</a>.</p>
-<a id="sthref177" name="sthref177"></a>
-<p class="subhead2">Duplicate class "<span class="italic">&lt;CLASS_NAME&gt;</span>".</p>
-<p>You created to persistence classes with the same name. Each Java class must have a unique name. See <a href="task_add_persistence.htm#BABHICAI">"Adding persistence to a class"</a> for more information.</p>
-<a id="sthref178" name="sthref178"></a>
-<p class="subhead2">Entity does not have an Id or Embedded Id.</p>
-<p>You created a persistent entity without identifying its primary key. A persistent entity must have a primary key field designated with an <code>@Id</code> or <code>@EmbeddedId</code> annotation.</p>
-<p>Add an ID mapping to the entity as shown in <a href="tasks013.htm#BABGCBHG">"ID mapping"</a> or <a href="tasks012.htm#CIHDIAEE">"Embedded ID mapping"</a>.</p>
-<a id="sthref179" name="sthref179"></a>
-<p class="subhead2">Multiple persistence.xml files in project.</p>
-<p>You created a JPA project with more than one <code>persistence.xml</code> file. Each JPA project must contain a <span class="italic">single</span> <code>persistence.xml</code> file.</p>
-<p>See <a href="task_manage_persistence.htm#CIHDAJID">"Managing the persistence.xml file"</a> for more information.</p>
-<a id="sthref180" name="sthref180"></a>
-<p class="subhead2">No persistence unit defined.</p>
-<p>There is no persistence unit defined in the <code>persistence.xml</code> file. Use the &lt;persistence-unit name="<span class="italic">&lt;PERSISTENCE_UNIT_NAME&gt;</span>" tag to define the persistent unit.</p>
-<p>See <a href="task_manage_orm.htm#CIHDGDCD">"Managing the orm.xml file"</a> for more information.</p>
-<a id="sthref181" name="sthref181"></a>
-<p class="subhead2">No persistence.xml file in project.</p>
-<p>You created a JPA project without a <code>persistence.xml</code> file. Each JPA project must contain a <span class="italic">single</span> <code>persistence.xml</code> file.</p>
-<p>See <a href="task_manage_persistence.htm#CIHDAJID">"Managing the persistence.xml file"</a> for more information.</p>
-<a id="sthref182" name="sthref182"></a>
-<p class="subhead2">Referenced column "<span class="italic">&lt;COLUMN_NAME&gt;</span>" in join column "<span class="italic">&lt;COLUMN_NAME&gt;</span>" cannot be resolved.</p>
-<p>The column that you selected to join a relationship mapping does not exist on the database table. Either select a different column on the <a href="reference011.htm#CACBAEBC">Join Table Information</a> or create the necessary column on the database table.</p>
-<p>See <a href="ref_persistence_map_view.htm#BABIFBAF">"JPA Details view (for attributes)"</a> for more information.</p>
-<a id="sthref183" name="sthref183"></a>
-<p class="subhead2">Schema "&lt;<span class="italic">SCHEMA_NAME</span>&gt;" cannot be resolved for table/join table "&lt;<span class="italic">TABLE_NAME</span>&gt;".</p>
-<p>Define the default database schema information in the persistence unit.</p>
-<p>See <a href="task_manage_orm.htm#CIHDGDCD">"Managing the orm.xml file"</a> for more information.</p>
-<a id="sthref184" name="sthref184"></a>
-<p class="subhead2">Table "<span class="italic">&lt;TABLE_NAME&gt;</span>" cannot be resolved.</p>
-<p>You associated a persistent entity to an incorrect or invalid database table. By default, Dali will attempt to associate each persistent entity with an identically named database table. If the entity's name differs from the table's name, you must explicitly create the association.</p>
-<p>Associate the entity with a valid database table as shown in <a href="task_add_persistence.htm#BABHICAI">"Adding persistence to a class"</a>.</p>
-<a id="sthref185" name="sthref185"></a>
-<p class="subhead2">Unresolved generator "<span class="italic">&lt;GENERATOR_NAME&gt;</span>" is defined in persistence unit.</p>
-<p>You created a persistence entity that uses sequencing or a table generator, but did not define the generator in the persistence unit. Either define the generator by using an annotation or including it in the XML mapping file.</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<p><a href="../org.eclipse.platform.doc.user/concepts/cprbview.htm">Problems view</a></p>
-</div>
-<!-- class="sect2" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks025.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks025.htm
deleted file mode 100644
index f6bbacb..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks025.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Warning messages</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Warning messages" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CIHGEAIJ" name="CIHGEAIJ"></a></p>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Warning messages</h1>
-<p>This section contains information on warning messages (including how to resolve the issue) you may encounter while working with Dali.</p>
-<a id="sthref186" name="sthref186"></a>
-<p class="subhead2">Connection "<span class="italic">&lt;CONNECTION_NAME&gt;</span>" is not active. No validation will be done against the data source.</p>
-<p>The database connection you specified to use with the JPA project is not active. The JPA project requires an active connection.</p>
-<a id="sthref187" name="sthref187"></a>
-<p class="subhead2">No connection specified for the project. No data-specific validation will be performed.</p>
-<p>You created a JPA project without specifying a database connection. The JPA project requires an active connection.</p>
-<p>See <a href="task_create_new_project.htm#CIHHEJCJ">"Creating a new JPA project"</a> or <a href="tasks026.htm#BABDBCBI">"Modifying persistent project properties"</a> for information on specifying a database connection.</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<p><a href="../org.eclipse.platform.doc.user/concepts/cprbview.htm">Problems view</a></p>
-</div>
-<!-- class="sect2" -->
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks026.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks026.htm
deleted file mode 100644
index 295a03a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks026.htm
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Modifying persistent project properties</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:45Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Modifying persistent project properties" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="BABDBCBI" name="BABDBCBI"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Modifying persistent project properties</h1>
-<p>Each persistent project must be associated with a database connection. To create a new database connection, click <span class="gui-object-action">Database Connection</span> use the New Connection wizard.</p>
-<p>Use this procedure to modify the vender-specific platform and database connection associated with your JPA project.</p>
-<ol>
-<li>
-<p>Right-click the project in the <span class="gui-object-title">Explorer</span> view and select <span class="gui-object-action">Properties</span>. The Properties page appears.</p>
-<div class="figure"><a id="sthref188" name="sthref188"></a>
-<p class="titleinfigure">The Properties Page</p>
-<img src="img/project_properties_tasks.png" alt="The Persistence page." title="The Persistence page." /><br /></div>
-<!-- class="figure" --></li>
-<li>
-<p>Complete each field on the <a href="ref_project_properties.htm#BABJHBCI">Project Properties page &ndash; Java Persistence Options</a> click <span class="bold">OK</span>.</p>
-</li>
-</ol>
-<p>&nbsp;</p>
-<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
-<br />
-<a href="task_create_new_project.htm#CIHHEJCJ">Creating a new JPA project</a>
-<p>&nbsp;</p>
-<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
-<br />
-<a href="ref_project_properties.htm#BABJHBCI">Project Properties page &ndash; Java Persistence Options</a>
-<p>&nbsp;</p>
-<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
-<br />
-<a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a></div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tips_and_tricks.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tips_and_tricks.htm
deleted file mode 100644
index a47917f..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/tips_and_tricks.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Tips and tricks</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content=" Tips and tricks" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CHDHGHBF" name="CHDHGHBF"></a></p>
-<h1>Tips and tricks</h1>
-<p>The following tips and tricks give some helpful ideas for increasing your productivity.</p>
-<ul>
-<li>
-<p><a href="#BABFIIHA"><span class="bold">Database Connections</span></a></p>
-</li>
-<li>
-<p><a href="#BABCHAHF"><span class="bold">Schema-based persistence.xml</span></a></p>
-</li>
-</ul>
-<div class="inftblruleinformal">
-<table class="RuleInformal" title="This table lists the tips and tricks in this category." summary="This table lists the tips and tricks in this category." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="27%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t2">Tip</th>
-<th align="left" valign="bottom" id="r1c2-t2">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t2" headers="r1c1-t2"><a id="BABFIIHA" name="BABFIIHA"></a><span class="bold">Database Connections</span></td>
-<td align="left" headers="r2c1-t2 r1c2-t2">When starting a new workbench session, be sure to <a href="../org.eclipse.datatools.connectivity.doc.user/doc/html/asc1229700343352.html">reconnect to your database</a> (if you are working online). This allows Dali to provide database-related mapping assistance and validation.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t2" headers="r1c1-t2"><a id="BABCHAHF" name="BABCHAHF"></a><span class="bold">Schema-based persistence.xml</span></td>
-<td align="left" headers="r3c1-t2 r1c2-t2">If you are behind a firewall, you may need to configure your Eclipse workspace proxy in the <a href="../org.eclipse.platform.doc.user/reference/ref-72.htm">Preferences dialog</a> (<span class="gui-object-action">Preferences &gt; Internet &gt; Proxy Settings</span>) to properly validate a schema-based <code>persistence.xml</code> file.</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-<!-- class="inftblruleinformal" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/toc.xml b/jpa/plugins/org.eclipse.jpt.doc.user/toc.xml
deleted file mode 100644
index 976debe..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/toc.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version='1.0' encoding='iso-8859-1'?>
-<!-- User Guide -->
-  <toc label="Dali Java Persistence Tools User Guide">
-    <topic href="getting_started.htm" label="Getting started">
-      <topic href="getting_started001.htm#BABEFHCD" label="Requirements and installation" />
-      <topic href="getting_started002.htm#BABIGCJA" label="Dali quick start">
-        <topic href="getting_started003.htm#BABDFHDA" label="Creating a new JPA project" />
-        <topic href="getting_started004.htm#BABFGDDG" label="Creating a Java persistent entity with persistent fields" />
-      </topic>
-    </topic>
-    <topic href="concepts.htm" label=" Concepts">
-      <topic href="concept_persistence.htm#BABCAHIC" label="Understanding Java persistence" />
-      <topic href="concept_mapping.htm#BABBDJFI" label="Understanding OR mappings" />
-      <topic href="concepts001.htm#BABBGFJG" label="Understanding EJB 3.0 Java Persistence API">
-        <topic href="concepts002.htm#CHDHAGIH" label="The persistence.xml file" />
-        <topic href="concepts003.htm#CHDBIJAC" label="The orm.xml file" />
-      </topic>
-    </topic>
-    <topic href="tasks.htm" label=" Tasks">
-      <topic href="task_create_new_project.htm#CIHHEJCJ" label="Creating a new JPA project" />
-      <topic href="tasks001.htm#BEIBADHH" label="Converting a Java Project to a JPA Project" />
-      <topic href="task_create_jpa_entity.htm#BABFBJBG" label="Creating a JPA Entity" />
-      <topic href="task_manage_persistence.htm#CIHDAJID" label="Managing the persistence.xml file">
-        <topic href="tasks002.htm#CIHFEBAI" label="Synchronizing classes" />
-        <topic href="tasks003.htm#sthref56" label="Upgrading document version" />
-      </topic>
-      <topic href="task_manage_orm.htm#CIHDGDCD" label="Managing the orm.xml file">
-        <topic href="tasks004.htm#sthref60" label="Creating an orm.xml file" />
-        <topic href="tasks005.htm#CIHBCDCE" label="Working with orm.xml file" />
-      </topic>
-      <topic href="task_add_persistence.htm#BABHICAI" label="Adding persistence to a class">
-        <topic href="tasks006.htm#BABGBIEE" label="Entity" />
-        <topic href="tasks007.htm#BABFEICE" label="Embeddable" />
-        <topic href="tasks008.htm#BABDAGCI" label="Mapped superclass" />
-      </topic>
-      <topic href="task_additonal_tables.htm#CIHGBIEI" label="Specifying additional tables" />
-      <topic href="task_inheritance.htm#CIHCCCJD" label="Specifying entity inheritance" />
-      <topic href="tasks009.htm#BABIGBGG" label="Creating Named Queries" />
-      <topic href="task_mapping.htm#BABDGBIJ" label="Mapping an entity">
-        <topic href="tasks010.htm#BABBABCE" label="Basic mapping" />
-        <topic href="tasks011.htm#BABCBHDF" label="Embedded mapping" />
-        <topic href="tasks012.htm#CIHDIAEE" label="Embedded ID mapping" />
-        <topic href="tasks013.htm#BABGCBHG" label="ID mapping" />
-        <topic href="tasks014.htm#BABEIEGD" label="Many-to-many mapping" />
-        <topic href="tasks015.htm#BABHFAFJ" label="Many-to-one mapping" />
-        <topic href="tasks016.htm#BABHGEBD" label="One-to-many mapping" />
-        <topic href="tasks017.htm#BABFHBCJ" label="One-to-one mapping" />
-        <topic href="tasks018.htm#BABHFHEI" label="Transient mapping" />
-        <topic href="tasks019.htm#BABHIBII" label="Version mapping" />
-        <topic href="tasks020.htm#CIHBDEAJ" label="Element Collection mapping" />
-      </topic>
-      <topic href="tasks021.htm#BABBAGFI" label="Generating entities from tables" />
-      <topic href="tasks022.htm#CIHJIGBE" label="Generating tables from entities" />
-      <topic href="tasks023.htm#BABFAIBA" label="Validating mappings and reporting problems">
-        <topic href="tasks024.htm#CIHFEDEI" label="Error messages" />
-        <topic href="tasks025.htm#CIHGEAIJ" label="Warning messages" />
-      </topic>
-      <topic href="tasks026.htm#BABDBCBI" label="Modifying persistent project properties" />
-      <topic href="task_generating_schema_from_classes.htm#CIHHBJCJ" label="Generating Schema from Classes" />
-      <topic href="task_generate_classes_from_schema.htm#CIHCBHJD" label="Generating JAXB Classes from a Schema" />
-    </topic>
-    <topic label=" Reference">
-      <topic label="Wizards">
-        <topic href="ref_new_jpa_project_wizard.htm#CACBJGBG" label="Create New JPA Project wizard">
-          <topic href="ref_new_jpa_project.htm#CACBJAGC" label="New JPA Project page" />
-          <topic href="ref_java_page.htm#CIAGEBAA" label="Java Page" />
-          <topic href="ref_jpa_facet.htm#CACIFDIF" label="JPA Facet page" />
-        </topic>
-        <topic href="ref_create_jpa_entity_wizard.htm#CIAGGGDF" label="Create JPA Entity wizard">
-          <topic href="ref_EntityClassPage.htm#CIAFEIGF" label="Entity Class page" />
-          <topic href="ref_EntityPropertiesPage.htm#CIADECIA" label="Entity Properties page" />
-        </topic>
-        <topic href="reference002.htm#CIAIJCCE" label="Mapping File Wizard">
-          <topic href="reference003.htm#CIAJEIDJ" label="Mapping File" />
-        </topic>
-        <topic href="reference004.htm#CIAGHCGA" label="Generate Tables from Entities Wizard" />
-        <topic href="ref_create_custom_entities_wizard.htm#CIAGBFJE" label="Generate Entities from Tables Wizard">
-          <topic href="ref_selectTables.htm#CIAHCGEE" label="Select Tables" />
-          <topic href="ref_tableAssociations.htm#CIACDICB" label="Table Associations" />
-          <topic href="ref_customizeDefaultEntityGeneration.htm#CIAEJDBE" label="Customize Default Entity Generation" />
-          <topic href="ref_customizIndividualEntities.htm#CIACIGEE" label="Customize Individual Entities" />
-        </topic>
-        <topic href="ref_create_new_association_wizard.htm#CIAFGHIF" label="Create New Association">
-          <topic href="ref_association_table.htm#CIAGJHDC" label="Association Tables" />
-          <topic href="ref_join_columns.htm#CIAEGEEG" label="Join Columns" />
-          <topic href="ref_association_cardinality.htm#CIAFIIFH" label="Association Cardinality" />
-        </topic>
-        <topic href="ref_jaxb_schema_wizard.htm#CACGADFH" label="Generate Schema from JAXB Classes Wizard">
-          <topic href="ref_schema_from_classes_page.htm#CACHBEGJ" label="Generate Schema from Classes" />
-        </topic>
-      </topic>
-      <topic label="Property pages">
-        <topic href="ref_persistence_prop_view.htm#BABFAEBB" label="JPA Details view (for entities)">
-          <topic href="reference006.htm#CACCAGGC" label="General information" />
-          <topic href="reference007.htm#CACIJBGH" label="Attribute overrides" />
-          <topic href="reference008.htm#CACBHIDA" label="Secondary table information" />
-          <topic href="reference009.htm#CACFHGHE" label="Inheritance information" />
-          <topic href="reference010.htm#sthref241" label="Queries" />
-        </topic>
-        <topic href="ref_persistence_map_view.htm#BABIFBAF" label="JPA Details view (for attributes)">
-          <topic href="ref_mapping_general.htm#CACBHFIJ" label="General information" />
-          <topic href="reference011.htm#CACBAEBC" label="Join Table Information" />
-          <topic href="reference012.htm#CACFCEJC" label="Join Columns Information" />
-          <topic href="ref_primary_key.htm#CACFCCAB" label="Primary Key Generation information" />
-        </topic>
-        <topic href="ref_details_orm.htm#CACGDGHC" label="JPA Details view (for orm.xml)">
-          <topic href="reference013.htm#CACCACGH" label="General information" />
-          <topic href="reference014.htm#CACEAGBG" label="Persistence Unit information" />
-          <topic href="reference015.htm#CIAFGAIJ" label="Generators" />
-          <topic href="reference016.htm#CIAIBAAJ" label="Queries" />
-          <topic href="reference017.htm#CIADGCID" label="Converters" />
-        </topic>
-        <topic href="ref_persistence_outline.htm#BABEGGFE" label="JPA Structure view" />
-        <topic href="ref_persistence_xmll_editor.htm#CIACCHID" label="persistence.xml Editor">
-          <topic href="ref_persistence_general.htm#CIACIFGJ" label="General" />
-          <topic href="reference018.htm#CIAFFJIE" label="Connection" />
-          <topic href="reference019.htm#CIAJAFEG" label="Customization" />
-          <topic href="reference020.htm#CIABEDCH" label="Caching" />
-          <topic href="reference021.htm#CIABGHHI" label="Logging" />
-          <topic href="reference022.htm#CIAFJCHE" label="Options" />
-          <topic href="reference023.htm#CIACCFCB" label="Schema Generation" />
-          <topic href="reference024.htm#CIAHJDFF" label="Properties" />
-          <topic href="reference025.htm#CIAHCJAH" label="Source" />
-        </topic>
-      </topic>
-      <topic label="Preferences">
-        <topic href="ref_project_properties.htm#BABJHBCI" label="Project Properties page - Java Persistence Options" />
-        <topic href="reference027.htm#CACFBAEH" label="Project Properties page - Validation Preferences" />
-      </topic>
-      <topic label="Dialogs">
-        <topic href="reference029.htm#CACCGEHC" label="Edit Join Columns Dialog" />
-        <topic href="ref_select_cascade_dialog.htm#CIAFDGIJ" label="Select Cascade dialog" />
-        <topic href="ref_eclipselink_mapping_file.htm#CIAEDEJF" label="New EclipseLink Mapping File dialog" />
-        <topic href="ref_add_converter.htm#CIAGCGIJ" label="Add Converter dialog" />
-        <topic href="ref_configure_jaxb_class_generation_dialog.htm#CACHHHJA" label="Configure JAXB Class Generation dialog" />
-      </topic>
-      <topic href="ref_persistence_perspective.htm#BABIFBDB" label="JPA Development perspective" />
-      <topic label="Icons and buttons">
-        <topic href="reference031.htm#CACGEACG" label="Icons" />
-        <topic href="reference032.htm#CACDJCEI" label="Buttons" />
-      </topic>
-      <topic href="reference033.htm#CACBBDIB" label="Dali Developer Documentation" />
-    </topic>
-    <topic href="tips_and_tricks.htm" label="Tips and tricks">
-      <topic href="whats_new001.htm#sthref306" label="Improved Internationalization and Localization" />
-      <topic href="whats_new002.htm#CJACEDDE" label="Multiple Improvements to the Dali Perspective" />
-      <topic href="whats_new003.htm#CJADIFHJ" label="Support for JPA 2.0 and EclipseLink" />
-      <topic href="whats_new004.htm#CJABIJEC" label="Conversion of Java Projects to JPA Projects" />
-      <topic href="whats_new005.htm#CJACJBDA" label="EclipseLink 2.x Support" />
-      <topic href="whats_new006.htm#sthref307" label="Table-per-Concrete-Class Inheritance" />
-    </topic>
-    <topic href="legal.htm" label=" Legal">
-      <topic href="about.htm#sthref309" label="About this content" />
-    </topic>
-</toc>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new.htm b/jpa/plugins/org.eclipse.jpt.doc.user/whats_new.htm
deleted file mode 100644
index 95294a3..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>What's new</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content=" What's new" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="sthref291" name="sthref291"></a> What's new</p>
-<p>This section contains descriptions of the following new features and significant changes made to the Dali OR Mapping Tool for Release 2.3:</p>
-<ul>
-<li>
-<p><a href="whats_new002.htm#CJACEDDE">Multiple Improvements to the Dali Perspective</a></p>
-</li>
-<li>
-<p><a href="whats_new003.htm#CJADIFHJ">Support for JPA 2.0 and EclipseLink</a></p>
-</li>
-<li>
-<p><a href="whats_new004.htm#CJABIJEC">Conversion of Java Projects to JPA Projects</a></p>
-</li>
-<li>
-<p><a href="whats_new005.htm#CJACJBDA">EclipseLink 2.x Support</a></p>
-</li>
-</ul>
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new001.htm b/jpa/plugins/org.eclipse.jpt.doc.user/whats_new001.htm
deleted file mode 100644
index 70ca442..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new001.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Improved Internationalization and Localization</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Improved Internationalization and Localization" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<div class="sect1"><!-- infolevel="all" infotype="General" --><a id="sthref292" name="sthref292"></a>
-<h1>Improved Internationalization and Localization</h1>
-<p>This release of the Dali OR Mapping Tool provides improved internationalization (i18n) and localization support. Dali projects can support different locales and processing of international data (such as dates and strings).</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new002.htm b/jpa/plugins/org.eclipse.jpt.doc.user/whats_new002.htm
deleted file mode 100644
index 46b15e5..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new002.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Multiple Improvements to the Dali Perspective</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Multiple Improvements to the Dali Perspective" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CJACEDDE" name="CJACEDDE"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Multiple Improvements to the Dali Perspective</h1>
-<p>There have been multiple improvements to the Dali perspectives to improve its ease-of-use:</p>
-<ul>
-<li>
-<p>The <a href="ref_create_jpa_entity_wizard.htm#CIAGGGDF">Create JPA Entity wizard</a> now accepts short names as attribute types.</p>
-</li>
-<li>
-<p>Dali will perform validation after refreshing database information.</p>
-</li>
-<li>
-<p>Dali allows project-level customization for validation (error and warning reports)</p>
-</li>
-</ul>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new003.htm b/jpa/plugins/org.eclipse.jpt.doc.user/whats_new003.htm
deleted file mode 100644
index 5061cc4..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new003.htm
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Support for JPA 2.0 and EclipseLink</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Support for JPA 2.0 and EclipseLink" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CJADIFHJ" name="CJADIFHJ"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Support for JPA 2.0 and EclipseLink</h1>
-<p>This release of the Dali OR Mapping Tool supports generic JPA 2.0 as well as specific items for EclispeLink 1.2.</p>
-<ul>
-<li>
-<p>Derived IDs</p>
-</li>
-<li>
-<p>Caching (Shared Cache and Cachable)</p>
-</li>
-<li>
-<p>Canonical metamodel generation</p>
-</li>
-<li>
-<p>Order Column configuration</p>
-</li>
-<li>
-<p>ElementCollection mapping type</p>
-</li>
-<li>
-<p>Cascade detach</p>
-</li>
-<li>
-<p>Dali will upgrade your <code>persistence.xml</code> from JPA 1.0 to 2.0.</p>
-</li>
-</ul>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new004.htm b/jpa/plugins/org.eclipse.jpt.doc.user/whats_new004.htm
deleted file mode 100644
index 7ad545b..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new004.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Conversion of Java Projects to JPA Projects</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Conversion of Java Projects to JPA Projects" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CJABIJEC" name="CJABIJEC"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>Conversion of Java Projects to JPA Projects</h1>
-<p>The Dali OR Mapping Tool now uses the Eclipse <span class="bold">Configure</span> menu to convert existing Java projects to JPA projects.</p>
-<p>See <a href="tasks001.htm#BEIBADHH">"Converting a Java Project to a JPA Project"</a> for more information.</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new005.htm b/jpa/plugins/org.eclipse.jpt.doc.user/whats_new005.htm
deleted file mode 100644
index 431f998..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new005.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>EclipseLink 2.x Support</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="EclipseLink 2.x Support" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<p><a id="CJACJBDA" name="CJACJBDA"></a></p>
-<div class="sect1"><!-- infolevel="all" infotype="General" -->
-<h1>EclipseLink 2.x Support</h1>
-<p>Release 2.3 provides support for EclipseLink 2.x features.</p>
-<p>EclipseLink (the Eclipse Persistence Services Project) is a complete persistence frame work. Refer to <code><a href="http://www.eclipse.org/eclipselink/">http://www.eclipse.org/eclipselink/</a></code> for more information.</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new006.htm b/jpa/plugins/org.eclipse.jpt.doc.user/whats_new006.htm
deleted file mode 100644
index 712867a..0000000
--- a/jpa/plugins/org.eclipse.jpt.doc.user/whats_new006.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Table-per-Concrete-Class Inheritance</title>
-<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1" />
-<meta name="date" content="2010-05-19T8:12:49Z" />
-<meta name="robots" content="noarchive" />
-<meta name="doctitle" content="Table-per-Concrete-Class Inheritance" />
-<meta name="relnum" content="Release 2.3" />
-<meta name="copyright" content="Copyright (c) 2000, 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: Oracle - initial API and implementation" />
-<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
-<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
-<!-- contents -->
-</head>
-<body>
-<div class="sect1"><!-- infolevel="all" infotype="General" --><a id="sthref293" name="sthref293"></a>
-<h1>Table-per-Concrete-Class Inheritance</h1>
-<p>The Dali OR Mapping Tool now supports the JPA 1.0-optional table-per-concrete-class inheritance option. This functionality may be required in JPA 2.0.</p>
-</div>
-<!-- class="sect1" -->
-<!-- Start Footer -->
-<div class="footer">
-<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
-<col width="86%" />
-<col width="*" />
-<tr>
-<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2010,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
-<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
-</tr>
-</table>
-</div>
-<!-- class="footer" -->
-</body>
-</html>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.branding/.project b/jpa/plugins/org.eclipse.jpt.eclipselink.branding/.project
deleted file mode 100644
index 56cc5af..0000000
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.branding/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.eclipselink.branding</name>
-	<comment>renamed to org.eclipse.jpt.jpa.eclipselink.branding</comment>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core.ddlgen/.project b/jpa/plugins/org.eclipse.jpt.eclipselink.core.ddlgen/.project
deleted file mode 100644
index 1d5359a..0000000
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core.ddlgen/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.eclipselink.core.ddlgen</name>
-	<comment>renamed to org.eclipse.jpt.jpa.eclipselink.core.ddlgen</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/.project b/jpa/plugins/org.eclipse.jpt.eclipselink.core/.project
deleted file mode 100644
index bd14595..0000000
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.eclipselink.core</name>
-	<comment>renamed to org.eclipse.jpt.jpa.eclipselink.core</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.jaxb.core.schemagen/.project b/jpa/plugins/org.eclipse.jpt.eclipselink.jaxb.core.schemagen/.project
deleted file mode 100644
index 868e21b..0000000
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.jaxb.core.schemagen/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.eclipselink.jaxb.core.schemagen</name>
-	<comment>renamed to org.eclipse.jpt.jaxb.eclipselink.core.schemagen and moved to jaxb component</comment>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/.project b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/.project
deleted file mode 100644
index 7a65876..0000000
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.eclipselink.ui</name>
-	<comment>renamed to org.eclipse.jpt.jpa.eclipselink.ui</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.gen/.project b/jpa/plugins/org.eclipse.jpt.gen/.project
deleted file mode 100644
index 688225a..0000000
--- a/jpa/plugins/org.eclipse.jpt.gen/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.gen</name>
-	<comment>renamed to org.eclipse.jpt.jpa.gen</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jaxb.core.schemagen/.project b/jpa/plugins/org.eclipse.jpt.jaxb.core.schemagen/.project
deleted file mode 100644
index 3d552f8..0000000
--- a/jpa/plugins/org.eclipse.jpt.jaxb.core.schemagen/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.core.schemagen</name>
-	<comment>moved to jaxb component</comment>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.jaxb.ui/.project b/jpa/plugins/org.eclipse.jpt.jaxb.ui/.project
deleted file mode 100644
index 8dc3015..0000000
--- a/jpa/plugins/org.eclipse.jpt.jaxb.ui/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jaxb.ui</name>
-	<comment>moved to jaxb component</comment>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/.cvsignore b/jpa/plugins/org.eclipse.jpt.jpa.branding/.cvsignore
deleted file mode 100644
index c9401a2..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.jpt_1.0.0.*
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/.project b/jpa/plugins/org.eclipse.jpt.jpa.branding/.project
deleted file mode 100644
index fe9634f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/.settings/org.eclipse.core.resources.prefs b/jpa/plugins/org.eclipse.jpt.jpa.branding/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 4aec29d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:10:09 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.jpa.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index 7790b50..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.branding;singleton:=true
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/about.html b/jpa/plugins/org.eclipse.jpt.jpa.branding/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/about.ini b/jpa/plugins/org.eclipse.jpt.jpa.branding/about.ini
deleted file mode 100644
index 7d88b9d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/about.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/about.mappings b/jpa/plugins/org.eclipse.jpt.jpa.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/about.properties b/jpa/plugins/org.eclipse.jpt.jpa.branding/about.properties
deleted file mode 100644
index e4f170f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - JPA Support\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Oracle contributors and others 2006, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/build.properties b/jpa/plugins/org.eclipse.jpt.jpa.branding/build.properties
deleted file mode 100644
index 4e089bb..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties,\
-               component.xml
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/component.xml b/jpa/plugins/org.eclipse.jpt.jpa.branding/component.xml
deleted file mode 100644
index 6e51135..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/component.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpa.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.jpa.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.utility" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.ui" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpa.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpa.db" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpa.db.ui" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpa.gen" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpa.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/icons/WTP_icon_x32_v2.png b/jpa/plugins/org.eclipse.jpt.jpa.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.branding/plugin.properties b/jpa/plugins/org.eclipse.jpt.jpa.branding/plugin.properties
deleted file mode 100644
index 4812667..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.branding/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - JPA Support
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.classpath b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.cvsignore b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.project b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.project
deleted file mode 100644
index af3dab3..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.db.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.settings/org.eclipse.jdt.core.prefs b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b6cef90..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:08:55 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index b3885ff..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.db.ui
-Bundle-Version: 2.0.0.qualifier
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.jpa.db;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.datatools.connectivity.ui;bundle-version="[1.1.0,2.0.0)",
- org.eclipse.datatools.sqltools.editor.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.datatools.connectivity.db.generic.ui;bundle-version="[1.0.1,2.0.0)"
-Export-Package: org.eclipse.jpt.jpa.db.ui.internal;x-friends:="org.eclipse.jpt.jpa.ui"
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/about.html b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/build.properties b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/build.properties
deleted file mode 100644
index 41837eb..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2007 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/component.xml b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/component.xml
deleted file mode 100644
index db3c94b..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/component.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Copyright (c) 2007, 2010 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:
-    Oracle - initial API and implementation
- -->
-
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpa.db.ui"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jpt.jpa.db.ui" fragment="false"/></component>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/plugin.properties b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/plugin.properties
deleted file mode 100644
index 951e96d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - JPA DB UI
-providerName = Eclipse Web Tools Platform
-
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/src/org/eclipse/jpt/jpa/db/ui/internal/DTPUiTools.java b/jpa/plugins/org.eclipse.jpt.jpa.db.ui/src/org/eclipse/jpt/jpa/db/ui/internal/DTPUiTools.java
deleted file mode 100644
index 11873fb..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db.ui/src/org/eclipse/jpt/jpa/db/ui/internal/DTPUiTools.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2009 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.jpa.db.ui.internal;
-
-import org.eclipse.datatools.connectivity.IConnectionProfile;
-import org.eclipse.datatools.connectivity.IProfileListener;
-import org.eclipse.datatools.connectivity.ProfileManager;
-import org.eclipse.datatools.connectivity.db.generic.ui.wizard.NewJDBCFilteredCPWizard;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * DTP UI tools
- */
-public class DTPUiTools {
-
-	/**
-	 * Launch the DTP New Connection Profile wizard to create a new database connection profile.
-	 * 
-	 * Returns the name of the added profile, or null if the wizard was cancelled.
-	 * The name can be used to build a Dali connection profile from
-	 * JptJpaDbPlugin.getConnectionProfileFactory().buildConnectionProfile(String).
-	 */
-	public static String createNewConnectionProfile() {
-		// Filter datasource category
-		NewJDBCFilteredCPWizard  wizard = new NewJDBCFilteredCPWizard();
-		WizardDialog wizardDialog = new WizardDialog(Display.getCurrent().getActiveShell(), wizard);
-		wizardDialog.setBlockOnOpen(true);
-
-		LocalProfileListener listener = new LocalProfileListener();
-		ProfileManager.getInstance().addProfileListener(listener);
-
-		String newCPName = null;
-		if (wizardDialog.open() == Window.OK) {
-			// assume the last added profile is the one we want
-			newCPName = listener.addedProfile.getName();
-		}
-		ProfileManager.getInstance().removeProfileListener(listener);
-
-		return newCPName;
-	}
-
-
-	// ********** DTP profile listener **********
-
-	/**
-	 * This listener simply holds on to the most recently added connection
-	 * profile.
-	 */
-	static class LocalProfileListener implements IProfileListener {
-		IConnectionProfile addedProfile;
-		
-		public void profileAdded(IConnectionProfile profile) {
-			this.addedProfile = profile;
-		}
-	
-		public void profileChanged(IConnectionProfile profile) {
-			// do nothing
-		}
-	
-		public void profileDeleted(IConnectionProfile profile) {
-			// do nothing
-		}
-	}
-
-
-//	// ********** viewer filter **********
-//
-//	static class LocalViewerFilter extends ViewerFilter {
-//
-//		private static final String DATABASE_CATEGORY_ID = "org.eclipse.datatools.connectivity.db.category"; //$NON-NLS-1$
-//
-//		LocalViewerFilter() {
-//			super();
-//		}
-//
-//		@Override
-//		public boolean select(Viewer viewer, Object parentElement, Object element) {
-//			CPWizardNode wizardNode = (CPWizardNode) element;
-//			IProfileWizardProvider wizardProvider = wizardNode.getProvider();
-//			if (wizardProvider instanceof IWizardCategoryProvider) {
-//				return false;
-//			}
-//			ICategory category = ConnectionProfileManager.getInstance().getProvider(
-//							((ProfileWizardProvider) wizardProvider).getProfile()).getCategory();
-//			
-//			// Only display wizards belong to database category
-//			while (category != null) {
-//				if (category.getId().equals(DATABASE_CATEGORY_ID)) {
-//					return true;
-//				}
-//				category = category.getParent();
-//			}
-//			return false;
-//		}
-//	}
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/.classpath b/jpa/plugins/org.eclipse.jpt.jpa.db/.classpath
deleted file mode 100644
index 2fc0e3f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="nonaccessible" pattern="org/eclipse/jpt/common/utility/model/value/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/.cvsignore b/jpa/plugins/org.eclipse.jpt.jpa.db/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/.project b/jpa/plugins/org.eclipse.jpt.jpa.db/.project
deleted file mode 100644
index 3cb8e9f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.db</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/.settings/org.eclipse.jdt.core.prefs b/jpa/plugins/org.eclipse.jpt.jpa.db/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d6b6605..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:08:40 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.jpa.db/META-INF/MANIFEST.MF
deleted file mode 100644
index b17463e..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.db
-Bundle-Version: 2.1.0.qualifier
-Bundle-Activator: org.eclipse.jpt.jpa.db.JptJpaDbPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.datatools.enablement.jdt.classpath;bundle-version="[1.0.1,2.0.0)",
- org.eclipse.datatools.sqltools.editor.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)"
-Export-Package: org.eclipse.jpt.jpa.db,
- org.eclipse.jpt.jpa.db.internal;x-internal:=true,
- org.eclipse.jpt.jpa.db.internal.driver;x-internal:=true
-Import-Package: com.ibm.icu.text;version="4.0.1"
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/about.html b/jpa/plugins/org.eclipse.jpt.jpa.db/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/build.properties b/jpa/plugins/org.eclipse.jpt.jpa.db/build.properties
deleted file mode 100644
index f6a2578..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/component.xml b/jpa/plugins/org.eclipse.jpt.jpa.db/component.xml
deleted file mode 100644
index e52b4ee..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/component.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Copyright (c) 2007, 2010 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:
-    Oracle - initial API and implementation
- -->
-
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpa.db"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jpt.jpa.db" fragment="false"/></component>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/plugin.properties b/jpa/plugins/org.eclipse.jpt.jpa.db/plugin.properties
deleted file mode 100644
index c428887..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - JPA DB
-providerName = Eclipse Web Tools Platform
-
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Catalog.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Catalog.java
deleted file mode 100644
index b976d3f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Catalog.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-/**
- * Database catalog
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface Catalog
-	extends SchemaContainer
-{
-	// nothing yet
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Column.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Column.java
deleted file mode 100644
index 3f24d3d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Column.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import org.eclipse.jpt.common.utility.JavaType;
-
-/**
- * Database column
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface Column
-	extends DatabaseObject
-{
-	/**
-	 * Return the column's table.
-	 */
-	Table getTable();
-
-
-	// ********** constraints **********
-
-	/**
-	 * Return whether the column is part of its table's primary key.
-	 */
-	boolean isPartOfPrimaryKey();
-
-	/**
-	 * Return whether the column is part of one of its table's foreign keys.
-	 */
-	boolean isPartOfForeignKey();
-
-	/**
-	 * Return whether the column is part of a unique constraint defined for its
-	 * table.
-	 */
-	boolean isPartOfUniqueConstraint();
-
-	/**
-	 * Return whether the column is nullable.
-	 */
-	boolean isNullable();
-
-
-	// ********** data type **********
-
-	/**
-	 * Return the name of the column's datatype.
-	 */
-	String getDataTypeName();
-
-	/**
-	 * Return whether the column's type is numeric.
-	 */
-	boolean isNumeric();
-
-	/**
-	 * Return the column's precision if it is a NumericalDataType;
-	 * otherwise, return -1.
-	 */
-	public int getPrecision();
-
-	/**
-	 * Return the column's scale if it is an ExactNumericDataType;
-	 * otherwise, return -1.
-	 */
-	public int getScale();
-
-	/**
-	 * If the column is a CharacterStringDataType, return its length;
-	 * otherwise, return -1.
-	 */
-	public int getLength();
-
-	/**
-	 * Return whether the column's datatype is a LOB type
-	 * (i.e. BLOB, CLOB, or NCLOB).
-	 */
-	boolean isLOB();
-
-
-	// ********** Java type **********
-
-	/**
-	 * Return a Java type declaration that is reasonably
-	 * similar to the column's data type.
-	 */
-	String getJavaTypeDeclaration();
-
-	/**
-	 * Return a Java type that is reasonably
-	 * similar to the column's data type.
-	 */
-	JavaType getJavaType();
-
-	/**
-	 * Return a Java type declaration that is reasonably
-	 * similar to the column's data type and suitable for use as a
-	 * primary key field.
-	 */
-	String getPrimaryKeyJavaTypeDeclaration();
-
-	/**
-	 * Return a Java type that is reasonably
-	 * similar to the column's data type and suitable for use as a
-	 * primary key field.
-	 */
-	JavaType getPrimaryKeyJavaType();
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionAdapter.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionAdapter.java
deleted file mode 100644
index 22e3d7d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionAdapter.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * An empty implementation of {@link ConnectionListener}.
- * <p>
- * Provisional API: This class is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public class ConnectionAdapter
-	implements ConnectionListener
-{
-	public void aboutToClose(ConnectionProfile profile) {
-		// do nothing
-	}
-
-	public void closed(ConnectionProfile profile) {
-		// do nothing
-	}
-
-	public void databaseChanged(ConnectionProfile profile, Database database) {
-		// do nothing
-	}
-
-	public void modified(ConnectionProfile profile) {
-		// do nothing
-	}
-
-	public boolean okToClose(ConnectionProfile profile) {
-		return true;
-	}
-
-	public void opened(ConnectionProfile profile) {
-		// do nothing
-	}
-
-	public void catalogChanged(ConnectionProfile profile, Catalog catalog) {
-		// do nothing
-	}
-
-	public void schemaChanged(ConnectionProfile profile, Schema schema) {
-		// do nothing
-	}
-
-	public void sequenceChanged(ConnectionProfile profile, Sequence sequence) {
-		// do nothing
-	}
-
-	public void tableChanged(ConnectionProfile profile, Table table) {
-		// do nothing
-	}
-
-	public void columnChanged(ConnectionProfile profile, Column column) {
-		// do nothing
-	}
-
-	public void foreignKeyChanged(ConnectionProfile profile, ForeignKey foreignKey) {
-		// do nothing
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this);
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionListener.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionListener.java
deleted file mode 100644
index 5cb9129..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import java.util.EventListener;
-
-/**
- * A <code>ConnectionListener</code> is notified of any changes to a connection.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- * 
- * @see org.eclipse.datatools.connectivity.IManagedConnectionListener
- */
-public interface ConnectionListener
-	extends EventListener
-{
-	public void opened(ConnectionProfile profile);
-	public void modified(ConnectionProfile profile);
-	public boolean okToClose(ConnectionProfile profile);
-	public void aboutToClose(ConnectionProfile profile);
-	public void closed(ConnectionProfile profile);
-
-	public void databaseChanged(ConnectionProfile profile, Database database);
-	public void catalogChanged(ConnectionProfile profile, Catalog catalog);
-	public void schemaChanged(ConnectionProfile profile, Schema schema);
-	public void sequenceChanged(ConnectionProfile profile, Sequence sequence);
-	public void tableChanged(ConnectionProfile profile, Table table);
-	public void columnChanged(ConnectionProfile profile, Column column);
-	public void foreignKeyChanged(ConnectionProfile profile, ForeignKey foreignKey);
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfile.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfile.java
deleted file mode 100644
index a881587..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfile.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import java.sql.Connection;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.datatools.connectivity.drivers.jdbc.IJDBCDriverDefinitionConstants;
-
-/**
- * Database connection profile
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface ConnectionProfile
-	extends DatabaseObject
-{
-	// ********** properties **********
-
-	/**
-	 * Return the connection profile's database.
-	 * Return <code>null</code> if the connection profile is inactive.
-	 */
-	Database getDatabase();
-
-	/**
-	 * Return ID of the provider managing the DTP profile.
-	 */
-	String getProviderID();
-
-	/**
-	 * Return the connection profile's static ID.
-	 */
-	String getInstanceID();
-
-	/**
-	 * Return the default database name.
-	 */
-	String getDatabaseName();
-
-	/**
-	 * Return the database product name.
-	 */
-	String getDatabaseProduct();
-
-	/**
-	 * Return the database vendor.
-	 */
-	String getDatabaseVendor();
-
-	/**
-	 * Return the database version.
-	 */
-	String getDatabaseVersion();
-
-	/**
-	 * Return the driver class name.
-	 */
-	String getDriverClassName();
-
-	/**
-	 * Return the default connection URL.
-	 */
-	String getURL();
-
-	/**
-	 * Return the default user name.
-	 */
-	String getUserName();
-
-	/**
-	 * Return the default user password.
-	 */
-	String getUserPassword();
-
-	/**
-	 * Return the ID of the associated Driver definition.
-	 */
-	String getDriverDefinitionID();
-
-	/**
-	 * Return the jar list for the associated Driver as a 
-	 * comma-delimited string.
-	 */
-	String getDriverJarList();
-
-	/**
-	 * Return the name of the associated Driver definition.
-	 */
-	String getDriverName();
-
-
-	// ********** identifiers **********
-
-	/**
-	 * Return whether all identifiers are to be treated as though they were
-	 * delimited. This is determined by the client-supplied database
-	 * identifier adapter.
-	 */
-	boolean treatIdentifiersAsDelimited();
-
-
-	// ********** connection **********
-
-	/**
-	 * Return whether the profile is either connected to a live database
-	 * session or working off-line (i.e. it has access to meta-data).
-	 * @see #isConnected()
-	 * @see #isWorkingOffline()
-	 */
-	boolean isActive();
-
-	/**
-	 * Return whether the profile is neither connected to a live database
-	 * session nor working off-line (i.e. it has access to meta-data).
-	 * @see #isActive()
-	 */
-	boolean isInactive();
-
-	/**
-	 * Return whether the profile is connected to a live database session
-	 * (i.e. the meta-data comes from the database), as opposed to working
-	 * off-line.
-	 * @see #isActive()
-	 */
-	boolean isConnected();
-
-	/**
-	 * Return whether the profile is not connected to a live database session
-	 * (i.e. the meta-data comes from the database), as opposed to working
-	 * off-line.
-	 * @see #isConnected()
-	 */
-	boolean isDisconnected();
-
-	/**
-	 * Connect to the database.
-	 * @see #disconnect()
-	 */
-	void connect();
-
-	/**
-	 * Disconnect from the database.
-	 * @see #connect()
-	 */
-	void disconnect();
-
-	/**
-	 * Return the JDBC connection.
-	 */
-	Connection getJDBCConnection();
-
-
-	// ********** off-line support **********
-
-	/**
-	 * Return whether the profile is working off-line (i.e. the meta-data
-	 * comes from a local cache), as opposed to connected to a live
-	 * database session.
-	 * @see #isActive()
-	 */
-	boolean isWorkingOffline();
-
-	/**
-	 * Return whether the connection factories associated with the
-	 * connection profile's provider support working offline.
-	 */
-	boolean supportsWorkOfflineMode();
-
-	/**
-	 * Save the state of the connection profile for working in an offline mode.
-	 * If the connection profile does not support working in an offline mode, no
-	 * exception is thrown and the method will return immediately.
-	 */
-	IStatus saveWorkOfflineData();
-
-	/**
-	 * Return whether the connection profile supports working offline and data
-	 * has been saved for working offline.
-	 */
-	boolean canWorkOffline();
-
-	/**
-	 * Begin working off-line.
-	 */
-	IStatus workOffline();
-
-
-	// ********** listeners **********
-
-	/**
-	 * Add the specified connection listener to the connection profile.
-	 */
-	void addConnectionListener(ConnectionListener listener);
-
-	/**
-	 * Remove the specified connection listener from the connection profile.
-	 */
-	void removeConnectionListener(ConnectionListener listener);
-
-
-	// ********** constants **********
-
-	String CONNECTION_PROFILE_TYPE = "org.eclipse.datatools.connectivity.db.generic.connectionProfile";  //$NON-NLS-1$
-	String DRIVER_DEFINITION_PROP_ID = "org.eclipse.datatools.connectivity.driverDefinitionID";  //$NON-NLS-1$
-	String DRIVER_DEFINITION_TYPE_PROP_ID = "org.eclipse.datatools.connectivity.drivers.defnType";  //$NON-NLS-1$
-	String DRIVER_JAR_LIST_PROP_ID = "jarList";  //$NON-NLS-1$
-	String DATABASE_SAVE_PWD_PROP_ID = IJDBCDriverDefinitionConstants.PROP_PREFIX + "savePWD";  //$NON-NLS-1$
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileAdapter.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileAdapter.java
deleted file mode 100644
index ecf4a98..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-/**
- * An empty implementation of {@link ConnectionProfileListener}.
- * <p>
- * Provisional API: This class is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public class ConnectionProfileAdapter
-	implements ConnectionProfileListener
-{
-	public void connectionProfileAdded(String name) {
-		// do nothing
-	}
-
-	public void connectionProfileRemoved(String name) {
-		// do nothing
-	}
-
-	public void connectionProfileRenamed(String oldName, String newName) {
-		// do nothing
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileFactory.java
deleted file mode 100644
index e315218..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-/**
- * Database connection profile factory
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface ConnectionProfileFactory {
-
-	/**
-	 * Return the names of the DTP connection profiles the factory can wrap with
-	 * new connection profiles.
-	 */
-	Iterable<String> getConnectionProfileNames();
-
-	/**
-	 * Build and return a connection profile that wraps the DTP connection
-	 * profile with the specified name.
-	 * Return <code>null</code> if there is no DTP connection profile with the
-	 * specified name.
-	 * Use the specified database identifier adapter to allow clients to control how
-	 * database identifiers are handled.
-	 */
-	ConnectionProfile buildConnectionProfile(String name, DatabaseIdentifierAdapter adapter);
-
-	/**
-	 * Build and return a connection profile that wraps the DTP connection
-	 * profile with the specified name.
-	 * Return <code>null</code> if there is no DTP connection profile with the
-	 * specified name.
-	 * <p>
-	 * Clients should use this method when a JPA platform is unavailable
-	 * (e.g. during project creation). The returned connection profile will
-	 * use the default database identifier adapter.
-	 */
-	ConnectionProfile buildConnectionProfile(String name);
-
-	/**
-	 * Add a listener that will be notified of changes to the DTP
-	 * connection profiles.
-	 */
-	void addConnectionProfileListener(ConnectionProfileListener listener);
-
-	/**
-	 * Remove the specified listener.
-	 */
-	void removeConnectionProfileListener(ConnectionProfileListener listener);
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileListener.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileListener.java
deleted file mode 100644
index c7eb1e5..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ConnectionProfileListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import java.util.EventListener;
-
-/**
- * A <code>ProfileListener</code> is notified of any changes to the DTP connection profiles.
- * <p>
- * @see org.eclipse.datatools.connectivity.IProfileListener
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface ConnectionProfileListener
-	extends EventListener
-{
-	/**
-	 * The specified profile has been added.
-	 */
-	public void connectionProfileAdded(String name);
-
-	/**
-	 * The specified profile has been removed.
-	 */
-	public void connectionProfileRemoved(String name);
-
-	/**
-	 * The specified profile has been renamed.
-	 */
-	public void connectionProfileRenamed(String oldName, String newName);
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Database.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Database.java
deleted file mode 100644
index 11c486f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Database.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-/**
- * Database
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface Database
-	extends SchemaContainer
-{
-	/**
-	 * Return the database's DTP database.
-	 */
-	org.eclipse.datatools.modelbase.sql.schema.Database getDTPDatabase();
-
-
-	// ********** properties **********
-
-	/**
-	 * Return the name of the database's vendor.
-	 */
-	String getVendorName();
-
-	/**
-	 * Return the database's version.
-	 */
-	String getVersion();
-
-
-	// ********** catalogs **********
-
-	/**
-	 * Return whether the database supports catalogs. If it does, all database
-	 * objects are contained by the database's catalogs; otherwise all database
-	 * objects are contained by the database's schemata.
-	 * <br>
-	 * Practically speaking:<ul>
-	 *     <li>If {@link #supportsCatalogs()} returns <code>true</code><ul>
-	 *         <li>{@link #getCatalogs()} returns catalogs that contain the database's schemata
-	 *         <li>{@link #getSchemata()} returns an empty iterable
-	 *     </ul>
-	 *     <li>else<ul>
-	 *         <li>{@link #getCatalogs()} returns an empty iterable
-	 *         <li>{@link #getSchemata()} returns the database's schemata
-	 *     </ul>
-	 * </ul>
-	 * This is complicated by the presence of a "default" catalog that clients can
-	 * use to allow the specification of a catalog to be optional; but clients
-	 * must manage this explicitly.
-	 * @see #getCatalogs()
-	 * @see #getSchemata()
-	 */
-	boolean supportsCatalogs();
-
-	/**
-	 * Return the database's catalogs.
-	 * Return an empty iterable if the database does not support catalogs.
-	 * @see #supportsCatalogs()
-	 */
-	Iterable<Catalog> getCatalogs();
-
-	/**
-	 * Return the number of catalogs the database contains.
-	 * Return zero if the database does not support catalogs.
-	 * @see #supportsCatalogs()
-	 */
-	int getCatalogsSize();
-
-	/**
-	 * Return the database's catalog names, sorted.
-	 * Return an empty iterable if the database does not support catalogs.
-	 * This is useful when the user is selecting a catalog from a read-only
-	 * combo-box (e.g. in a wizard).
-	 * @see #getSortedCatalogIdentifiers()
-	 * @see #getCatalogNamed(String)
-	 */
-	Iterable<String> getSortedCatalogNames();
-
-	/**
-	 * Return the catalog with the specified name. The name must be an exact match
-	 * of the catalog's name.
-	 * Return <code>null</code> if the database does not support catalogs.
-	 * @see #supportsCatalogs()
-	 * @see #getSortedCatalogNames()
-	 * @see #getCatalogForIdentifier(String)
-	 */
-	Catalog getCatalogNamed(String name);
-
-	/**
-	 * Return the database's catalog identifiers, sorted by name.
-	 * Return an empty iterable if the database does not support catalogs.
-	 * This is useful when the user is selecting an identifier that will be
-	 * placed in a text file (e.g. in a Java annotation).
-	 * @see #getSortedCatalogNames()
-	 * @see #getCatalogForIdentifier(String)
-	 */
-	Iterable<String> getSortedCatalogIdentifiers();
-
-	/**
-	 * Return the catalog for the specified identifier. The identifier should
-	 * be an SQL identifier (i.e. quoted when case-sensitive or containing
-	 * special characters, unquoted otherwise).
-	 * Return <code>null</code> if the database does not support catalogs.
-	 * @see #supportsCatalogs()
-	 * @see #getSortedCatalogIdentifiers()
-	 * @see #getCatalogNamed(String)
-	 */
-	Catalog getCatalogForIdentifier(String identifier);
-
-	/**
-	 * Return the database's default catalog, as defined by the database vendor.
-	 * In most cases the default catalog's name will match the user name.
-	 * Return <code>null</code> if the database does not support catalogs or
-	 * if the default catalog does not exist (e.g. the database has no catalog
-	 * whose name matches the user name).
-	 * @see #supportsCatalogs()
-	 * @see #getDefaultCatalogIdentifier()
-	 */
-	Catalog getDefaultCatalog();
-
-	/**
-	 * Return the database's default catalog identifier.
-	 * The database may or may not have a catalog with a matching name.
-	 * @see #supportsCatalogs()
-	 * @see #getDefaultCatalog()
-	 */
-	String getDefaultCatalogIdentifier();
-
-
-	// ********** utility methods **********
-
-	/**
-	 * Select and return from the specified list of tables the
-	 * table identified by the specified identifier.
-	 * The identifier should be an SQL identifier (i.e. delimited as
-	 * appropriate).
-	 */
-	Table selectTableForIdentifier(Iterable<Table> tables, String identifier);
-
-	/**
-	 * Convert the specified name to a database-appropriate SQL identifier
-	 * (i.e. delimit the name as appropriate).
-	 */
-	// it seems we don't need database object-specific conversions here;
-	// i.e. separate methods for tables, columns, etc.
-	String convertNameToIdentifier(String name);
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/DatabaseIdentifierAdapter.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/DatabaseIdentifierAdapter.java
deleted file mode 100644
index 7fc173d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/DatabaseIdentifierAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * This interface allows clients of the Dali db package to control whether
- * database identifiers are to be treated as though they are delimited, which,
- * most significantly, usually means the identifiers are case-sensitive.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface DatabaseIdentifierAdapter {
-
-	/**
-	 * Return whether identifiers are to be treated as though they were
-	 * delimited.
-	 */
-	boolean treatIdentifiersAsDelimited();
-
-
-	/**
-	 * This adapter simply returns <code>false</code>, which is compatible
-	 * with JPA 1.0.
-	 */
-	final class Default
-		implements DatabaseIdentifierAdapter
-	{
-		public static final DatabaseIdentifierAdapter INSTANCE = new Default();
-		public static DatabaseIdentifierAdapter instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Default() {
-			super();
-		}
-		public boolean treatIdentifiersAsDelimited() {
-			return false;  // JPA 1.0
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/DatabaseObject.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/DatabaseObject.java
deleted file mode 100644
index e20a540..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/DatabaseObject.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import java.util.Comparator;
-import org.eclipse.jpt.common.utility.internal.Transformer;
-import com.ibm.icu.text.Collator;
-
-/**
- * Behavior common to all database objects.
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface DatabaseObject {
-
-	/**
-	 * Return the database object's name.
-	 */
-	String getName();
-
-	/**
-	 * Return the database object's <em>identifier</em>, which is the object's name
-	 * modified so it can be used in an SQL statement (e.g. if the name contains
-	 * special characters or is mixed case, it will be delimited, typically by
-	 * double-quotes).
-	 */
-	String getIdentifier();
-
-	/**
-	 * Return the database object's <em>identifier</em>, which is the object's name
-	 * modified so it can be used in an SQL statement (e.g. if the name contains
-	 * special characters or is mixed case, it will be delimited, typically by
-	 * double-quotes).
-	 * Return <code>null</code> if the database object's identifier matches the
-	 * specified default name.
-	 * <p>
-	 * This is used by the Dali entity generation code to determine whether
-	 * a generated annotation must explicitly identify a database object
-	 * (e.g. a table) or the default (as specified here) adequately identifies
-	 * the database object (taking into consideration case-sensitivity,
-	 * special characters, etc.).
-	 */
-	String getIdentifier(String defaultName);
-
-	/**
-	 * Return the database object's database.
-	 */
-	Database getDatabase();
-
-	/**
-	 * Return the database object's connection profile.
-	 */
-	ConnectionProfile getConnectionProfile();
-
-
-	/**
-	 * Sort by name.
-	 */
-	Comparator<DatabaseObject> DEFAULT_COMPARATOR =
-			new Comparator<DatabaseObject>() {
-				public int compare(DatabaseObject dbObject1, DatabaseObject dbObject2) {
-					return Collator.getInstance().compare(dbObject1.getName(), dbObject2.getName());
-				}
-				@Override
-				public String toString() {
-					return this.getClass().getEnclosingClass().getSimpleName() + ".DEFAULT_COMPARATOR"; //$NON-NLS-1$
-				}
-			};
-
-	Transformer<DatabaseObject, String> NAME_TRANSFORMER =
-			new Transformer<DatabaseObject, String>() {
-				public String transform(DatabaseObject dbObject) {
-					return dbObject.getName();
-				}
-				@Override
-				public String toString() {
-					return this.getClass().getEnclosingClass().getSimpleName() + ".NAME_TRANSFORMER"; //$NON-NLS-1$
-				}
-			};
-
-	Transformer<DatabaseObject, String> IDENTIFIER_TRANSFORMER =
-			new Transformer<DatabaseObject, String>() {
-				public String transform(DatabaseObject dbObject) {
-					return dbObject.getIdentifier();
-				}
-				@Override
-				public String toString() {
-					return this.getClass().getEnclosingClass().getSimpleName() + ".IDENTIFIER_TRANSFORMER"; //$NON-NLS-1$
-				}
-			};
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ForeignKey.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ForeignKey.java
deleted file mode 100644
index 47c0abc..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/ForeignKey.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import java.util.Comparator;
-
-import com.ibm.icu.text.Collator;
-
-/**
- * Database foreign key
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface ForeignKey
-	extends DatabaseObject
-{
-	// ********** tables **********
-
-	/**
-	 * Return the foreign key's <em>base</em> table.
-	 */
-	Table getBaseTable();
-
-	/**
-	 * Return the foreign key's <em>referenced</em> table.
-	 */
-	Table getReferencedTable();
-
-
-	// ********** column pairs **********
-
-	/**
-	 * Return the foreign key's column pairs.
-	 */
-	Iterable<ColumnPair> getColumnPairs();
-
-	/**
-	 * Return the size of the foreign key's column pairs.
-	 */
-	int getColumnPairsSize();
-
-	/**
-	 * Return the foreign key's single column pair. Throw an
-	 * {@link IllegalStateException} if the foreign key has more than one column pair.
-	 */
-	ColumnPair getColumnPair();
-
-	/**
-	 * Return the foreign key's <em>base</em> columns.
-	 */
-	Iterable<Column> getBaseColumns();
-
-	/**
-	 * Return the foreign key's <em>base</em> columns that are not part of the base
-	 * table's primary key. (The non-primary key base columns are not used to
-	 * generate basic attributes during entity generation.)
-	 */
-	Iterable<Column> getNonPrimaryKeyBaseColumns();
-
-	/**
-	 * Return the foreign key's <em>referenced</em> columns.
-	 */
-	Iterable<Column> getReferencedColumns();
-
-	/**
-	 * Return whether the foreign key references the primary key of the
-	 * <em>referenced</em> table and that primary key has only a single column.
-	 * This can be used when determining JPA defaults.
-	 */
-	boolean referencesSingleColumnPrimaryKey();
-
-
-	// ********** JPA support **********
-
-	/**
-	 * Return an appropriate name for an attribute that holds the entity
-	 * mapped to the foreign key's <em>referenced</em> table.
-	 */
-	String getAttributeName();
-
-	/**
-	 * If the name of the <em>base</em> column adheres to the JPA spec for a
-	 * default mapping (i.e. it ends with an underscore followed by the name
-	 * of the <em>referenced</em> column, and the <em>referenced</em> column is the single
-	 * primary key column of the <em>referenced</em> table), return the corresponding
-	 * default attribute name:<pre>
-	 *     ForeignKey(EMP.CUBICLE_ID => CUBICLE.ID) => "CUBICLE"
-	 * </pre>
-	 * Return <code>null</code> if it does not adhere to the JPA spec:<pre>
-	 *     ForeignKey(EMP.CUBICLE_ID => CUBICLE.CUBICLE_ID) => null
-	 *     ForeignKey(EMP.CUBICLE => CUBICLE.ID) => null
-	 * </pre>
-	 */
-	String getDefaultAttributeName();
-
-	/**
-	 * Given the name of an attribute (field or property) that is mapped to the
-	 * foreign key, build and return a string to be used as the value for the
-	 * attribute's <code>@javax.persistence.JoinColumn</code> annotation's
-	 * <code>name</code> element. Return <code>null</code> if the attribute
-	 * maps to the join column by default.
-	 * <p>
-	 * Precondition: The foreign key consists of a single column pair whose
-	 * referenced column is the single-column primary key of the foreign
-	 * key's referenced table.
-	 * <p>
-	 * This is used by the entity generation code to determine whether
-	 * a generated annotation must explicitly identify the join column
-	 * or the calculated default adequately identifies the join column
-	 * (taking into consideration case-sensitivity, special characters, etc.).
-	 */
-	String getJoinColumnAnnotationIdentifier(String attributeName);
-
-
-	// ********** column pair interface **********
-
-	/**
-	 * Pair up the foreign key's column pairs, matching each <em>base</em> column with
-	 * the appropriate <em>referenced</em> column.
-	 * @see #getColumnPairs()
-	 */
-	interface ColumnPair {
-
-		/**
-		 * Return the column pair's <em>base</em> column.
-		 */
-		Column getBaseColumn();
-
-		/**
-		 * Return the column pair's <em>referenced</em> column.
-		 */
-		Column getReferencedColumn();
-
-		Comparator<ColumnPair> BASE_COLUMN_COMPARATOR =
-				new Comparator<ColumnPair>() {
-					public int compare(ColumnPair cp1, ColumnPair cp2) {
-						return Collator.getInstance().compare(cp1.getBaseColumn().getName(), cp2.getBaseColumn().getName());
-					}
-					@Override
-					public String toString() {
-						return "ForeignKey.ColumnPair.BASE_COLUMN_COMPARATOR"; //$NON-NLS-1$
-					}
-				};
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/JptJpaDbPlugin.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/JptJpaDbPlugin.java
deleted file mode 100644
index 473ab86..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/JptJpaDbPlugin.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.datatools.enablement.jdt.classpath.DriverClasspathContainer;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jpt.jpa.db.internal.DTPConnectionProfileFactory;
-import org.osgi.framework.BundleContext;
-
-/**
- * The Dali JPA DB plug-in lifecycle implementation.
- * Globally available connection profile factory.
- * <p>
- * Provisional API: This class is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public class JptJpaDbPlugin
-	extends Plugin
-{
-	// lazy-initialized
-	private DTPConnectionProfileFactory connectionProfileFactory;
-
-	private static JptJpaDbPlugin INSTANCE;  // sorta-final
-
-	public static final String PLUGIN_ID = "org.eclipse.jpt.jpa.db";  //$NON-NLS-1$
-
-	/**
-	 * Return the singleton JPT DB plug-in.
-	 */
-	public static JptJpaDbPlugin instance() {
-		return INSTANCE;
-	}
-
-
-	// ********** public static methods **********
-
-	public static ConnectionProfileFactory getConnectionProfileFactory() {
-		return INSTANCE.getConnectionProfileFactory_();
-	}
-
-
-	// ********** logging **********
-
-	/**
-	 * Log the specified message.
-	 */
-	public static void log(String msg) {
-        log(msg, null);
-    }
-
-	/**
-	 * Log the specified exception or error.
-	 */
-	public static void log(Throwable throwable) {
-		log(throwable.getLocalizedMessage(), throwable);
-	}
-
-	/**
-	 * Log the specified message and exception or error.
-	 */
-	public static void log(String msg, Throwable throwable) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, throwable));
-	}
-
-	/**
-	 * Log the specified status.
-	 */
-	public static void log(IStatus status) {
-        INSTANCE.getLog().log(status);
-    }
-
-
-	// ********** plug-in implementation **********
-
-	/**
-	 * The constructor
-	 */
-	public JptJpaDbPlugin() {
-		super();
-		if (INSTANCE != null) {
-			throw new IllegalStateException();
-		}
-		// this convention is *wack*...  ~bjv
-		INSTANCE = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		// the connection profile factory is lazy-initialized...
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		if (this.connectionProfileFactory != null) {
-			this.connectionProfileFactory.stop();
-			this.connectionProfileFactory = null;
-		}
-		INSTANCE = null;
-		super.stop(context);
-	}
-
-	private synchronized ConnectionProfileFactory getConnectionProfileFactory_() {
-		if (this.connectionProfileFactory == null) {
-			this.connectionProfileFactory = this.buildConnectionProfileFactory();
-	        this.connectionProfileFactory.start();			
-		}
-		return this.connectionProfileFactory;
-	}
-
-	private DTPConnectionProfileFactory buildConnectionProfileFactory() {
-		return DTPConnectionProfileFactory.instance();
-	}
-
-	/**
-	 * Creates a jar list container for the given DTP driver.
-	 */
-	public IClasspathContainer buildDriverClasspathContainerFor(String driverName) {
-		return new DriverClasspathContainer(driverName);
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Schema.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Schema.java
deleted file mode 100644
index 9ae336f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Schema.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-/**
- * Database schema
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface Schema
-	extends DatabaseObject
-{
-	/**
-	 * Return the schema's container; either a catalog or a database.
-	 */
-	SchemaContainer getContainer();
-
-
-	// ********** tables **********
-
-	/**
-	 * Return the schema's tables.
-	 */
-	Iterable<Table> getTables();
-
-	/**
-	 * Return the number of tables the schema contains.
-	 */
-	int getTablesSize();
-
-	/**
-	 * Return the table with the specified name. The name must be an exact match
-	 * of the table's name.
-	 * @see #getTableForIdentifier(String)
-	 */
-	 Table getTableNamed(String name);
-
-	/**
-	 * Return the schema's table identifiers, sorted by name.
-	 * @see #getTableForIdentifier(String)
-	 */
-	Iterable<String> getSortedTableIdentifiers();
-
-	/**
-	 * Return the table for the specified identifier. The identifier should
-	 * be an SQL identifier (i.e. quoted when case-sensitive or containing
-	 * special characters, unquoted otherwise).
-	 * @see #getTableNamed(String)
-	 * @see #getSortedTableIdentifiers()
-	 */
-	Table getTableForIdentifier(String identifier);
-
-
-	// ********** sequences **********
-
-	/**
-	 * Return the schema's sequences.
-	 */
-	Iterable<Sequence> getSequences();
-
-	/**
-	 * Return the number of sequences the schema contains.
-	 */
-	int getSequencesSize();
-
-	/**
-	 * Return the sequence with the specified name. The name must be an exact match
-	 * of the sequence's name.
-	 * @see #getSequenceForIdentifier(String)
-	 */
-	Sequence getSequenceNamed(String name);
-
-	/**
-	 * Return the schema's sequence identifers, sorted by name.
-	 * @see #getSequenceForIdentifier(String)
-	 */
-	Iterable<String> getSortedSequenceIdentifiers();
-
-	/**
-	 * Return the sequence for the specified identifier. The identifier should
-	 * be an SQL identifier (i.e. quoted when case-sensitive or containing
-	 * special characters, unquoted otherwise).
-	 * @see #getSequenceNamed(String)
-	 * @see #getSortedSequenceIdentifiers()
-	 */
-	Sequence getSequenceForIdentifier(String identifier);
-
-	// ********** sequences **********
-
-	void refresh();
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/SchemaContainer.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/SchemaContainer.java
deleted file mode 100644
index 9f3fad1..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/SchemaContainer.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-/**
- * Schema container (i.e. Database or Catalog)
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface SchemaContainer
-	extends DatabaseObject
-{
-	/**
-	 * Return the container's schemata.
-	 */
-	Iterable<Schema> getSchemata();
-
-	/**
-	 * Return the number of schemata in the container.
-	 */
-	int getSchemataSize();
-
-	/**
-	 * Return the container's schema names, sorted.
-	 * This is useful when the user is selecting a schema from a read-only
-	 * combo-box (e.g. in a wizard).
-	 * @see #getSchemaNamed(String)
-	 * @see #getSortedSchemaIdentifiers()
-	 */
-	Iterable<String> getSortedSchemaNames();
-
-	/**
-	 * Return the schema with the specified name. The name must be an exact match
-	 * of the schema's name.
-	 * @see #getSortedSchemaNames()
-	 * @see #getSchemaForIdentifier(String)
-	 */
-	Schema getSchemaNamed(String name);
-
-	/**
-	 * Return the container's schema identifiers, sorted by name.
-	 * This is useful when the user is selecting an identifier that will be
-	 * placed in a text file (e.g. in a Java annotation).
-	 * @see #getSchemaForIdentifier(String)
-	 * @see #getSortedSchemaNames()
-	 */
-	Iterable<String> getSortedSchemaIdentifiers();
-
-	/**
-	 * Return the schema for the specified identifier. The identifier should
-	 * be an SQL identifier (i.e. quoted when case-sensitive or containing
-	 * special characters, unquoted otherwise).
-	 * @see #getSortedSchemaIdentifiers()
-	 * @see #getSchemaNamed(String)
-	 */
-	Schema getSchemaForIdentifier(String identifier);
-
-	/**
-	 * Return the container's default schema, as defined by the database vendor.
-	 * In most cases the default schema's name will match the user name.
-	 * Return <code>null</code> if the default schema does not exist (e.g. the
-	 * container has no schema whose name matches the user name).
-	 * @see #getDefaultSchemaIdentifier()
-	 */
-	Schema getDefaultSchema();
-
-	/**
-	 * Return the container's default schema identifier.
-	 * The container may or may not have a schema with a matching name.
-	 * @see #getDefaultSchema()
-	 */
-	String getDefaultSchemaIdentifier();
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Sequence.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Sequence.java
deleted file mode 100644
index 886c728..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Sequence.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-/**
- * Database sequence
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface Sequence
-	extends DatabaseObject
-{
-	/**
-	 * Return the sequence's schema.
-	 */
-	Schema getSchema();
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Table.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Table.java
deleted file mode 100644
index aa2258a..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/Table.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db;
-
-/**
- * Database table
- * <p>
- * Provisional API: This interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is available at this early stage to solicit feedback from
- * pioneering adopters on the understanding that any code that uses this API
- * will almost certainly be broken (repeatedly) as the API evolves.
- */
-public interface Table
-	extends DatabaseObject
-{
-	/**
-	 * Return the table's schema.
-	 */
-	Schema getSchema();
-
-
-	// ********** columns **********
-
-	/**
-	 * Return the table's columns.
-	 */
-	Iterable<Column> getColumns();
-
-	/**
-	 * Return the number of columns the table contains.
-	 */
-	int getColumnsSize();
-
-	/**
-	 * Return the column with the specified name. The name must be an exact match
-	 * of the column's name.
-	 * @see #getColumnForIdentifier(String)
-	 */
-	Column getColumnNamed(String name);
-
-	/**
-	 * Return the table's column identifers, sorted by name.
-	 * @see #getColumnForIdentifier(String)
-	 */
-	Iterable<String> getSortedColumnIdentifiers();
-
-	/**
-	 * Return the column for the specified identifier. The identifier should
-	 * be an SQL identifier (i.e. quoted when case-sensitive or containing
-	 * special characters, unquoted otherwise).
-	 * @see #getColumnNamed(String)
-	 * @see #getSortedColumnIdentifiers()
-	 */
-	Column getColumnForIdentifier(String identifier);
-
-
-	// ********** primary key columns **********
-
-	/**
-	 * Return the table's primary key columns.
-	 */
-	Iterable<Column> getPrimaryKeyColumns();
-
-	/**
-	 * Return the number of primary key columns the table contains.
-	 */
-	int getPrimaryKeyColumnsSize();
-
-	/**
-	 * Return the table's single primary key column. Throw an
-	 * {@link IllegalStateException} if the table has more than one primary key column.
-	 */
-	Column getPrimaryKeyColumn();
-
-
-	// ********** foreign keys **********
-
-	/**
-	 * Return the table's foreign keys.
-	 */
-	Iterable<ForeignKey> getForeignKeys();
-
-	/**
-	 * Return the number of foreign keys the table contains.
-	 */
-	int getForeignKeysSize();
-
-
-	// ********** join table support **********
-
-	/**
-	 * Return whether the table is possibly a <em>join</em> table
-	 * (i.e. it contains only 2 foreign keys). Whether the table <em>actually</em> is
-	 * a <em>join</em> table is determined by the semantics of the database design.
-	 */
-	boolean isPossibleJoinTable();
-
-	/**
-	 * Assuming the table is a <em>join</em> table, return the foreign key to the
-	 * <em>owning</em> table.
-	 * @see #isPossibleJoinTable()
-	 */
-	ForeignKey getJoinTableOwningForeignKey();
-
-	/**
-	 * Assuming the table is a <em>join</em> table, return the foreign key to the
-	 * <em>non-owning</em> table.
-	 * @see #isPossibleJoinTable()
-	 */
-	ForeignKey getJoinTableNonOwningForeignKey();
-
-	/**
-	 * Assuming the table is a <em>join</em> table, return whether its name matches
-	 * the JPA default (i.e. <code>"OWNINGTABLE_NONOWNINGTABLE"</code>).
-	 * @see #isPossibleJoinTable()
-	 */
-	boolean joinTableNameIsDefault();
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPCatalogWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPCatalogWrapper.java
deleted file mode 100644
index 8773036..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPCatalogWrapper.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import java.util.List;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.jpa.db.Catalog;
-
-/**
- * Wrap a DTP Catalog
- */
-final class DTPCatalogWrapper
-	extends DTPSchemaContainerWrapper<DTPDatabaseWrapper>
-	implements Catalog
-{
-	/** the wrapped DTP catalog */
-	private final org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog;
-
-
-	// ********** constructor **********
-
-	DTPCatalogWrapper(DTPDatabaseWrapper database, org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog) {
-		super(database);
-		this.dtpCatalog = dtpCatalog;
-	}
-
-
-	// ********** DTPDatabaseObjectWrapper implementation **********
-
-	@Override
-	ICatalogObject getCatalogObject() {
-		return (ICatalogObject) this.dtpCatalog;
-	}
-
-	@Override
-	synchronized void catalogObjectChanged() {
-		super.catalogObjectChanged();
-		this.getConnectionProfile().catalogChanged(this);
-	}
-
-
-	// ********** DTPSchemaContainerWrapper implementation **********
-
-	@Override
-	@SuppressWarnings("unchecked")
-	List<org.eclipse.datatools.modelbase.sql.schema.Schema> getDTPSchemas() {
-		return this.dtpCatalog.getSchemas();
-	}
-
-	@Override
-	DTPSchemaWrapper getSchema(org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema) {
-		// try to short-circuit the search
-		return this.wraps(dtpSchema.getCatalog()) ?
-						this.getSchema_(dtpSchema) :
-						this.getDatabase().getSchemaFromCatalogs(dtpSchema);
-	}
-
-	@Override
-	DTPTableWrapper getTable(org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) {
-		// try to short-circuit the search
-		return this.wraps(dtpTable.getSchema().getCatalog()) ?
-						this.getTable_(dtpTable) :
-						this.getDatabase().getTableFromCatalogs(dtpTable);
-	}
-
-	@Override
-	DTPColumnWrapper getColumn(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		// try to short-circuit the search
-		return this.wraps(dtpColumn.getTable().getSchema().getCatalog()) ?
-						this.getColumn_(dtpColumn) :
-						this.getDatabase().getColumnFromCatalogs(dtpColumn);
-	}
-
-
-	// ********** DatabaseObject implementation **********
-
-	public String getName() {
-		return this.dtpCatalog.getName();
-	}
-
-
-	// ********** internal methods **********
-
-	boolean wraps(org.eclipse.datatools.modelbase.sql.schema.Catalog catalog) {
-		return this.dtpCatalog == catalog;
-	}
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPColumnWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPColumnWrapper.java
deleted file mode 100644
index 4613cab..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPColumnWrapper.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.datatools.modelbase.dbdefinition.PredefinedDataTypeDefinition;
-import org.eclipse.datatools.modelbase.sql.datatypes.CharacterStringDataType;
-import org.eclipse.datatools.modelbase.sql.datatypes.DataType;
-import org.eclipse.datatools.modelbase.sql.datatypes.ExactNumericDataType;
-import org.eclipse.datatools.modelbase.sql.datatypes.NumericalDataType;
-import org.eclipse.datatools.modelbase.sql.datatypes.PredefinedDataType;
-import org.eclipse.datatools.modelbase.sql.datatypes.PrimitiveType;
-import org.eclipse.jpt.common.utility.JavaType;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-import org.eclipse.jpt.common.utility.internal.SimpleJavaType;
-import org.eclipse.jpt.jpa.db.Column;
-
-/**
- *  Wrap a DTP Column
- */
-final class DTPColumnWrapper
-	extends DTPDatabaseObjectWrapper<DTPTableWrapper>
-	implements Column
-{
-	/** the wrapped DTP column */
-	private final org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn;
-
-
-	// ********** constructor **********
-
-	DTPColumnWrapper(DTPTableWrapper table, org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		super(table);
-		this.dtpColumn = dtpColumn;
-	}
-
-
-	// ********** DTPDatabaseObjectWrapper implementation **********
-
-	@Override
-	ICatalogObject getCatalogObject() {
-		return (ICatalogObject) this.dtpColumn;
-	}
-
-	@Override
-	synchronized void catalogObjectChanged() {
-		super.catalogObjectChanged();
-		this.getConnectionProfile().columnChanged(this);
-	}
-
-
-	// ********** Column implementation **********
-
-	public String getName() {
-		return this.dtpColumn.getName();
-	}
-
-	public DTPTableWrapper getTable() {
-		return this.parent;
-	}
-
-	public boolean isPartOfPrimaryKey() {
-		return this.getTable().primaryKeyColumnsContains(this);
-	}
-
-	public boolean isPartOfForeignKey() {
-		return this.getTable().foreignKeyBaseColumnsContains(this);
-	}
-
-	public boolean isPartOfUniqueConstraint() {
-		return this.dtpColumn.isPartOfUniqueConstraint();
-	}
-
-	public boolean isNullable() {
-		return this.dtpColumn.isNullable();
-	}
-
-	public String getDataTypeName() {
-		DataType dataType = this.dtpColumn.getDataType();
-		return (dataType == null) ? null : dataType.getName();
-	}
-
-	public boolean isNumeric() {
-		return this.dtpColumn.getDataType() instanceof NumericalDataType;
-	}	
-
-	public int getPrecision() {
-		DataType dataType = this.dtpColumn.getDataType();
-		return (dataType instanceof NumericalDataType) ?
-						((NumericalDataType) dataType).getPrecision() :
-						-1;
-	}
-
-	public int getScale(){
-		DataType dataType = this.dtpColumn.getDataType();
-		return (dataType instanceof ExactNumericDataType) ?
-						((ExactNumericDataType) dataType).getScale() :
-						-1;
-	}
-
-	public int getLength() {
-		DataType dataType = this.dtpColumn.getDataType();
-		return (dataType instanceof CharacterStringDataType) ?
-						((CharacterStringDataType) dataType).getLength() :
-						-1;
-	}
-
-	public boolean isLOB() {
-		DataType dataType = this.dtpColumn.getDataType();
-		return (dataType instanceof PredefinedDataType) ?
-						primitiveTypeIsLob(((PredefinedDataType) dataType).getPrimitiveType()) :
-						false;
-	}
-
-	public String getJavaTypeDeclaration() {
-		return this.getJavaType().declaration();
-	}
-
-	public JavaType getJavaType() {
-		DataType dataType = this.dtpColumn.getDataType();
-		return (dataType instanceof PredefinedDataType) ?
-			convertToJPAJavaType(this.getJavaType((PredefinedDataType) dataType)) :
-			DEFAULT_JAVA_TYPE;
-	}
-
-	public String getPrimaryKeyJavaTypeDeclaration() {
-		return this.getPrimaryKeyJavaType().declaration();
-	}
-
-	public JavaType getPrimaryKeyJavaType() {
-		return convertToJPAPrimaryKeyJavaType(this.getJavaType());
-	}
-
-	private JavaType getJavaType(PredefinedDataType dataType) {
-		// this is just a bit hacky: moving from a type declaration to a class name to a type declaration...
-		String dtpJavaClassName = this.resolveDefinition(dataType).getJavaClassName();
-		return new SimpleJavaType(ReflectionTools.getClassNameForTypeDeclaration(dtpJavaClassName));
-	}
-
-	private PredefinedDataTypeDefinition resolveDefinition(PredefinedDataType dataType) {
-		return this.getDatabase().getDTPDefinition().getPredefinedDataTypeDefinition(dataType.getName());
-	}
-
-
-	// ********** internal methods **********
-
-	boolean wraps(org.eclipse.datatools.modelbase.sql.tables.Column column) {
-		return this.dtpColumn == column;
-	}
-
-	@Override
-	void clear() {
-		// no state to clear
-	}
-
-
-	// ********** static methods **********
-
-	/**
-	 * The JDBC spec says JDBC drivers should be able to map BLOBs and CLOBs
-	 * directly, but the JPA spec does not allow them.
-	 */
-	private static JavaType convertToJPAJavaType(JavaType javaType) {
-		if (javaType.equals(BLOB_JAVA_TYPE)) {
-			return BYTE_ARRAY_JAVA_TYPE;
-		}
-		if (javaType.equals(CLOB_JAVA_TYPE)) {
-			return STRING_JAVA_TYPE;
-		}
-		return javaType;
-	}
-
-	/**
-	 * The JPA spec [2.1.4] says only the following types are allowed in
-	 * primary key fields:<ul>
-	 *     <li>[variable] primitives
-	 *     <li>[variable] primitive wrappers
-	 *     <li>{@link java.lang.String}
-	 *     <li>{@link java.util.Date}
-	 *     <li>{@link java.sql.Date}
-	 * </ul>
-	 */
-	private static JavaType convertToJPAPrimaryKeyJavaType(JavaType javaType) {
-		if (javaType.isVariablePrimitive()
-				|| javaType.isVariablePrimitiveWrapper()
-				|| javaType.equals(STRING_JAVA_TYPE)
-				|| javaType.equals(UTIL_DATE_JAVA_TYPE)
-				|| javaType.equals(SQL_DATE_JAVA_TYPE)) {
-			return javaType;
-		}
-		if (javaType.equals(BIG_DECIMAL_JAVA_TYPE)) {
-			return LONG_JAVA_TYPE;  // ??
-		}
-		if (javaType.equals(SQL_TIME_JAVA_TYPE)) {
-			return UTIL_DATE_JAVA_TYPE;  // ???
-		}
-		if (javaType.equals(SQL_TIMESTAMP_JAVA_TYPE)) {
-			return UTIL_DATE_JAVA_TYPE;  // ???
-		}
-		// all the other typical types are pretty much un-mappable - return String(?)
-		return STRING_JAVA_TYPE;
-	}
-
-	private static boolean primitiveTypeIsLob(PrimitiveType primitiveType) {
-		return (primitiveType == PrimitiveType.BINARY_LARGE_OBJECT_LITERAL)
-				|| (primitiveType == PrimitiveType.CHARACTER_LARGE_OBJECT_LITERAL)
-				|| (primitiveType == PrimitiveType.NATIONAL_CHARACTER_LARGE_OBJECT_LITERAL);
-	}
-
-
-	// ***** some constants used when converting the column to a Java attribute
-	// TODO Object is the default?
-	private static final JavaType DEFAULT_JAVA_TYPE = new SimpleJavaType(java.lang.Object.class);
-
-	private static final JavaType BLOB_JAVA_TYPE = new SimpleJavaType(java.sql.Blob.class);
-	private static final JavaType BYTE_ARRAY_JAVA_TYPE = new SimpleJavaType(byte[].class);
-
-	private static final JavaType CLOB_JAVA_TYPE = new SimpleJavaType(java.sql.Clob.class);
-	private static final JavaType STRING_JAVA_TYPE = new SimpleJavaType(java.lang.String.class);
-
-	private static final JavaType UTIL_DATE_JAVA_TYPE = new SimpleJavaType(java.util.Date.class);
-	private static final JavaType SQL_DATE_JAVA_TYPE = new SimpleJavaType(java.sql.Date.class);
-	private static final JavaType SQL_TIME_JAVA_TYPE = new SimpleJavaType(java.sql.Time.class);
-	private static final JavaType SQL_TIMESTAMP_JAVA_TYPE = new SimpleJavaType(java.sql.Timestamp.class);
-
-	private static final JavaType BIG_DECIMAL_JAVA_TYPE = new SimpleJavaType(java.math.BigDecimal.class);
-	private static final JavaType LONG_JAVA_TYPE = new SimpleJavaType(long.class);
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPConnectionProfileFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPConnectionProfileFactory.java
deleted file mode 100644
index c592525..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPConnectionProfileFactory.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import org.eclipse.datatools.connectivity.IConnectionProfile;
-import org.eclipse.datatools.connectivity.IProfileListener1;
-import org.eclipse.datatools.connectivity.ProfileManager;
-import org.eclipse.jpt.common.utility.internal.ListenerList;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jpt.jpa.db.ConnectionProfile;
-import org.eclipse.jpt.jpa.db.ConnectionProfileFactory;
-import org.eclipse.jpt.jpa.db.ConnectionProfileListener;
-import org.eclipse.jpt.jpa.db.DatabaseIdentifierAdapter;
-
-/**
- * Wrap the DTP {@link ProfileManager} in yet another singleton.
- */
-public final class DTPConnectionProfileFactory
-	implements ConnectionProfileFactory
-{
-	private ProfileManager dtpProfileManager;
-
-	private LocalProfileListener profileListener;
-
-
-	// ********** singleton **********
-
-	private static final DTPConnectionProfileFactory INSTANCE = new DTPConnectionProfileFactory();
-
-	public static DTPConnectionProfileFactory instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Access is <code>private</code> to ensure singleton
-	 */
-	private DTPConnectionProfileFactory() {
-		super();
-	}
-
-
-	// ********** lifecycle **********
-
-	/**
-	 * called by plug-in
-	 */
-	public synchronized void start() {
-		this.dtpProfileManager = ProfileManager.getInstance();
-		this.profileListener = new LocalProfileListener();
-		this.dtpProfileManager.addProfileListener(this.profileListener);
-	}
-
-	/**
-	 * called by plug-in
-	 */
-	public synchronized void stop() {
-		this.dtpProfileManager.removeProfileListener(this.profileListener);
-		this.profileListener = null;
-		this.dtpProfileManager = null;
-	}
-
-
-	// ********** connection profiles **********
-
-	public synchronized ConnectionProfile buildConnectionProfile(String name, DatabaseIdentifierAdapter adapter) {
-		for (IConnectionProfile dtpProfile : this.dtpProfileManager.getProfiles()) {
-			if (dtpProfile.getName().equals(name)) {
-				return this.buildConnectionProfile(dtpProfile, adapter);
-			}
-		}
-		return null;
-	}
-
-	private ConnectionProfile buildConnectionProfile(IConnectionProfile dtpProfile, DatabaseIdentifierAdapter adapter) {
-		return new DTPConnectionProfileWrapper(dtpProfile, adapter);
-	}
-
-	public ConnectionProfile buildConnectionProfile(String name) {
-		return this.buildConnectionProfile(name, DatabaseIdentifierAdapter.Default.instance());
-	}
-
-	public Iterable<String> getConnectionProfileNames() {
-		return new TransformationIterable<IConnectionProfile, String>(this.getDTPConnectionProfiles()) {
-			@Override
-			protected String transform(IConnectionProfile dtpProfile) {
-				 return dtpProfile.getName();
-			}
-		};
-	}
-
-	private synchronized Iterable<IConnectionProfile> getDTPConnectionProfiles() {
-		return new ArrayIterable<IConnectionProfile>(this.dtpProfileManager.getProfiles());
-	}
-
-
-	// ********** listeners **********
-
-	public void addConnectionProfileListener(ConnectionProfileListener listener) {
-		this.profileListener.addConnectionProfileListener(listener);
-	}
-
-	public void removeConnectionProfileListener(ConnectionProfileListener listener) {
-		this.profileListener.removeConnectionProfileListener(listener);
-	}
-
-
-	@Override
-	public String toString() {
-		return this.getClass().getSimpleName();
-	}
-
-	// ********** listener **********
-
-	/**
-	 * Forward events to the factory's listeners.
-	 */
-	private static class LocalProfileListener
-		implements IProfileListener1
-	{
-		private final ListenerList<ConnectionProfileListener> listenerList = new ListenerList<ConnectionProfileListener>(ConnectionProfileListener.class);
-
-		LocalProfileListener() {
-			super();
-		}
-
-		void addConnectionProfileListener(ConnectionProfileListener listener) {
-			this.listenerList.add(listener);
-		}
-
-		void removeConnectionProfileListener(ConnectionProfileListener listener) {
-			this.listenerList.remove(listener);
-		}
-
-
-		// ********** IProfileListener implementation **********
-
-		public void profileAdded(IConnectionProfile dtpProfile) {
-			String name = dtpProfile.getName();
-			for (ConnectionProfileListener listener : this.listenerList.getListeners()) {
-				listener.connectionProfileAdded(name);
-			}
-		}
-
-		public void profileChanged(IConnectionProfile dtpProfile, String oldName, String oldDescription, Boolean oldAutoConnect) {
-			String newName = dtpProfile.getName();
-			if ( ! newName.equals(oldName)) {
-				for (ConnectionProfileListener listener : this.listenerList.getListeners()) {
-					listener.connectionProfileRenamed(oldName, newName);
-				}
-			}
-		}
-
-		public void profileChanged(IConnectionProfile dtpProfile) {
-			// this method shouldn't be called on IProfileListener1
-			throw new UnsupportedOperationException();
-		}
-
-		public void profileDeleted(IConnectionProfile dtpProfile) {
-			String name = dtpProfile.getName();
-			for (ConnectionProfileListener listener : this.listenerList.getListeners()) {
-				listener.connectionProfileRemoved(name);
-			}
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPConnectionProfileWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPConnectionProfileWrapper.java
deleted file mode 100644
index f07551a..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPConnectionProfileWrapper.java
+++ /dev/null
@@ -1,537 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import java.sql.Connection;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.datatools.connectivity.ConnectEvent;
-import org.eclipse.datatools.connectivity.IConnectionProfile;
-import org.eclipse.datatools.connectivity.IManagedConnection;
-import org.eclipse.datatools.connectivity.IManagedConnectionOfflineListener;
-import org.eclipse.datatools.connectivity.drivers.DriverManager;
-import org.eclipse.datatools.connectivity.drivers.jdbc.IJDBCDriverDefinitionConstants;
-import org.eclipse.datatools.connectivity.sqm.core.connection.ConnectionInfo;
-import org.eclipse.datatools.sqltools.core.DatabaseIdentifier;
-import org.eclipse.datatools.sqltools.core.profile.ProfileUtil;
-import org.eclipse.jpt.common.utility.internal.ListenerList;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpa.db.ConnectionListener;
-import org.eclipse.jpt.jpa.db.ConnectionProfile;
-import org.eclipse.jpt.jpa.db.DatabaseIdentifierAdapter;
-
-/**
- *  Wrap a DTP {@link IConnectionProfile}
- */
-final class DTPConnectionProfileWrapper
-	implements DTPDatabaseObject, ConnectionProfile
-{
-	/** the wrapped DTP connection profile */
-	private final IConnectionProfile dtpConnectionProfile;
-
-	/** adapter supplied by the client (determines identifier delimiters) */
-	private final DatabaseIdentifierAdapter identifierAdapter;
-
-	/** the DTP managed connection we listen to */
-	private final IManagedConnection dtpManagedConnection;
-
-	/**
-	 * forward events from the DTP managed connection above;
-	 * we listen and propagate events iff we have listeners ourselves
-	 */
-	private final LocalConnectionListener connectionListener;
-
-	/** lazy-initialized, and deleted at disconnect */
-	private DTPDatabaseWrapper database;
-
-
-	// ********** constants **********
-
-	private static final String LIVE_DTP_CONNECTION_TYPE = java.sql.Connection.class.getName();
-
-	private static final String OFFLINE_DTP_CONNECTION_TYPE = ConnectionInfo.class.getName();
-
-	private static final String DATABASE_PRODUCT_PROP_ID = "org.eclipse.datatools.connectivity.server.version";  //$NON-NLS-1$
-
-
-	// ********** constructor **********
-
-	DTPConnectionProfileWrapper(IConnectionProfile dtpConnectionProfile, DatabaseIdentifierAdapter identifierAdapter) {
-		super();
-		this.dtpConnectionProfile = dtpConnectionProfile;
-		this.identifierAdapter = identifierAdapter;
-		this.dtpManagedConnection = this.buildDTPManagedConnection();
-		this.connectionListener = new LocalConnectionListener();
-		// don't listen to the managed connection yet
-	}
-
-	private IManagedConnection buildDTPManagedConnection() {
-		return this.dtpConnectionProfile.getManagedConnection(this.getDTPConnectionType());
-	}
-
-	private String getDTPConnectionType() {
-		return this.dtpConnectionProfile.supportsWorkOfflineMode() ?
-				OFFLINE_DTP_CONNECTION_TYPE :
-				LIVE_DTP_CONNECTION_TYPE;
-	}
-
-
-	// ********** DatabaseObject implementation **********
-
-	public String getName() {
-		return this.dtpConnectionProfile.getName();
-	}
-
-	public String getIdentifier(String javaIdentifier) {
-		// connection profiles do not have "identifiers"
-		throw new UnsupportedOperationException();
-	}
-
-	public String getIdentifier() {
-		// connection profiles do not have "identifiers"
-		throw new UnsupportedOperationException();
-	}
-
-
-	// ********** DTPDatabaseObject implementation **********
-
-	public DTPConnectionProfileWrapper getConnectionProfile() {
-		return this;
-	}
-
-	public synchronized DTPDatabaseWrapper getDatabase() {
-		if (this.database == null) {
-			this.database = this.buildDatabase();
-		}
-		return this.database;
-	}
-
-
-	// ********** ConnectionProfile implementation **********
-
-	// ***** properties
-	public String getProviderID() {
-		return this.dtpConnectionProfile.getProviderId();
-	}
-
-	public String getInstanceID() {
-		return this.dtpConnectionProfile.getInstanceID();
-	}
-
-	public String getDatabaseName() {
-		return this.getProperty(IJDBCDriverDefinitionConstants.DATABASE_NAME_PROP_ID);
-	}
-
-	public String getDatabaseProduct() {
-		return this.getProperty(DATABASE_PRODUCT_PROP_ID);
-	}
-
-	public String getDatabaseVendor() {
-		return this.getProperty(IJDBCDriverDefinitionConstants.DATABASE_VENDOR_PROP_ID);
-	}
-
-	public String getDatabaseVersion() {
-		return this.getProperty(IJDBCDriverDefinitionConstants.DATABASE_VERSION_PROP_ID);
-	}
-
-	public String getDriverClassName() {
-		return this.getProperty(IJDBCDriverDefinitionConstants.DRIVER_CLASS_PROP_ID);
-	}
-
-	public String getURL() {
-		return this.getProperty(IJDBCDriverDefinitionConstants.URL_PROP_ID);
-	}
-
-	public String getUserName() {
-		String userName = this.getProperty(IJDBCDriverDefinitionConstants.USERNAME_PROP_ID);
-		return this.extractUserName(userName.trim());
-	}
-
-	private String extractUserName(String userName) {
-		String[] strings = userName.split("\\s+"); //$NON-NLS-1$
-		// bug 208946 handle username like "sys as sysdba" on Oracle
-		if ((strings.length == 3) && strings[1].equalsIgnoreCase("as")) { //$NON-NLS-1$
-	    	return strings[0];
-		}
-		return userName;
-	}
-
-	public String getUserPassword() {
-		return this.getProperty(IJDBCDriverDefinitionConstants.PASSWORD_PROP_ID);
-	}
-
-	public String getDriverDefinitionID() {
-		return this.getProperty(DRIVER_DEFINITION_PROP_ID);
-	}
-
-	public String getDriverJarList() {
-		return DriverManager.getInstance().getDriverInstanceByID(this.getDriverDefinitionID()).getJarList();
-	}
-
-	public String getDriverName() {
-		return DriverManager.getInstance().getDriverInstanceByID(this.getDriverDefinitionID()).getName();
-	}
-
-	// ***** connection
-	public boolean isActive() {
-		return this.isConnected() || this.isWorkingOffline();
-	}
-
-	public boolean isInactive() {
-		return ! this.isActive();
-	}
-
-	public boolean isConnected() {
-		return this.dtpManagedConnection.isConnected()
-				&& ! this.dtpManagedConnection.isWorkingOffline();
-	}
-
-	public boolean isDisconnected() {
-		return ! this.isConnected();
-	}
-
-	public void connect() {
-		if (this.isDisconnected()) {
-			this.checkStatus(this.dtpConnectionProfile.connect());
-		}
-	}
-	
-	public void disconnect() {
-		this.checkStatus(this.dtpConnectionProfile.disconnect());
-	}
-
-	public Connection getJDBCConnection() {
-		return this.getConnectionInfo().getSharedConnection();
-	}
-
-	// ***** off-line support
-	public boolean isWorkingOffline() {
-		return this.dtpManagedConnection.isWorkingOffline();
-	}
-
-	public boolean supportsWorkOfflineMode() {
-		return this.dtpConnectionProfile.supportsWorkOfflineMode();
-	}
-
-	public IStatus saveWorkOfflineData() {
-		return this.dtpConnectionProfile.saveWorkOfflineData();
-	}
-	
-	public boolean canWorkOffline() {
-		return this.dtpConnectionProfile.canWorkOffline();
-	}
-
-	public IStatus workOffline() {
-		return this.dtpConnectionProfile.workOffline();
-	}
-	
-	// ***** listeners
-	public synchronized void addConnectionListener(ConnectionListener listener) {
-		if (this.hasNoListeners()) {  // first listener added
-			this.startListening();
-		}
-		this.connectionListener.addConnectionListener(listener);
-	}
-
-	private void startListening() {
-		this.dtpManagedConnection.addConnectionListener(this.connectionListener);
-		if (this.database != null) {  // don't trigger database creation
-			if (this.isConnected()) {  // DTP does not change when off-line
-				this.database.startListening();
-			}
-		}
-	}
-
-	public synchronized void removeConnectionListener(ConnectionListener listener) {
-		this.connectionListener.removeConnectionListener(listener);
-		if (this.hasNoListeners()) {  // last listener removed
-			this.stopListening();
-		}
-	}
-
-	private void stopListening() {
-		if (this.database != null) {  // don't trigger database creation
-			if (this.isConnected()) {  // DTP does not change when off-line
-				this.database.stopListening();
-			}
-		}
-		this.dtpManagedConnection.removeConnectionListener(this.connectionListener);
-	}
-
-	boolean hasNoListeners() {
-		return this.connectionListener.hasNoListeners();
-	}
-
-	boolean hasAnyListeners() {
-		return this.connectionListener.hasAnyListeners();
-	}
-
-
-	// ********** internal methods **********
-
-	private void checkStatus(IStatus status) {
-		if (status.isOK()) {
-			return;
-		}
-		if (status.isMultiStatus()) {
-			for (IStatus child : status.getChildren()) {
-				this.checkStatus(child);  // recurse, looking for the first error
-			}
-		}
-		throw new RuntimeException(status.getMessage(), status.getException());
-	}
-
-	private DTPDatabaseWrapper buildDatabase() {
-		return this.isInactive() ? null : new DTPDatabaseWrapper(this, this.buildDTPDatabase());
-	}
-
-	private org.eclipse.datatools.modelbase.sql.schema.Database buildDTPDatabase() {
-		return this.isWorkingOffline() ?
-				this.buildOfflineDTPDatabase() :
-				this.buildLiveDTPDatabase();
-	}
-
-	private org.eclipse.datatools.modelbase.sql.schema.Database buildOfflineDTPDatabase() {
-		return this.getConnectionInfo().getSharedDatabase();
-	}
-
-	private ConnectionInfo getConnectionInfo() {
-		return (ConnectionInfo) this.dtpManagedConnection.getConnection().getRawConnection();
-	}
-
-	private org.eclipse.datatools.modelbase.sql.schema.Database buildLiveDTPDatabase() {
-		// TODO see DTP bug 202306
-		// pass connect=true in to ProfileUtil.getDatabase()
-		// there is a bug mentioned in a comment: 
-		//     "during the profile connected event notification, 
-		//     IManagedConnection is connected while IConnectionProfile is not"
-		// so, some hackery here to handle hackery there
-		return ProfileUtil.getDatabase(new DatabaseIdentifier(this.getName(), this.getDatabaseName()), true);
-	}
-
-	synchronized void clearDatabase() {
-		if (this.database != null) {
-			if (this.isConnected()) {  // DTP does not change when off-line
-				this.database.stopListening();
-			}
-			this.database = null;
-		}
-	}
-
-	public boolean treatIdentifiersAsDelimited() {
-		return this.identifierAdapter.treatIdentifiersAsDelimited();
-	}
-
-	void databaseChanged(DTPDatabaseWrapper db) {
-		this.connectionListener.databaseChanged(db);
-	}
-
-	void catalogChanged(DTPCatalogWrapper catalog) {
-		this.connectionListener.catalogChanged(catalog);
-	}
-
-	void schemaChanged(DTPSchemaWrapper schema) {
-		this.connectionListener.schemaChanged(schema);
-	}
-
-	void sequenceChanged(DTPSequenceWrapper sequence) {
-		this.connectionListener.sequenceChanged(sequence);
-	}
-
-	void tableChanged(DTPTableWrapper table) {
-		this.connectionListener.tableChanged(table);
-	}
-
-	void columnChanged(DTPColumnWrapper column) {
-		this.connectionListener.columnChanged(column);
-	}
-
-	void foreignKeyChanged(DTPForeignKeyWrapper foreignKey) {
-		this.connectionListener.foreignKeyChanged(foreignKey);
-	}
-
-	private String getProperty(String propertyName) {
-		return this.dtpConnectionProfile.getBaseProperties().getProperty(propertyName);
-	}
-
-
-	// ********** overrides **********
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.getName());
-	}
-
-
-	// ********** DTP connection listener **********
-
-	/**
-	 * This listener translates and forwards
-	 * {@link org.eclipse.datatools.connectivity.IManagedConnectionListener} and
-	 * {@link IManagedConnectionOfflineListener} events to
-	 * {@link ConnectionListener}s. Also, the connection profile delegates to
-	 * this listener when notifying {@link ConnectionListener}s of changes to
-	 * the database objects (catalogs, schemata, tables, etc.).
-	 */
-	private class LocalConnectionListener
-		implements IManagedConnectionOfflineListener
-	{
-		private ListenerList<ConnectionListener> listenerList = new ListenerList<ConnectionListener>(ConnectionListener.class);
-
-		LocalConnectionListener() {
-			super();
-		}
-
-		void addConnectionListener(ConnectionListener listener) {
-			this.listenerList.add(listener);
-		}
-
-		void removeConnectionListener(ConnectionListener listener) {
-			this.listenerList.remove(listener);
-		}
-
-		boolean hasNoListeners() {
-			return this.listenerList.isEmpty();
-		}
-
-		boolean hasAnyListeners() {
-			return ! this.listenerList.isEmpty();
-		}
-
-
-		// ********** IManagedConnectionListener implementation **********
-
-		// off-line or inactive => live
-		public void opened(ConnectEvent event) {
-			// do *not* build the database here - it is built on-demand;
-			// forward event to listeners
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.opened(DTPConnectionProfileWrapper.this);
-			}
-		}
-
-		/**
-		 * This method is never called from the base DTP code.
-		 * Perhaps DTP extenders call it....
-		 * See {@link org.eclipse.datatools.connectivity.internal.ManagedConnection#fireModifiedEvent(Object)},
-		 * which is never called...
-		 */
-		public void modified(ConnectEvent event) {
-			// forward event to listeners
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.modified(DTPConnectionProfileWrapper.this);
-			}
-		}
-
-		public boolean okToClose(ConnectEvent event) {
-			// forward event to listeners
-			boolean result = true;
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				result &= listener.okToClose(DTPConnectionProfileWrapper.this);
-			}
-			return result;
-		}
-
-		// live or off-line => inactive
-		public void aboutToClose(ConnectEvent event) {
-			// forward event to listeners
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.aboutToClose(DTPConnectionProfileWrapper.this);
-			}
-			// clear the database *before* the DTP connection is closed
-			// but after we notify our listeners of the "about to close";
-			// otherwise we leave ourselves open to hitting a closed database
-			DTPConnectionProfileWrapper.this.clearDatabase();
-		}
-
-		// live or off-line => inactive
-		public void closed(ConnectEvent event) {
-			// forward event to listeners
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.closed(DTPConnectionProfileWrapper.this);
-			}
-		}
-
-
-		// ********** IManagedConnectionOfflineListener implementation **********
-
-		// live => off-line
-		public boolean okToDetach(ConnectEvent event) {
-			// convert the event to an "ok to close" event;
-			// we are "closing" the live connection
-			return this.okToClose(event);
-		}
-		
-		// live => off-line
-		public void aboutToDetach(ConnectEvent event) {
-			// convert the event to an "about to close" event;
-			// we are "closing" the live connection
-			this.aboutToClose(event);
-		}
-
-		// inactive or live => off-line
-		public void workingOffline(ConnectEvent event) {
-			// convert the event to an "opened" event;
-			// we are "opening" the off-line connection
-			this.opened(event);
-		}
-
-		// off-line => live
-		public void aboutToAttach(ConnectEvent event) {
-			// convert the event to an "about to close" event;
-			// we are "closing" the off-line connection
-			this.aboutToClose(event);
-		}
-
-
-		// ********** internal methods **********
-
-		void databaseChanged(DTPDatabaseWrapper db) {
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.databaseChanged(DTPConnectionProfileWrapper.this, db);
-			}
-		}
-
-		void catalogChanged(DTPCatalogWrapper catalog) {
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.catalogChanged(DTPConnectionProfileWrapper.this, catalog);
-			}
-		}
-
-		void schemaChanged(DTPSchemaWrapper schema) {
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.schemaChanged(DTPConnectionProfileWrapper.this, schema);
-			}
-		}
-
-		void sequenceChanged(DTPSequenceWrapper sequence) {
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.sequenceChanged(DTPConnectionProfileWrapper.this, sequence);
-			}
-		}
-
-		void tableChanged(DTPTableWrapper table) {
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.tableChanged(DTPConnectionProfileWrapper.this, table);
-			}
-		}
-
-		void columnChanged(DTPColumnWrapper column) {
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.columnChanged(DTPConnectionProfileWrapper.this, column);
-			}
-		}
-
-		void foreignKeyChanged(DTPForeignKeyWrapper foreignKey) {
-			for (ConnectionListener listener : this.listenerList.getListeners()) {
-				listener.foreignKeyChanged(DTPConnectionProfileWrapper.this, foreignKey);
-			}
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseObject.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseObject.java
deleted file mode 100644
index 57caa3e..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseObject.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import org.eclipse.jpt.jpa.db.DatabaseObject;
-
-/**
- * Internal interface: DTP database object.
- */
-interface DTPDatabaseObject
-	extends DatabaseObject
-{
-	/**
-	 * covariant override
-	 */
-	DTPConnectionProfileWrapper getConnectionProfile();
-
-	/**
-	 * covariant override
-	 */
-	public DTPDatabaseWrapper getDatabase();
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseObjectWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseObjectWrapper.java
deleted file mode 100644
index d498e15..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseObjectWrapper.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObjectListener;
-import org.eclipse.datatools.connectivity.sqm.core.rte.RefreshManager;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpa.db.DatabaseObject;
-import org.eclipse.jpt.jpa.db.internal.driver.DTPDriverAdapter;
-
-/**
- * DTP Object Wrapper base class
- */
-abstract class DTPDatabaseObjectWrapper<P extends DTPDatabaseObject>
-	implements DTPDatabaseObject
-{
-	/** we need a way to get to the connection profile */
-	final P parent;
-
-	/** listen for the "catalog object" being refreshed */
-	private final ICatalogObjectListener catalogObjectListener;
-
-
-	// ********** constructor **********
-
-	DTPDatabaseObjectWrapper(P parent) {
-		super();
-		this.parent = parent;
-		if (this.getConnectionProfile().isConnected()) {
-			// we only listen to "live" connections (as opposed to "off-line" connections);
-			// and the model is rebuilt when the connection connects or disconnects
-			this.catalogObjectListener = this.buildCatalogObjectListener();
-			if (this.getConnectionProfile().hasAnyListeners()) {
-				this.startListening();
-			}
-		} else {
-			this.catalogObjectListener = null;
-		}
-	}
-
-
-	// ********** names vs. identifiers **********
-
-	/**
-	 * Examples:<ul>
-	 * <li>Oracle etc.<ul><code>
-	 *     <li>Table(FOO) vs. "Foo" => null
-	 *     <li>Table(BAR) vs. "Foo" => "BAR"
-	 *     <li>Table(Foo) vs. "Foo" => "\"Foo\""
-	 *     <li>Table(Bar) vs. "Foo" => "\"Bar\""
-	 * </code></ul>
-	 * <li>PostgreSQL etc.<ul><code>
-	 *     <li>Table(foo) vs. "Foo" => null
-	 *     <li>Table(bar) vs. "Foo" => "bar"
-	 *     <li>Table(Foo) vs. "Foo" => "\"Foo\""
-	 *     <li>Table(Bar) vs. "Foo" => "\"Bar\""
-	 * </code></ul>
-	 * <li>SQL Server etc.<ul><code>
-	 *     <li>Table(Foo) vs. "Foo" => null
-	 *     <li>Table(foo) vs. "Foo" => "foo"
-	 *     <li>Table(bar) vs. "Foo" => "bar"
-	 *     <li>Table(Bar) vs. "Foo" => "Bar"
-	 * </code></ul>
-	 * </ul>
-	 */
-	public String getIdentifier(String defaultName) {
-		return this.getDTPDriverAdapter().convertNameToIdentifier(this.getName(), defaultName);
-	}
-
-	/**
-	 * Examples:<ul>
-	 * <li>Oracle etc.<ul><code>
-	 *     <li>Table(FOO) => "FOO"
-	 *     <li>Table(Foo) => "\"Foo\""
-	 *     <li>Table(foo) => "\"foo\""
-	 *     <li>Table(foo++) => "\"foo++\""
-	 *     <li>Table(f"o) => "\"f\"\"o\"" (i.e. "f""o")
-	 * </code></ul>
-	 * <li>PostgreSQL etc.<ul><code>
-	 *     <li>Table(FOO) => "\"FOO\""
-	 *     <li>Table(Foo) => "\"Foo\""
-	 *     <li>Table(foo) => "foo"
-	 *     <li>Table(foo++) => "\"foo++\""
-	 *     <li>Table(f"o) => "\"f\"\"o\"" (i.e. "f""o")
-	 * </code></ul>
-	 * <li>SQL Server etc.<ul><code>
-	 *     <li>Table(FOO) => "FOO"
-	 *     <li>Table(Foo) => "Foo"
-	 *     <li>Table(foo) => "foo"
-	 *     <li>Table(foo++) => "\"foo++\""
-	 *     <li>Table(f"o) => "\"f\"\"o\"" (i.e. "f""o")
-	 * </code></ul>
-	 * <li>MySQL<ul><code>
-	 *     <li>Table(FOO) => "FOO"
-	 *     <li>Table(Foo) => "Foo"
-	 *     <li>Table(foo) => "foo"
-	 *     <li>Table(foo++) => "`foo++`"
-	 *     <li>Table(f"o) => "`f\"o`" (i.e. `f"o`)
-	 * </code></ul>
-	 * </ul>
-	 */
-	public String getIdentifier() {
-		return this.convertNameToIdentifier(this.getName());
-	}
-
-	String convertNameToIdentifier(String name) {
-		return this.getDTPDriverAdapter().convertNameToIdentifier(name);
-	}
-
-
-	// ********** DTP database object listener **********
-
-	private ICatalogObjectListener buildCatalogObjectListener() {
-		return new ICatalogObjectListener() {
-			public void notifyChanged(ICatalogObject dmElement, int eventType) {
-				if (dmElement == DTPDatabaseObjectWrapper.this.getCatalogObject()) {
-					// 'eventType' doesn't seem to be very useful, so drop it
-					DTPDatabaseObjectWrapper.this.catalogObjectChanged();
-				}
-			}
-		};
-	}
-
-	/**
-	 * Typically, return the wrapped DTP database object.
-	 */
-	abstract ICatalogObject getCatalogObject();
-
-	/**
-	 * Typically, a subclass will override this method to
-	 * call <code>super.catalogObjectChanged()</code> and
-	 * notify the connection profile something has changed
-	 */
-	void catalogObjectChanged() {
-		this.clear();
-	}
-
-	/**
-	 * The DTP object has changed, clear the wrapper's state so it will be
-	 * synchronized on-demand.
-	 */
-	abstract void clear();
-
-	// this should only be called when the connection profile is "live" and has listeners
-	void startListening() {
-		this.checkListener();
-		RefreshManager.getInstance().AddListener(this.getCatalogObject(), this.catalogObjectListener);
-	}
-
-	// this should only be called when the connection profile is "live" and has no listeners
-	void stopListening() {
-		this.checkListener();
-        RefreshManager.getInstance().removeListener(this.getCatalogObject(), this.catalogObjectListener);
-	}
-
-	/**
-	 * We only build {@link #catalogObjectListener} when the connection
-	 * profile is "live". If we get here and it is <code>null</code>,
-	 * something is wrong.
-	 */
-	private void checkListener() {
-		if (this.catalogObjectListener == null) {
-			throw new IllegalStateException("the catalog listener is null");  //$NON-NLS-1$
-		}
-	}
-
-
-	// ********** misc **********
-
-	public DTPConnectionProfileWrapper getConnectionProfile() {
-		return this.parent.getConnectionProfile();
-	}
-
-	public DTPDatabaseWrapper getDatabase() {
-		return this.parent.getDatabase();
-	}
-
-	DTPDriverAdapter getDTPDriverAdapter() {
-		return this.getDatabase().getDTPDriverAdapter();
-	}
-
-	/**
-	 * Convenience method.
-	 */
-	<T extends DatabaseObject> T selectDatabaseObjectNamed(Iterable<T> databaseObjects, String name) {
-		for (T databaseObject : databaseObjects) {
-			if (databaseObject.getName().equals(name)) {
-				return databaseObject;
-			}
-		}
-		return null;
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.getName());
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseWrapper.java
deleted file mode 100644
index ed7d515..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPDatabaseWrapper.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.datatools.connectivity.sqm.core.definition.DatabaseDefinition;
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.datatools.connectivity.sqm.internal.core.RDBCorePlugin;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jpt.jpa.db.Catalog;
-import org.eclipse.jpt.jpa.db.Database;
-import org.eclipse.jpt.jpa.db.DatabaseObject;
-import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.jpt.jpa.db.internal.driver.DTPDriverAdapter;
-import org.eclipse.jpt.jpa.db.internal.driver.DTPDriverAdapterManager;
-
-/**
- * Wrap a DTP Database.
- * <p>
- * Catalogs vs. Schemata:<br>
- * Typically, if a DTP database does not support <em>catalogs</em>,
- * o.e.datatools.modelbase.sql.schema.Database#getCatalogs() will return a
- * single catalog without a name (actually, it's an empty string). This catalog
- * will contain all the database's schemata. We try to ignore this catalog and
- * return the schemata from the database directly.
- * <p>
- * Catalog Note 1:<br>
- * As of Jan 2009, the DTP MySQL driver is not consistent with this pattern.
- * A DTP MySQL database has <em>no</em> catalogs; it holds a single schema
- * directly, and that schema has the same name as the database. See bug 249013.
- * <p>
- * Catalog Note 2:<br>
- * As of Jan 2009, the PostgreSQL JDBC driver complicates this pattern a bit.
- * Even though PostgreSQL does not support <em>catalogs</em>, its JDBC driver
- * returns a single catalog that has the same name as the database specified
- * in the JDBC connection URL. The DTP PostgreSQL driver simply replicates this
- * behavior. Unfortunately, this catalog can be unnamed; i.e. its name is an
- * empty string....
- * <p>
- * (Yet Another) Note:<br>
- * We use <em>name</em> when dealing with the unmodified name of a database object
- * as supplied by the database itself (i.e. it is not delimited and it is always
- * case-sensitive).
- * We use <em>identifier</em> when dealing with a string representation of a database
- * object name (i.e. it may be delimited and, depending on the vendor, it may
- * be case-insensitive).
- */
-final class DTPDatabaseWrapper
-	extends DTPSchemaContainerWrapper<DTPConnectionProfileWrapper>
-	implements Database
-{
-	/** the wrapped DTP database */
-	private final org.eclipse.datatools.modelbase.sql.schema.Database dtpDatabase;
-
-	/** database-specific behavior */
-	private final DTPDriverAdapter dtpDriverAdapter;
-
-	/** lazy-initialized, sorted */
-	private DTPCatalogWrapper[] catalogs;
-
-
-	// ********** constructor **********
-
-	DTPDatabaseWrapper(DTPConnectionProfileWrapper connectionProfile, org.eclipse.datatools.modelbase.sql.schema.Database dtpDatabase) {
-		super(connectionProfile);
-		this.dtpDatabase = dtpDatabase;
-		this.dtpDriverAdapter = DTPDriverAdapterManager.instance().buildAdapter(this.getVendorName(), this);
-	}
-
-
-	// ********** DTPDatabaseObjectWrapper implementation **********
-
-	@Override
-	ICatalogObject getCatalogObject() {
-		return (ICatalogObject) this.dtpDatabase;
-	}
-
-	/* TODO
-	 * We might want to listen to the "virtual" catalog; but that's probably
-	 * not necessary since there is no easy way for the user to refresh it
-	 * (i.e. it is not displayed in the DTP UI).
-	 */
-	@Override
-	synchronized void catalogObjectChanged() {
-		super.catalogObjectChanged();
-		this.getConnectionProfile().databaseChanged(this);
-	}
-
-	@Override
-	public DTPDatabaseWrapper getDatabase() {
-		return this;
-	}
-
-
-	// ********** DTPSchemaContainerWrapper implementation **********
-
-	@Override
-	List<org.eclipse.datatools.modelbase.sql.schema.Schema> getDTPSchemas() {
-		return this.dtpDriverAdapter.getDTPSchemas();
-	}
-
-	@Override
-	DTPSchemaWrapper getSchema(org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema) {
-		return this.getSchema_(dtpSchema);
-	}
-
-	/**
-	 * This is only called from a catalog, so we know we have catalogs;
-	 * i.e. the search has to descend through catalogs, then to schemata.
-	 */
-	DTPSchemaWrapper getSchemaFromCatalogs(org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema) {
-		return this.getCatalog(dtpSchema.getCatalog()).getSchema_(dtpSchema);
-	}
-
-	/**
-	 * This is only called from a schema when the database is the schema
-	 * container, so we know we don't have any catalogs.
-	 */
-	@Override
-	DTPTableWrapper getTable(org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) {
-		return this.getTable_(dtpTable);
-	}
-
-	/**
-	 * This is only called from a catalog, so we know we have catalogs;
-	 * i.e. the search has to descend through catalogs, then to schemata.
-	 */
-	DTPTableWrapper getTableFromCatalogs(org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) {
-		return this.getCatalog(dtpTable.getSchema().getCatalog()).getTable_(dtpTable);
-	}
-
-	/**
-	 * This is only called from a schema when the database is the schema
-	 * container, so we know we don't have any catalogs.
-	 */
-	@Override
-	DTPColumnWrapper getColumn(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		return this.getColumn_(dtpColumn);
-	}
-
-	/**
-	 * This is only called from a catalog, so we know we have catalogs;
-	 * i.e. the search has to descend through catalogs, then to schemata.
-	 */
-	DTPColumnWrapper getColumnFromCatalogs(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		return this.getCatalog(dtpColumn.getTable().getSchema().getCatalog()).getColumn_(dtpColumn);
-	}
-
-
-	// ********** catalogs **********
-
-	public boolean supportsCatalogs() {
-		return this.dtpDriverAdapter.supportsCatalogs();
-	}
-
-	public Iterable<Catalog> getCatalogs() {
-		return new ArrayIterable<Catalog>(this.getCatalogArray());
-	}
-
-	private Iterable<DTPCatalogWrapper> getCatalogWrappers() {
-		return new ArrayIterable<DTPCatalogWrapper>(this.getCatalogArray());
-	}
-
-	private synchronized DTPCatalogWrapper[] getCatalogArray() {
-		if (this.catalogs == null) {
-			this.catalogs = this.buildCatalogArray();
-		}
-		return this.catalogs;
-	}
-
-	private DTPCatalogWrapper[] buildCatalogArray() {
-		List<org.eclipse.datatools.modelbase.sql.schema.Catalog> dtpCatalogs = this.getDTPCatalogs();
-		DTPCatalogWrapper[] result = new DTPCatalogWrapper[dtpCatalogs.size()];
-		for (int i = result.length; i-- > 0;) {
-			result[i] = new DTPCatalogWrapper(this, dtpCatalogs.get(i));
-		}
-		return ArrayTools.sort(result, DEFAULT_COMPARATOR);
-	}
-
-	private List<org.eclipse.datatools.modelbase.sql.schema.Catalog> getDTPCatalogs() {
-		return this.dtpDriverAdapter.getDTPCatalogs();
-	}
-
-	public int getCatalogsSize() {
-		return this.getCatalogArray().length;
-	}
-
-	/**
-	 * Return the catalog for the specified DTP catalog.
-	 */
-	DTPCatalogWrapper getCatalog(org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog) {
-		for (DTPCatalogWrapper catalog : this.getCatalogArray()) {
-			if (catalog.wraps(dtpCatalog)) {
-				return catalog;
-			}
-		}
-		throw new IllegalArgumentException("invalid DTP catalog: " + dtpCatalog);  //$NON-NLS-1$
-	}
-
-	public Iterable<String> getSortedCatalogNames() {
-		// the catalogs are already sorted
-		return new TransformationIterable<DatabaseObject, String>(this.getCatalogWrappers(), NAME_TRANSFORMER);
-	}
-
-	public DTPCatalogWrapper getCatalogNamed(String name) {
-		return this.selectDatabaseObjectNamed(this.getCatalogWrappers(), name);
-	}
-
-	public Iterable<String> getSortedCatalogIdentifiers() {
-		// the catalogs are already sorted
-		return new TransformationIterable<DatabaseObject, String>(this.getCatalogWrappers(), IDENTIFIER_TRANSFORMER);
-	}
-
-	public Catalog getCatalogForIdentifier(String identifier) {
-		return this.dtpDriverAdapter.selectCatalogForIdentifier(this.getCatalogs(), identifier);
-	}
-
-	public synchronized DTPCatalogWrapper getDefaultCatalog() {
-		return this.getCatalogForNames(this.getDefaultCatalogNames());
-	}
-
-	private Iterable<String> getDefaultCatalogNames() {
-		return this.dtpDriverAdapter.getDefaultCatalogNames();
-	}
-
-	/**
-	 * Return the first catalog found.
-	 */
-	private DTPCatalogWrapper getCatalogForNames(Iterable<String> names) {
-		for (String name : names) {
-			DTPCatalogWrapper catalog = this.getCatalogNamed(name);
-			if (catalog != null) {
-				return catalog;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * If we find a default catalog, return its identifier;
-	 * otherwise, return the last name on the list of default names.
-	 * (Some databases have multiple possible default names.)
-	 * Return null if the database does not support catalogs.
-	 */
-	public synchronized String getDefaultCatalogIdentifier() {
-		Iterable<String> names = this.getDefaultCatalogNames();
-		DTPCatalogWrapper catalog = this.getCatalogForNames(names);
-		if (catalog != null) {
-			return catalog.getIdentifier();
-		}
-		Iterator<String> stream = names.iterator();
-		return stream.hasNext() ? this.convertNameToIdentifier(CollectionTools.last(stream)) : null;
-	}
-
-
-	// ********** names vs. identifiers **********
-
-	// override to make method public since it's in the Database interface
-	@Override
-	public String convertNameToIdentifier(String name) {
-		return super.convertNameToIdentifier(name);
-	}
-
-
-	// ********** misc **********
-
-	public org.eclipse.datatools.modelbase.sql.schema.Database getDTPDatabase() {
-		return this.dtpDatabase;
-	}
-
-	public String getName() {
-		return this.dtpDatabase.getName();
-	}
-
-	public String getVendorName() {
-		return this.dtpDatabase.getVendor();
-	}
-
-	public String getVersion() {
-		return this.dtpDatabase.getVersion();
-	}
-
-	@Override
-	DTPDriverAdapter getDTPDriverAdapter() {
-		return this.dtpDriverAdapter;
-	}
-
-	public Table selectTableForIdentifier(Iterable<Table> tables, String identifier) {
-		return this.dtpDriverAdapter.selectTableForIdentifier(tables, identifier);
-	}
-
-	// TODO add to interface? (so it can be used by AbstractDTPDriverAdapter)
-	DatabaseDefinition getDTPDefinition() {
-		return RDBCorePlugin.getDefault().getDatabaseDefinitionRegistry().getDefinition(this.dtpDatabase);
-	}
-
-
-	// ********** listening **********
-
-	@Override
-	synchronized void startListening() {
-		if (this.catalogs != null) {
-			this.startCatalogs();
-		}
-		super.startListening();
-	}
-
-	private void startCatalogs() {
-		for (DTPCatalogWrapper catalog : this.catalogs) {
-			catalog.startListening();
-		}
-	}
-
-	@Override
-	synchronized void stopListening() {
-		if (this.catalogs != null) {
-			this.stopCatalogs();
-		}
-		super.stopListening();
-	}
-
-	private void stopCatalogs() {
-		for (DTPCatalogWrapper catalog : this.catalogs) {
-			catalog.stopListening();
-		}
-	}
-
-
-	// ********** clear **********
-
-	@Override
-	synchronized void clear() {
-		if (this.catalogs != null) {
-			this.clearCatalogs();
-		}
-		super.clear();
-	}
-
-	private void clearCatalogs() {
-		this.stopCatalogs();
-		for (DTPCatalogWrapper catalog : this.catalogs) {
-			catalog.clear();
-		}
-		this.catalogs = null;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPForeignKeyWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPForeignKeyWrapper.java
deleted file mode 100644
index 3a341c6..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPForeignKeyWrapper.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-
-/**
- *  Wrap a DTP ForeignKey
- */
-final class DTPForeignKeyWrapper
-	extends DTPDatabaseObjectWrapper<DTPTableWrapper>
-	implements ForeignKey
-{
-	/** the wrapped DTP foreign key */
-	private final org.eclipse.datatools.modelbase.sql.constraints.ForeignKey dtpForeignKey;
-
-	/** lazy-initialized */
-	private DTPTableWrapper referencedTable;
-
-	/** lazy-initialized */
-	private LocalColumnPair[] columnPairs;
-
-	/** lazy-initialized - but it can be 'null' so we use a flag */
-	private String defaultAttributeName;
-	private boolean defaultAttributeNameCalculated = false;
-
-
-	// ********** constructor **********
-
-	DTPForeignKeyWrapper(DTPTableWrapper baseTable, org.eclipse.datatools.modelbase.sql.constraints.ForeignKey dtpForeignKey) {
-		super(baseTable);
-		this.dtpForeignKey = dtpForeignKey;
-	}
-
-
-	// ********** DTPDatabaseObjectWrapper implementation **********
-
-	@Override
-	ICatalogObject getCatalogObject() {
-		return (ICatalogObject) this.dtpForeignKey;
-	}
-
-	@Override
-	synchronized void catalogObjectChanged() {
-		super.catalogObjectChanged();
-		this.getConnectionProfile().foreignKeyChanged(this);
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.getName() + ": " + Arrays.asList(this.getColumnPairArray()));  //$NON-NLS-1$
-	}
-
-
-	// ********** ForeignKey implementation **********
-
-	public String getName() {
-		return this.dtpForeignKey.getName();
-	}
-
-	public DTPTableWrapper getBaseTable() {
-		return this.parent;
-	}
-
-	public synchronized DTPTableWrapper getReferencedTable() {
-		if (this.referencedTable == null) {
-			this.referencedTable = this.getBaseTable().getTable(this.dtpForeignKey.getUniqueConstraint().getBaseTable());
-		}
-		return this.referencedTable;
-	}
-
-	public boolean referencesSingleColumnPrimaryKey() {
-		if (this.getColumnPairsSize() != 1) {
-			return false;
-		}
-		if (this.getReferencedTable().getPrimaryKeyColumnsSize() != 1) {
-			return false;
-		}
-		return this.getColumnPair().getReferencedColumn() == this.getReferencedTable().getPrimaryKeyColumn();
-	}
-
-	// ***** column pairs
-
-	public Iterable<ColumnPair> getColumnPairs() {
-		return new ArrayIterable<ColumnPair>(this.getColumnPairArray());
-	}
-
-	public LocalColumnPair getColumnPair() {
-		LocalColumnPair[] pairs = this.getColumnPairArray();
-		if (pairs.length != 1) {
-			throw new IllegalStateException("multiple column pairs: " + pairs.length);  //$NON-NLS-1$
-		}
-		return pairs[0];
-	}
-
-	private Iterable<LocalColumnPair> getLocalColumnPairs() {
-		return new ArrayIterable<LocalColumnPair>(this.getColumnPairArray());
-	}
-
-	private synchronized LocalColumnPair[] getColumnPairArray() {
-		if (this.columnPairs == null) {
-			this.columnPairs = this.buildColumnPairArray();
-		}
-		return this.columnPairs;
-	}
-
-	private LocalColumnPair[] buildColumnPairArray() {
-		List<org.eclipse.datatools.modelbase.sql.tables.Column> baseColumns = this.getDTPBaseColumns();
-		int size = baseColumns.size();
-		List<org.eclipse.datatools.modelbase.sql.tables.Column> refColumns = this.getDTPReferenceColumns();
-		if (refColumns.size() != size) {
-			throw new IllegalStateException(this.getBaseTable().getName() + '.' + this.getName() +
-								" - mismatched sizes: " + size + " vs. " + refColumns.size());  //$NON-NLS-1$  //$NON-NLS-2$
-		}
-		LocalColumnPair[] result = new LocalColumnPair[baseColumns.size()];
-		for (int i = baseColumns.size(); i-- > 0; ) {
-			result[i] = new LocalColumnPair(
-								this.getBaseTable().getColumn(baseColumns.get(i)),
-								this.getBaseTable().getColumn(refColumns.get(i))
-						);
-		}
-		return ArrayTools.sort(result, ColumnPair.BASE_COLUMN_COMPARATOR);
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private List<org.eclipse.datatools.modelbase.sql.tables.Column> getDTPBaseColumns() {
-		return this.dtpForeignKey.getMembers();
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private List<org.eclipse.datatools.modelbase.sql.tables.Column> getDTPReferenceColumns() {
-		return this.dtpForeignKey.getUniqueConstraint().getMembers();
-	}
-
-	public int getColumnPairsSize() {
-		return this.getColumnPairArray().length;
-	}
-
-	public Iterable<Column> getBaseColumns() {
-		return new TransformationIterable<LocalColumnPair, Column>(this.getLocalColumnPairs()) {
-			@Override
-			protected Column transform(LocalColumnPair pair) {
-				return pair.getBaseColumn();
-			}
-		};
-	}
-
-	boolean baseColumnsContains(Column column) {
-		return CollectionTools.contains(this.getBaseColumns(), column);
-	}
-
-	public Iterable<Column> getNonPrimaryKeyBaseColumns() {
-		return new FilteringIterable<Column>(this.getBaseColumns()) {
-			@Override
-			protected boolean accept(Column column) {
-				return ! column.isPartOfPrimaryKey();
-			}
-		};
-	}
-
-	public Iterable<Column> getReferencedColumns() {
-		return new TransformationIterable<LocalColumnPair, Column>(this.getLocalColumnPairs()) {
-			@Override
-			protected Column transform(LocalColumnPair columnPair) {
-				return columnPair.getReferencedColumn();
-			}
-		};
-	}
-
-	// ***** attribute name
-
-	public String getAttributeName() {
-		String defaultName = this.getDefaultAttributeName();
-		return (defaultName != null) ? defaultName : this.getNonDefaultAttributeName();
-	}
-
-	public synchronized String getDefaultAttributeName() {
-		if ( ! this.defaultAttributeNameCalculated) {
-			this.defaultAttributeNameCalculated = true;
-			this.defaultAttributeName = this.buildDefaultAttributeName();
-		}
-		return this.defaultAttributeName;
-	}
-
-	private String buildDefaultAttributeName() {
-		if ( ! this.referencesSingleColumnPrimaryKey()) {
-			return null;
-		}
-		LocalColumnPair columnPair = this.getColumnPair();
-		String baseColName = columnPair.getBaseColumn().getName();
-		String refColName = columnPair.getReferencedColumn().getName();
-		if (baseColName.length() <= (refColName.length() + 1)) {
-			return null;
-		}
-		if ( ! baseColName.endsWith(refColName)) {
-			return null;
-		}
-		int _index = baseColName.length() - refColName.length() - 1;
-		if (baseColName.charAt(_index) != '_') {
-			return null;
-		}
-		return baseColName.substring(0, _index);
-	}
-
-	/**
-	 * If this is a simple (single-column) foreign key, use the name of the
-	 * single base column to build a name. If this is a compound foreign key,
-	 * return the name of the referenced table.
-	 */
-	// TODO if there is only one FK to a given table, use the table's name instead of the column's name?
-	private String getNonDefaultAttributeName() {
-		return (this.getColumnPairsSize() == 1) ?
-						this.getNonDefaultAttributeNameFromBaseColumn() :
-						this.getReferencedTable().getName();
-	}
-
-	/**
-	 * The underscore check is helpful when the referenced column is <em>not</em> the
-	 * primary key of the referenced table (i.e. it has only a <em>unique</em> constraint).
-	 * <pre>
-	 *     ForeignKey(EMP.CUBICLE_ID => CUBICLE.ID) => "CUBICLE"
-	 *     ForeignKey(EMP.CUBICLEID  => CUBICLE.ID) => "CUBICLE"
-	 *     ForeignKey(EMP.CUBICLE_PK => CUBICLE.ID) => "CUBICLE_PK"
-	 * </pre>
-	 */
-	private String getNonDefaultAttributeNameFromBaseColumn() {
-		LocalColumnPair columnPair = this.getColumnPair();
-		String baseColName = columnPair.getBaseColumn().getName();
-		String refColName = columnPair.getReferencedColumn().getName();
-		int len = baseColName.length();
-		int refLen = refColName.length();
-		if ((len > refLen) && baseColName.endsWith(refColName)) {
-			len = len - refLen;
-			if ((len > 1) && baseColName.charAt(len - 1) == '_') {
-				len = len - 1;
-			}
-		}
-		return baseColName.substring(0, len);
-	}
-
-	/**
-	 * Examples:<ul>
-	 * <li>Oracle etc.<ul><code>
-	 *     <li>ForeignKey(FOO_ID => ID) vs. "foo" => null
-	 *     <li>ForeignKey(FOO_ID => FOO_ID) vs. "foo" => "FOO_ID"
-	 *     <li>ForeignKey(FOO => ID) vs. "foo" => "FOO"
-	 *     <li>ForeignKey(Foo_ID => ID) vs. "foo" => "\"Foo_ID\""
-	 * </code></ul>
-	 * <li>PostgreSQL etc.<ul><code>
-	 *     <li>ForeignKey(foo_id => id) vs. "foo" => null
-	 *     <li>ForeignKey(foo_id => foo_id) vs. "foo" => "foo_id"
-	 *     <li>ForeignKey(foo => id) vs. "foo" => "foo"
-	 *     <li>ForeignKey(Foo_ID => ID) vs. "foo" => "\"Foo_ID\""
-	 * </code></ul>
-	 * <li>SQL Server etc.<ul><code>
-	 *     <li>ForeignKey(foo_ID => ID) vs. "foo" => null
-	 *     <li>ForeignKey(FOO_ID => FOO_ID) vs. "foo" => "FOO_ID"
-	 *     <li>ForeignKey(FOO => ID) vs. "foo" => "FOO"
-	 *     <li>ForeignKey(Foo_ID => ID) vs. "foo" => "Foo_ID"
-	 * </code></ul>
-	 * </ul>
-	 */
-	public String getJoinColumnAnnotationIdentifier(String attributeName) {
-		String baseColumnName = this.getColumnPair().getBaseColumn().getName();
-		String defaultBaseColumnName = attributeName + '_' + this.getReferencedTable().getPrimaryKeyColumn().getName();
-		return this.getDTPDriverAdapter().convertNameToIdentifier(baseColumnName, defaultBaseColumnName);
-	}
-
-
-	// ********** internal methods **********
-
-	boolean wraps(org.eclipse.datatools.modelbase.sql.constraints.ForeignKey foreignKey) {
-		return this.dtpForeignKey == foreignKey;
-	}
-
-	@Override
-	synchronized void clear() {
-		// the foreign key does not "contain" any other objects,
-		// so we don't need to forward the #clear()
-		this.defaultAttributeNameCalculated = false;
-		this.defaultAttributeName = null;
-		this.columnPairs =  null;
-		this.referencedTable = null;
-	}
-
-
-	// ********** column pair implementation **********
-
-	static class LocalColumnPair implements ColumnPair {
-		private final DTPColumnWrapper baseColumn;
-		private final DTPColumnWrapper referencedColumn;
-
-		LocalColumnPair(DTPColumnWrapper baseColumn, DTPColumnWrapper referencedColumn) {
-			super();
-			if ((baseColumn == null) || (referencedColumn == null)) {
-				throw new NullPointerException();
-			}
-			this.baseColumn = baseColumn;
-			this.referencedColumn = referencedColumn;
-		}
-
-		public DTPColumnWrapper getBaseColumn() {
-			return this.baseColumn;
-		}
-
-		public DTPColumnWrapper getReferencedColumn() {
-			return this.referencedColumn;
-		}
-
-		@Override
-		public String toString() {
-			return StringTools.buildToStringFor(this, this.baseColumn.getName() + "=>" + this.referencedColumn.getName());  //$NON-NLS-1$
-		}
-
-	}
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSchemaContainerWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSchemaContainerWrapper.java
deleted file mode 100644
index 46d0f6a..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSchemaContainerWrapper.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import java.util.List;
-
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jpt.jpa.db.DatabaseObject;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.SchemaContainer;
-
-/**
- * Coalesce behavior for a schema container (i.e. database or catalog).
- */
-abstract class DTPSchemaContainerWrapper<P extends DTPDatabaseObject>
-	extends DTPDatabaseObjectWrapper<P>
-	implements SchemaContainer
-{
-	/** lazy-initialized */
-	private DTPSchemaWrapper[] schemata;
-
-
-	// ********** constructor **********
-
-	DTPSchemaContainerWrapper(P parent) {
-		super(parent);
-	}
-
-
-	// ********** DTPDatabaseObjectWrapper implementation **********
-
-	@Override
-	synchronized void catalogObjectChanged() {
-		super.catalogObjectChanged();
-	}
-
-
-	// ********** abstract methods **********
-
-	/**
-	 * Return the schema container's DTP schemas.
-	 */
-	abstract List<org.eclipse.datatools.modelbase.sql.schema.Schema> getDTPSchemas();
-
-	/**
-	 * Return the schema for the specified DTP schema.
-	 */
-	abstract DTPSchemaWrapper getSchema(org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema);
-
-	/**
-	 * Pre-condition: The schema container (database or catalog) contains
-	 * the specified schema.
-	 */
-	DTPSchemaWrapper getSchema_(org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema) {
-		for (DTPSchemaWrapper schema : this.getSchemaArray()) {
-			if (schema.wraps(dtpSchema)) {
-				return schema;
-			}
-		}
-		throw new IllegalArgumentException("invalid DTP schema: " + dtpSchema);  //$NON-NLS-1$
-	}
-
-	/**
-	 * Return the table for the specified DTP table.
-	 * This is only called from a schema (to its container).
-	 */
-	abstract DTPTableWrapper getTable(org.eclipse.datatools.modelbase.sql.tables.Table dtpTable);
-
-	/**
-	 * Pre-condition: The schema container contains the specified table.
-	 */
-	DTPTableWrapper getTable_(org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) {
-		return this.getSchema_(dtpTable.getSchema()).getTable_(dtpTable);
-	}
-
-	/**
-	 * Return the column for the specified DTP column.
-	 * This is only called from a schema (to its container).
-	 */
-	abstract DTPColumnWrapper getColumn(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn);
-
-	/**
-	 * Pre-condition: The schema container contains the specified column.
-	 */
-	DTPColumnWrapper getColumn_(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		return this.getTable_(dtpColumn.getTable()).getColumn_(dtpColumn);
-	}
-
-
-	// ********** schemata **********
-
-	public Iterable<Schema> getSchemata() {
-		return new ArrayIterable<Schema>(this.getSchemaArray());
-	}
-
-	Iterable<DTPSchemaWrapper> getSchemaWrappers() {
-		return new ArrayIterable<DTPSchemaWrapper>(this.getSchemaArray());
-	}
-
-	synchronized DTPSchemaWrapper[] getSchemaArray() {
-		if (this.schemata == null) {
-			this.schemata = this.buildSchemaArray();
-		}
-		return this.schemata;
-	}
-
-	private DTPSchemaWrapper[] buildSchemaArray() {
-		List<org.eclipse.datatools.modelbase.sql.schema.Schema> dtpSchemata = this.getDTPSchemas();
-		DTPSchemaWrapper[] result = new DTPSchemaWrapper[dtpSchemata.size()];
-		for (int i = result.length; i-- > 0; ) {
-			result[i] = new DTPSchemaWrapper(this, dtpSchemata.get(i));
-		}
-		return ArrayTools.sort(result, DEFAULT_COMPARATOR);
-	}
-
-	public int getSchemataSize() {
-		return this.getSchemaArray().length;
-	}
-
-	public Iterable<String> getSortedSchemaNames() {
-		// the schemata are already sorted
-		return new TransformationIterable<DatabaseObject, String>(this.getSchemaWrappers(), NAME_TRANSFORMER);
-	}
-
-	public DTPSchemaWrapper getSchemaNamed(String name) {
-		return this.selectDatabaseObjectNamed(this.getSchemaWrappers(), name);
-	}
-
-	public Iterable<String> getSortedSchemaIdentifiers() {
-		// the schemata are already sorted
-		return new TransformationIterable<DatabaseObject, String>(this.getSchemaWrappers(), IDENTIFIER_TRANSFORMER);
-	}
-
-	public Schema getSchemaForIdentifier(String identifier) {
-		return this.getDTPDriverAdapter().selectSchemaForIdentifier(this.getSchemata(), identifier);
-	}
-
-	public DTPSchemaWrapper getDefaultSchema() {
-		return this.getSchemaForNames(this.getDTPDriverAdapter().getDefaultSchemaNames());
-	}
-
-	/**
-	 * Return the first schema found.
-	 */
-	DTPSchemaWrapper getSchemaForNames(Iterable<String> names) {
-		for (String name : names) {
-			DTPSchemaWrapper schema = this.getSchemaNamed(name);
-			if (schema != null) {
-				return schema;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * If we find a default schema, return its identifier;
-	 * otherwise, return the last name on the list of default names.
-	 * (Some containers have multiple possible default names.)
-	 */
-	public synchronized String getDefaultSchemaIdentifier() {
-		Iterable<String> names = this.getDTPDriverAdapter().getDefaultSchemaNames();
-		DTPSchemaWrapper schema = this.getSchemaForNames(names);
-		// assume 'names' is non-empty (!)
-		return (schema != null) ?
-				schema.getIdentifier() :
-				this.convertNameToIdentifier(CollectionTools.last(names));
-	}
-
-
-	// ********** listening **********
-
-	@Override
-	synchronized void startListening() {
-		if (this.schemata != null) {
-			this.startSchemata();
-		}
-		super.startListening();
-	}
-
-	private void startSchemata() {
-		for (DTPSchemaWrapper schema : this.schemata) {
-			schema.startListening();
-		}
-	}
-
-	@Override
-	synchronized void stopListening() {
-		if (this.schemata != null) {
-			this.stopSchemata();
-		}
-		super.stopListening();
-	}
-
-	private void stopSchemata() {
-		for (DTPSchemaWrapper schema : this.schemata) {
-			schema.stopListening();
-		}
-	}
-
-
-	// ********** clear **********
-
-	@Override
-	synchronized void clear() {
-		if (this.schemata != null) {
-			this.clearSchemata();
-		}
-	}
-
-	private void clearSchemata() {
-		this.stopSchemata();
-		for (DTPSchemaWrapper schema : this.schemata) {
-			schema.clear();
-		}
-		this.schemata = null;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSchemaWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSchemaWrapper.java
deleted file mode 100644
index ddc7040..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSchemaWrapper.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.datatools.modelbase.sql.tables.SQLTablesPackage;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jpt.jpa.db.DatabaseObject;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Sequence;
-import org.eclipse.jpt.jpa.db.Table;
-
-/**
- *  Wrap a DTP Schema
- */
-final class DTPSchemaWrapper
-	extends DTPDatabaseObjectWrapper<DTPSchemaContainerWrapper<?>>
-	implements Schema
-{
-	/** the wrapped DTP schema */
-	private final org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema;
-
-	/** lazy-initialized */
-	private DTPTableWrapper[] tables;
-
-	/** lazy-initialized */
-	private DTPSequenceWrapper[] sequences;
-
-	
-	// ********** constants **********
-	
-	/** used for adopter product customization */
-	private static final String PERSISTENT_AND_VIEW_TABLES_ONLY = "supportPersistentAndViewTablesOnly"; //$NON-NLS-1$
-
-
-	// ********** constructor **********
-
-	DTPSchemaWrapper(DTPSchemaContainerWrapper<?> container, org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema) {
-		super(container);
-		this.dtpSchema = dtpSchema;
-	}
-
-
-	// ********** DTPDatabaseObjectWrapper implementation **********
-
-	@Override
-	ICatalogObject getCatalogObject() {
-		return (ICatalogObject) this.dtpSchema;
-	}
-
-	@Override
-	synchronized void catalogObjectChanged() {
-		super.catalogObjectChanged();
-		this.getConnectionProfile().schemaChanged(this);
-	}
-
-
-	// ********** Schema implementation **********
-
-	public String getName() {
-		return this.dtpSchema.getName();
-	}
-
-	public DTPSchemaContainerWrapper<?> getContainer() {
-		return this.parent;
-	}
-
-	// ***** tables
-
-	public Iterable<Table> getTables() {
-		return new ArrayIterable<Table>(this.getTableArray());
-	}
-
-	private Iterable<DTPTableWrapper> getTableWrappers() {
-		return new ArrayIterable<DTPTableWrapper>(this.getTableArray());
-	}
-
-	private synchronized DTPTableWrapper[] getTableArray() {
-		if (this.tables == null) {
-			this.tables = this.buildTableArray();
-		}
-		return this.tables;
-	}
-
-	private DTPTableWrapper[] buildTableArray() {
-		List<org.eclipse.datatools.modelbase.sql.tables.Table> dtpTables = this.getDTPTables();
-		DTPTableWrapper[] result = new DTPTableWrapper[dtpTables.size()];
-		for (int i = result.length; i-- > 0;) {
-			result[i] = new DTPTableWrapper(this, dtpTables.get(i));
-		}
-		return ArrayTools.sort(result, DEFAULT_COMPARATOR);
-	}
-
-	private List<org.eclipse.datatools.modelbase.sql.tables.Table> getDTPTables() {
-		List<org.eclipse.datatools.modelbase.sql.tables.Table> dtpTables = this.getDTPTables_();
-		return this.hack() ? this.hack(dtpTables) : dtpTables;
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private List<org.eclipse.datatools.modelbase.sql.tables.Table> getDTPTables_() {
-		return this.dtpSchema.getTables();
-	}
-
-	private boolean hack() {
-		// the product is null during junit testing
-		IProduct product = Platform.getProduct();
-		String hack = (product == null) ? null : product.getProperty(PERSISTENT_AND_VIEW_TABLES_ONLY);
-		return (hack != null) && hack.equals("true"); //$NON-NLS-1$
-	}
-
-	// provides a mechanism for DTP extenders that support synonyms but don't want to have them appear
-	// in Dali to filter out these table types from Dali 
-	private List<org.eclipse.datatools.modelbase.sql.tables.Table> hack(List<org.eclipse.datatools.modelbase.sql.tables.Table> dtpTables) {
-		List<org.eclipse.datatools.modelbase.sql.tables.Table> result = new ArrayList<org.eclipse.datatools.modelbase.sql.tables.Table>();
-		for (org.eclipse.datatools.modelbase.sql.tables.Table dtpTable : dtpTables) {
-			if (this.hack(dtpTable)) {
-				result.add(dtpTable);
-			}
-		}
-		return result;
-	}
-
-	private boolean hack(org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) {
-		return SQLTablesPackage.eINSTANCE.getPersistentTable().isSuperTypeOf(dtpTable.eClass()) ||
-					SQLTablesPackage.eINSTANCE.getViewTable().isSuperTypeOf(dtpTable.eClass());
-	}
-
-	public int getTablesSize() {
-		return this.getTableArray().length;
-	}
-
-	/**
-	 * return the table for the specified DTP table
-	 */
-	DTPTableWrapper getTable(org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) {
-		// try to short-circuit the search
-		return this.wraps(dtpTable.getSchema()) ?
-						this.getTable_(dtpTable) :
-						this.getContainer().getTable(dtpTable);
-	}
-
-	/**
-	 * assume the schema contains the specified table
-	 */
-	DTPTableWrapper getTable_(org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) {
-		for (DTPTableWrapper table : this.getTableArray()) {
-			if (table.wraps(dtpTable)) {
-				return table;
-			}
-		}
-		throw new IllegalArgumentException("invalid DTP table: " + dtpTable);  //$NON-NLS-1$
-	}
-
-	public DTPTableWrapper getTableNamed(String name) {
-		return this.selectDatabaseObjectNamed(this.getTableWrappers(), name);
-	}
-
-	public Iterable<String> getSortedTableIdentifiers() {
-		// the tables are already sorted
-		return new TransformationIterable<DatabaseObject, String>(this.getTableWrappers(), IDENTIFIER_TRANSFORMER);
-	}
-
-	public Table getTableForIdentifier(String identifier) {
-		return this.getDTPDriverAdapter().selectTableForIdentifier(this.getTables(), identifier);
-	}
-
-	// ***** sequences
-
-	public Iterable<Sequence> getSequences() {
-		return new ArrayIterable<Sequence>(this.getSequenceArray());
-	}
-
-	private Iterable<DTPSequenceWrapper> getSequenceWrappers() {
-		return new ArrayIterable<DTPSequenceWrapper>(this.getSequenceArray());
-	}
-
-	private synchronized DTPSequenceWrapper[] getSequenceArray() {
-		if (this.sequences == null) {
-			this.sequences = this.buildSequenceArray();
-		}
-		return this.sequences;
-	}
-
-	private DTPSequenceWrapper[] buildSequenceArray() {
-		List<org.eclipse.datatools.modelbase.sql.schema.Sequence> dtpSequences = this.getDTPSequences();
-		DTPSequenceWrapper[] result = new DTPSequenceWrapper[dtpSequences.size()];
-		for (int i = result.length; i-- > 0;) {
-			result[i] = new DTPSequenceWrapper(this, dtpSequences.get(i));
-		}
-		return ArrayTools.sort(result, DEFAULT_COMPARATOR);
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private List<org.eclipse.datatools.modelbase.sql.schema.Sequence> getDTPSequences() {
-		return this.dtpSchema.getSequences();
-	}
-
-	public int getSequencesSize() {
-		return this.getSequenceArray().length;
-	}
-
-	public DTPSequenceWrapper getSequenceNamed(String name) {
-		return this.selectDatabaseObjectNamed(this.getSequenceWrappers(), name);
-	}
-
-	public Iterable<String> getSortedSequenceIdentifiers() {
-		// the sequences are already sorted
-		return new TransformationIterable<DatabaseObject, String>(this.getSequenceWrappers(), IDENTIFIER_TRANSFORMER);
-	}
-
-	public Sequence getSequenceForIdentifier(String identifier) {
-		return this.getDTPDriverAdapter().selectSequenceForIdentifier(this.getSequences(), identifier);
-	}
-
-	// ***** refresh
-	
-	public void refresh() {
-		
-		this.getCatalogObject().refresh();
-	}
-
-	// ********** internal methods **********
-
-	boolean wraps(org.eclipse.datatools.modelbase.sql.schema.Schema schema) {
-		return this.dtpSchema == schema;
-	}
-
-	/**
-	 * Return the column for the specified DTP column.
-	 */
-	DTPColumnWrapper getColumn(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		// try to short-circuit the search
-		return this.wraps(dtpColumn.getTable().getSchema()) ?
-						this.getColumn_(dtpColumn) :
-						this.getContainer().getColumn(dtpColumn);
-	}
-
-	/**
-	 * Assume the schema contains the specified column.
-	 */
-	DTPColumnWrapper getColumn_(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		return this.getTable_(dtpColumn.getTable()).getColumn_(dtpColumn);
-	}
-
-
-	// ********** listening **********
-
-	@Override
-	synchronized void startListening() {
-		if (this.sequences != null) {
-			this.startSequences();
-		}
-		if (this.tables != null) {
-			this.startTables();
-		}
-		super.startListening();
-	}
-
-	private void startSequences() {
-		for (DTPSequenceWrapper sequence : this.sequences) {
-			sequence.startListening();
-		}
-	}
-
-	private void startTables() {
-		for (DTPTableWrapper table : this.tables) {
-			table.startListening();
-		}
-	}
-
-	@Override
-	synchronized void stopListening() {
-		if (this.sequences != null) {
-			this.stopSequences();
-		}
-		if (this.tables != null) {
-			this.stopTables();
-		}
-		super.stopListening();
-	}
-
-	private void stopSequences() {
-		for (DTPSequenceWrapper sequence : this.sequences) {
-			sequence.stopListening();
-		}
-	}
-
-	private void stopTables() {
-		for (DTPTableWrapper table : this.tables) {
-			table.stopListening();
-		}
-	}
-
-
-	// ********** clear **********
-
-	@Override
-	synchronized void clear() {
-		if (this.sequences != null) {
-			this.clearSequences();
-		}
-		if (this.tables != null) {
-			this.clearTables();
-		}
-	}
-
-	private void clearSequences() {
-		this.stopSequences();
-		for (DTPSequenceWrapper sequence : this.sequences) {
-			sequence.clear();
-		}
-		this.sequences = null;
-	}
-
-	private void clearTables() {
-		this.stopTables();
-		for (DTPTableWrapper table : this.tables) {
-			table.clear();
-		}
-		this.tables = null;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSequenceWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSequenceWrapper.java
deleted file mode 100644
index 49114e0..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPSequenceWrapper.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.jpa.db.Sequence;
-
-/**
- *  Wrap a DTP Sequence
- */
-final class DTPSequenceWrapper
-	extends DTPDatabaseObjectWrapper<DTPSchemaWrapper>
-	implements Sequence
-{
-	/** the wrapped DTP sequence */
-	private final org.eclipse.datatools.modelbase.sql.schema.Sequence dtpSequence;
-
-
-	// ********** constructor **********
-
-	DTPSequenceWrapper(DTPSchemaWrapper schema, org.eclipse.datatools.modelbase.sql.schema.Sequence dtpSequence) {
-		super(schema);
-		this.dtpSequence = dtpSequence;
-	}
-
-
-	// ********** DTPDatabaseObjectWrapper implementation **********
-
-	@Override
-	ICatalogObject getCatalogObject() {
-		return (ICatalogObject) this.dtpSequence;
-	}
-
-	@Override
-	synchronized void catalogObjectChanged() {
-		super.catalogObjectChanged();
-		this.getConnectionProfile().sequenceChanged(this);
-	}
-
-
-	// ********** Sequence implementation **********
-
-	public String getName() {
-		return this.dtpSequence.getName();
-	}
-
-	public DTPSchemaWrapper getSchema() {
-		return this.parent;
-	}
-
-
-	// ********** internal methods **********
-
-	boolean wraps(org.eclipse.datatools.modelbase.sql.schema.Sequence sequence) {
-		return this.dtpSequence == sequence;
-	}
-
-	@Override
-	void clear() {
-		// no state to clear
-	}
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPTableWrapper.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPTableWrapper.java
deleted file mode 100644
index a7a58c5..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/DTPTableWrapper.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal;
-
-import java.util.List;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.datatools.modelbase.sql.constraints.PrimaryKey;
-import org.eclipse.datatools.modelbase.sql.tables.BaseTable;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.DatabaseObject;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Table;
-
-/**
- *  Wrap a DTP Table
- */
-final class DTPTableWrapper
-	extends DTPDatabaseObjectWrapper<DTPSchemaWrapper>
-	implements Table
-{
-	/** the wrapped DTP table */
-	private final org.eclipse.datatools.modelbase.sql.tables.Table dtpTable;
-
-	/** lazy-initialized */
-	private DTPColumnWrapper[] columns;
-
-	/** lazy-initialized */
-	private DTPColumnWrapper[] primaryKeyColumns;
-
-	/** lazy-initialized */
-	private DTPForeignKeyWrapper[] foreignKeys;
-
-
-	private static final DTPColumnWrapper[] EMPTY_COLUMNS = new DTPColumnWrapper[0];
-	private static final DTPForeignKeyWrapper[] EMPTY_FOREIGN_KEYS = new DTPForeignKeyWrapper[0];
-
-
-	// ********** constructor **********
-
-	DTPTableWrapper(DTPSchemaWrapper schema, org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) {
-		super(schema);
-		this.dtpTable = dtpTable;
-	}
-
-
-	// ********** columns **********
-
-	public Iterable<Column> getColumns() {
-		return new ArrayIterable<Column>(this.getColumnArray());
-	}
-
-	private Iterable<DTPColumnWrapper> getColumnWrappers() {
-		return new ArrayIterable<DTPColumnWrapper>(this.getColumnArray());
-	}
-
-	private synchronized DTPColumnWrapper[] getColumnArray() {
-		if (this.columns == null) {
-			this.columns = this.buildColumnArray();
-		}
-		return this.columns;
-	}
-
-	private DTPColumnWrapper[] buildColumnArray() {
-		List<org.eclipse.datatools.modelbase.sql.tables.Column> dtpColumns = this.getDTPColumns();
-		DTPColumnWrapper[] result = new DTPColumnWrapper[dtpColumns.size()];
-		for (int i = result.length; i-- > 0;) {
-			result[i] = new DTPColumnWrapper(this, dtpColumns.get(i));
-		}
-		return ArrayTools.sort(result, DEFAULT_COMPARATOR);
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private List<org.eclipse.datatools.modelbase.sql.tables.Column> getDTPColumns() {
-		return this.dtpTable.getColumns();
-	}
-
-	public int getColumnsSize() {
-		return this.getColumnArray().length;
-	}
-
-	public DTPColumnWrapper getColumnNamed(String name) {
-		return this.selectDatabaseObjectNamed(this.getColumnWrappers(), name);
-	}
-
-	/**
-	 * Return the column for the specified DTP column.
-	 */
-	DTPColumnWrapper getColumn(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		// try to short-circuit the search
-		return this.wraps(dtpColumn.getTable()) ?
-						this.getColumn_(dtpColumn) :
-						this.getSchema().getColumn(dtpColumn);
-	}
-
-	/**
-	 * Pre-condition: The table contains the specified column.
-	 */
-	DTPColumnWrapper getColumn_(org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) {
-		for (DTPColumnWrapper column : this.getColumnArray()) {
-			if (column.wraps(dtpColumn)) {
-				return column;
-			}
-		}
-		throw new IllegalArgumentException("invalid DTP column: " + dtpColumn);  //$NON-NLS-1$
-	}
-
-	public Iterable<String> getSortedColumnIdentifiers() {
-		// the columns are already sorted
-		return new TransformationIterable<DatabaseObject, String>(this.getColumnWrappers(), IDENTIFIER_TRANSFORMER);
-	}
-
-	public Column getColumnForIdentifier(String identifier) {
-		return this.getDTPDriverAdapter().selectColumnForIdentifier(this.getColumns(), identifier);
-	}
-
-
-	// ********** primary key columns **********
-
-	public Iterable<Column> getPrimaryKeyColumns() {
-		return new ArrayIterable<Column>(this.getPrimaryKeyColumnArray());
-	}
-
-	public DTPColumnWrapper getPrimaryKeyColumn() {
-		DTPColumnWrapper[] pkColumns = this.getPrimaryKeyColumnArray();
-		if (pkColumns.length != 1) {
-			throw new IllegalStateException("multiple primary key columns: " + pkColumns.length);  //$NON-NLS-1$
-		}
-		return pkColumns[0];
-	}
-
-	private synchronized DTPColumnWrapper[] getPrimaryKeyColumnArray() {
-		if (this.primaryKeyColumns == null) {
-			this.primaryKeyColumns = this.buildPrimaryKeyColumnArray();
-		}
-		return this.primaryKeyColumns;
-	}
-
-	private DTPColumnWrapper[] buildPrimaryKeyColumnArray() {
-		if ( ! (this.dtpTable instanceof BaseTable)) {
-			return EMPTY_COLUMNS;
-		}
-		PrimaryKey pk = ((BaseTable) this.dtpTable).getPrimaryKey();
-		if (pk == null) {
-			// no PK was defined
-			return EMPTY_COLUMNS;
-		}
-		List<org.eclipse.datatools.modelbase.sql.tables.Column> pkColumns = this.getColumns(pk);
-		DTPColumnWrapper[] result = new DTPColumnWrapper[pkColumns.size()];
-		for (int i = result.length; i-- > 0;) {
-			result[i] = this.getColumn(pkColumns.get(i));
-		}
-		return result;
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private List<org.eclipse.datatools.modelbase.sql.tables.Column> getColumns(PrimaryKey pk) {
-		return pk.getMembers();
-	}
-
-	public int getPrimaryKeyColumnsSize() {
-		return this.getPrimaryKeyColumnArray().length;
-	}
-
-	boolean primaryKeyColumnsContains(Column column) {
-		return ArrayTools.contains(this.getPrimaryKeyColumnArray(), column);
-	}
-
-
-	// ********** foreign keys **********
-
-	public Iterable<ForeignKey> getForeignKeys() {
-		return new ArrayIterable<ForeignKey>(this.getForeignKeyArray());
-	}
-
-	private synchronized DTPForeignKeyWrapper[] getForeignKeyArray() {
-		if (this.foreignKeys == null) {
-			this.foreignKeys = this.buildForeignKeyArray();
-		}
-		return this.foreignKeys;
-	}
-
-	private DTPForeignKeyWrapper[] buildForeignKeyArray() {
-		if ( ! (this.dtpTable instanceof BaseTable)) {
-			return EMPTY_FOREIGN_KEYS;
-		}
-		List<org.eclipse.datatools.modelbase.sql.constraints.ForeignKey> dtpForeignKeys = this.getDTPForeignKeys();
-		DTPForeignKeyWrapper[] result = new DTPForeignKeyWrapper[dtpForeignKeys.size()];
-		for (int i = result.length; i-- > 0;) {
-			result[i] = new DTPForeignKeyWrapper(this, dtpForeignKeys.get(i));
-		}
-		return result;
-	}
-
-	@SuppressWarnings("unchecked")
-	private List<org.eclipse.datatools.modelbase.sql.constraints.ForeignKey> getDTPForeignKeys() {
-		return ((BaseTable) this.dtpTable).getForeignKeys();
-	}
-
-	public int getForeignKeysSize() {
-		return this.getForeignKeyArray().length;
-	}
-
-	/**
-	 * return whether the specified column is a base column for at least one
-	 * of the the table's foreign keys
-	 */
-	boolean foreignKeyBaseColumnsContains(Column column) {
-		for (DTPForeignKeyWrapper fkWrapper : this.getForeignKeyArray()) {
-			if (fkWrapper.baseColumnsContains(column)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-
-	// ********** join table **********
-
-	public boolean isPossibleJoinTable() {
-		if (this.getForeignKeyArray().length != 2) {
-			return false;  // the table must have exactly 2 foreign keys
-		}
-		for (Column column : this.getColumns()) {
-			if ( ! this.foreignKeyBaseColumnsContains(column)) {
-				return false;  // all the table's columns must belong to one (or both) of the 2 foreign keys
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * If the table name is <code>FOO_BAR</code>
-	 * and it joins tables <code>FOO</code> and <code>BAR</code>,
-	 * return the foreign key to <code>FOO</code>;
-	 * if the table name is <code>BAR_FOO</code>
-	 * and it joins tables <code>FOO</code> and <code>BAR</code>,
-	 * return the foreign key to <code>BAR</code>;
-	 * otherwise simply return the first foreign key in the array.
-	 */
-	public ForeignKey getJoinTableOwningForeignKey() {
-		ForeignKey fk0 = this.getForeignKeyArray()[0];
-		String name0 = fk0.getReferencedTable().getName();
-
-		ForeignKey fk1 = this.getForeignKeyArray()[1];
-		String name1 = fk1.getReferencedTable().getName();
-
-		return this.getName().equals(name1 + '_' + name0) ? fk1 : fk0;
-	}
-
-	public ForeignKey getJoinTableNonOwningForeignKey() {
-		ForeignKey fk0 = this.getForeignKeyArray()[0];
-		ForeignKey fk1 = this.getForeignKeyArray()[1];
-		ForeignKey ofk = this.getJoinTableOwningForeignKey();
-		return (ofk == fk0) ? fk1 : fk0;
-	}
-
-	/**
-	 * Hmmm....
-	 * We might want to go to the platform to allow a vendor-specific
-	 * comparison here;
-	 * but, since all the names are coming directly from the database
-	 * (i.e. there are no conversions to Java identifiers etc.), it seems
-	 * like we can just compare them directly and ignore case-sensitivity
-	 * issues....  ~bjv
-	 */
-	public boolean joinTableNameIsDefault() {
-		return this.getName().equals(this.buildDefaultJoinTableName());
-	}
-
-	private String buildDefaultJoinTableName() {
-		return this.getJoinTableOwningTable().getName()
-					+ '_'
-					+ this.getJoinTableNonOwningTable().getName();
-	}
-
-	private Table getJoinTableOwningTable() {
-		return this.getJoinTableOwningForeignKey().getReferencedTable();
-	}
-
-	private Table getJoinTableNonOwningTable() {
-		return this.getJoinTableNonOwningForeignKey().getReferencedTable();
-	}
-
-
-	// ********** misc **********
-
-	public DTPSchemaWrapper getSchema() {
-		return this.parent;
-	}
-
-	public String getName() {
-		return this.dtpTable.getName();
-	}
-
-	@Override
-	ICatalogObject getCatalogObject() {
-		return (ICatalogObject) this.dtpTable;
-	}
-
-	@Override
-	synchronized void catalogObjectChanged() {
-		super.catalogObjectChanged();
-		this.getConnectionProfile().tableChanged(this);
-	}
-
-	boolean wraps(org.eclipse.datatools.modelbase.sql.tables.Table table) {
-		return this.dtpTable == table;
-	}
-
-	/**
-	 * Return the table for the specified DTP table.
-	 */
-	DTPTableWrapper getTable(org.eclipse.datatools.modelbase.sql.tables.Table table) {
-		// try to short-circuit the search
-		return this.wraps(table) ? this : this.getSchema().getTable(table);
-	}
-
-
-	// ********** listening **********
-
-	@Override
-	synchronized void startListening() {
-		if (this.foreignKeys != null) {
-			this.startForeignKeys();
-		}
-		if (this.columns != null) {
-			this.startColumns();
-		}
-		super.startListening();
-	}
-
-	private void startForeignKeys() {
-		for (DTPForeignKeyWrapper foreignKey : this.foreignKeys) {
-			foreignKey.startListening();
-		}
-	}
-
-	private void startColumns() {
-		for (DTPColumnWrapper column : this.columns) {
-			column.startListening();
-		}
-	}
-
-	@Override
-	synchronized void stopListening() {
-		if (this.foreignKeys != null) {
-			this.stopForeignKeys();
-		}
-		if (this.columns != null) {
-			this.stopColumns();
-		}
-		super.stopListening();
-	}
-
-	private void stopForeignKeys() {
-		for (DTPForeignKeyWrapper foreignKey : this.foreignKeys) {
-			foreignKey.stopListening();
-		}
-	}
-
-	private void stopColumns() {
-		for (DTPColumnWrapper column : this.columns) {
-			column.stopListening();
-		}
-	}
-
-
-	// ********** clear **********
-
-	@Override
-	synchronized void clear() {
-		if (this.foreignKeys != null) {
-			this.clearForeignKeys();
-		}
-
-		// the table does not "contain" the pk columns, so no need to forward #clear()
-		this.primaryKeyColumns = null;
-
-		if (this.columns != null) {
-			this.clearColumns();
-		}
-	}
-
-	private void clearForeignKeys() {
-		this.stopForeignKeys();
-		for (DTPForeignKeyWrapper foreignKey : this.foreignKeys) {
-			foreignKey.clear();
-		}
-    	this.foreignKeys = null;
-	}
-
-	private void clearColumns() {
-		this.stopColumns();
-		for (DTPColumnWrapper column : this.columns) {
-			column.clear();
-		}
-    	this.columns = null;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/AbstractDTPDriverAdapter.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/AbstractDTPDriverAdapter.java
deleted file mode 100644
index 6a3e845..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/AbstractDTPDriverAdapter.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.datatools.connectivity.sqm.core.definition.DatabaseDefinition;
-import org.eclipse.datatools.connectivity.sqm.internal.core.RDBCorePlugin;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ResultSetIterator;
-import org.eclipse.jpt.jpa.db.Catalog;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ConnectionProfile;
-import org.eclipse.jpt.jpa.db.Database;
-import org.eclipse.jpt.jpa.db.DatabaseObject;
-import org.eclipse.jpt.jpa.db.JptJpaDbPlugin;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Sequence;
-import org.eclipse.jpt.jpa.db.Table;
-
-/**
- * Consolidate the behavior common to the typical DTP drivers.
- * 
- * @see Unknown
- */
-abstract class AbstractDTPDriverAdapter
-	implements DTPDriverAdapter
-{
-	/**
-	 * The Dali database that wraps the corresponding DTP database.
-	 */
-	final Database database;
-
-	/**
-	 * DTP drivers return catalogs and schemata in a variety of ways....
-	 */
-	final CatalogStrategy catalogStrategy;
-
-	/**
-	 * The SQL spec says a <em>regular</em> (non-delimited) identifier should be
-	 * folded to uppercase; but some databases do otherwise (e.g. Sybase).
-	 */
-	final FoldingStrategy foldingStrategy;
-
-
-	AbstractDTPDriverAdapter(Database database) {
-		super();
-		this.database = database;
-		this.catalogStrategy = this.buildCatalogStrategy();
-		this.foldingStrategy = this.buildFoldingStrategy();
-	}
-
-	abstract CatalogStrategy buildCatalogStrategy();
-
-	abstract FoldingStrategy buildFoldingStrategy();
-
-
-	// ********** catalogs **********
-
-	public boolean supportsCatalogs() {
-		return this.catalogStrategy.supportsCatalogs();
-	}
-
-	public List<org.eclipse.datatools.modelbase.sql.schema.Catalog> getDTPCatalogs() {
-		return this.catalogStrategy.getCatalogs();
-	}
-
-	/**
-	 * Typically, the name of the default catalog is the user name.
-	 */
-	public final Iterable<String> getDefaultCatalogNames() {
-		return this.supportsCatalogs() ? this.getDefaultCatalogNames_() : Collections.<String>emptyList();
-	}
-
-	final Iterable<String> getDefaultCatalogNames_() {
-		ArrayList<String> names = new ArrayList<String>();
-		this.addDefaultCatalogNamesTo(names);
-		return names;
-	}
-
-	void addDefaultCatalogNamesTo(ArrayList<String> names) {
-		names.add(this.getUserName());
-	}
-
-
-	// ********** schemas **********
-
-	public List<org.eclipse.datatools.modelbase.sql.schema.Schema> getDTPSchemas() {
-		try {
-			return this.catalogStrategy.getSchemas();
-		} catch (Exception ex) {
-			throw new RuntimeException("driver adapter: " + this, ex); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Typically, the name of the default schema is the user name.
-	 */
-	public final Iterable<String> getDefaultSchemaNames() {
-		ArrayList<String> names = new ArrayList<String>();
-		this.addDefaultSchemaNamesTo(names);
-		return names;
-	}
-
-	void addDefaultSchemaNamesTo(ArrayList<String> names) {
-		names.add(this.getUserName());
-	}
-
-
-	// ********** name -> identifier **********
-
-	public String convertNameToIdentifier(String name) {
-		if (this.treatIdentifiersAsDelimited()) {
-			return name;  // no delimiters necessary
-		}
-		if (this.nameRequiresDelimiters(name)) {
-			return this.delimitName(name);
-		}
-		return name;
-	}
-
-	// TODO break into converting table and column names so MySQL works better
-	public String convertNameToIdentifier(String name, String defaultName) {
-		if (( ! this.treatIdentifiersAsDelimited()) &&  this.nameRequiresDelimiters(name)) {
-			// no match possible
-			return this.delimitName(name);
-		}
-		if (this.regularNamesMatch(name, defaultName)) {
-			return null;
-		}
-		return name;
-	}
-
-	/**
-	 * Return whether the specified database object name must be delimited
-	 * when used in an SQL statement.
-	 * If the name has any <em>special</em> characters (as opposed to letters,
-	 * digits, and other allowed characters [e.g. underscores]), it requires
-	 * delimiters.
-	 * If the name is mixed case and the database folds undelimited names
-	 * (to either uppercase or lowercase), it requires delimiters.
-	 */
-	boolean nameRequiresDelimiters(String name) {
-		return (name.length() == 0)  //  an empty string must be delimited(?)
-					|| this.nameIsReservedWord(name)
-					|| this.nameContainsAnySpecialCharacters(name)
-					|| this.nameIsNotFolded(name);
-	}
-
-	boolean nameIsReservedWord(String name) {
-		return this.getDTPDefinition().isSQLKeyword(name);
-	}
-
-	// TODO make Database.getDTPDefinition() public?
-	DatabaseDefinition getDTPDefinition() {
-		return RDBCorePlugin.getDefault().getDatabaseDefinitionRegistry().getDefinition(this.database.getDTPDatabase());
-	}
-
-	/**
-	 * Return whether the specified name contains any <em>special</em>
-	 * characters that require the name to be delimited.
-	 * <br>
-	 * Pre-condition: the specified name is not empty
-	 */
-	boolean nameContainsAnySpecialCharacters(String name) {
-		char[] string = name.toCharArray();
-		if (this.characterIsNonRegularNameStart(string[0])) {
-			return true;
-		}
-		for (int i = string.length; i-- > 1; ) {  // note: stop at 1
-			if (this.characterIsNonRegularNamePart(string[i])) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Return whether the specified character is non-<em>regular</em> for the first
-	 * character of a name.
-	 * Typically, databases are more restrictive about what characters can
-	 * be used to <em>start</em> an identifier (as opposed to the characters
-	 * allowed for the remainder of the identifier).
-	 */
-	boolean characterIsNonRegularNameStart(char c) {
-		return ! this.characterIsRegularNameStart(c);
-	}
-
-	/**
-	 * Return whether the specified character is <em>regular</em> for the first
-	 * character of a name.
-	 * The first character of an identifier can be:<ul>
-	 * <li>a letter
-	 * <li>any of the extended, database-specific, <em>regular</em> start characters
-	 * </ul>
-	 */
-	boolean characterIsRegularNameStart(char c) {
-		// all databases allow a letter
-		return Character.isLetter(c)
-				|| this.characterIsExtendedRegularNameStart(c);
-	}
-
-	boolean characterIsExtendedRegularNameStart(char c) {
-		return this.arrayContains(this.getExtendedRegularNameStartCharacters(), c);
-	}
-
-	/**
-	 * Return the <em>regular</em> characters, beyond letters, for the
-	 * first character of a name.
-	 * Return <code>null</code> if there are no "extended" characters.
-	 */
-	char[] getExtendedRegularNameStartCharacters() {
-		return null;
-	}
-
-	/**
-	 * Return whether the specified character is non-<em>regular</em> for the
-	 * second and subsequent characters of a name.
-	 */
-	boolean characterIsNonRegularNamePart(char c) {
-		return ! this.characterIsRegularNamePart(c);
-	}
-
-	/**
-	 * Return whether the specified character is <em>regular</em> for the second and
-	 * subsequent characters of a name.
-	 * The second and subsequent characters of a <em>regular</em> name can be:<ul>
-	 * <li>a letter
-	 * <li>a digit
-	 * <li>an underscore
-	 * <li>any of the extended, database-specific, <em>regular</em> start characters
-	 * <li>any of the extended, database-specific, <em>regular</em> part characters
-	 * </ul>
-	 */
-	boolean characterIsRegularNamePart(char c) {
-		// all databases allow a letter or digit
-		return Character.isLetterOrDigit(c) ||
-				(c == '_') ||
-				this.characterIsExtendedRegularNameStart(c) ||
-				this.characterIsExtendedRegularNamePart(c);
-	}
-
-	boolean characterIsExtendedRegularNamePart(char c) {
-		return this.arrayContains(this.getExtendedRegularNamePartCharacters(), c);
-	}
-
-	/**
-	 * Return the <em>regular</em> characters, beyond letters and digits and the
-	 * <em>regular</em> first characters, for the second and subsequent characters
-	 * of an identifier. Return <code>null</code> if there are no additional characters.
-	 */
-	char[] getExtendedRegularNamePartCharacters() {
-		return null;
-	}
-
-	/**
-	 * Return whether the specified name is not folded to the database's
-	 * case, requiring it to be delimited.
-	 */
-	boolean nameIsNotFolded(String name) {
-		return ! this.foldingStrategy.nameIsFolded(name);
-	}
-
-	/**
-	 * Return whether the specified <em>regular</em> names match.
-	 * Typically, <em>regular</em> identifiers are case-insensitive.
-	 */
-	boolean regularNamesMatch(String name1, String name2) {
-		return name1.equalsIgnoreCase(name2);
-	}
-
-	/**
-	 * Wrap the specified name in delimiters (typically double-quotes),
-	 * converting it to an identifier.
-	 */
-	String delimitName(String name) {
-		return StringTools.quote(name);
-	}
-
-
-	// ********** identifier -> name **********
-
-	// not sure how to handle an empty string:
-	// both "" and "\"\"" are converted to "" ...
-	// convert "" to 'null' since empty strings must be delimited?
-	public String convertIdentifierToName(String identifier) {
-		if (identifier == null) {
-			return null;
-		}
-		if (this.treatIdentifiersAsDelimited()) {
-			return identifier;  // automatically delimited
-		}
-		if (this.identifierIsDelimited(identifier)) {
-			return StringTools.undelimit(identifier);
-		}
-		return this.foldingStrategy.fold(identifier);
-	}
-
-	/**
-	 * Return whether the specified identifier is <em>delimited</em>.
-	 * The SQL-92 spec says identifiers should be delimited by
-	 * double-quotes; but some databases allow otherwise (e.g. Sybase).
-	 */
-	boolean identifierIsDelimited(String identifier) {
-		return StringTools.stringIsQuoted(identifier);
-	}
-
-
-	// ********** selecting database objects **********
-
-	/**
-	 * By default, convert the identifier to a name and perform a name lookup.
-	 */
-	public Catalog selectCatalogForIdentifier(Iterable<Catalog> catalogs, String identifier) {
-		return this.selectDatabaseObjectForIdentifier(catalogs, identifier);
-	}
-
-	/**
-	 * By default, convert the identifier to a name and perform a name lookup.
-	 */
-	public Schema selectSchemaForIdentifier(Iterable<Schema> schemata, String identifier) {
-		return this.selectDatabaseObjectForIdentifier(schemata, identifier);
-	}
-
-	/**
-	 * By default, convert the identifier to a name and perform a name lookup.
-	 */
-	public Table selectTableForIdentifier(Iterable<Table> tables, String identifier) {
-		return this.selectDatabaseObjectForIdentifier(tables, identifier);
-	}
-
-	/**
-	 * By default, convert the identifier to a name and perform a name lookup.
-	 */
-	public Sequence selectSequenceForIdentifier(Iterable<Sequence> sequences, String identifier) {
-		return this.selectDatabaseObjectForIdentifier(sequences, identifier);
-	}
-
-	/**
-	 * By default, convert the identifier to a name and perform a name lookup.
-	 */
-	public Column selectColumnForIdentifier(Iterable<Column> columns, String identifier) {
-		return this.selectDatabaseObjectForIdentifier(columns, identifier);
-	}
-
-	/**
-	 * By default, convert the identifier to a name and perform a name lookup.
-	 */
-	<T extends DatabaseObject> T selectDatabaseObjectForIdentifier(Iterable<T> databaseObjects, String identifier) {
-		return this.selectDatabaseObjectNamed(databaseObjects, this.convertIdentifierToName(identifier));
-	}
-
-	/**
-	 * We can tanslate identifiers on most databasee into a name we can treat as
-	 * case-sensitive.
-	 */
-	<T extends DatabaseObject> T selectDatabaseObjectNamed(Iterable<T> databaseObjects, String name) {
-		return this.selectDatabaseObjectNamedRespectCase(databaseObjects, name);
-	}
-
-	<T extends DatabaseObject> T selectDatabaseObjectNamedRespectCase(Iterable<T> databaseObjects, String name) {
-		for (T databaseObject : databaseObjects) {
-			if (databaseObject.getName().equals(name)) {
-				return databaseObject;
-			}
-		}
-		return null;
-	}
-
-	<T extends DatabaseObject> T selectDatabaseObjectNamedIgnoreCase(Iterable<T> databaseObjects, String name) {
-		for (T databaseObject : databaseObjects) {
-			if (databaseObject.getName().equalsIgnoreCase(name)) {
-				return databaseObject;
-			}
-		}
-		return null;
-	}
-
-
-	// ********** database queries **********
-
-	List<Map<String, Object>> execute(String sql) {
-		try {
-			return this.execute_(sql);
-		} catch (SQLException ex) {
-			JptJpaDbPlugin.log("SQL: " + sql, ex); //$NON-NLS-1$
-			return Collections.emptyList();
-		}
-	}
-
-	List<Map<String, Object>> execute_(String sql) throws SQLException {
-		Statement jdbcStatement = this.createJDBCStatement();
-		List<Map<String, Object>> rows = Collections.emptyList();
-		try {
-			jdbcStatement.execute(sql);
-			rows = this.buildRows(jdbcStatement.getResultSet());
-		} finally {
-			jdbcStatement.close();
-		}
-		return rows;
-	}
-
-	Statement createJDBCStatement() throws SQLException {
-		return this.getConnectionProfile().getJDBCConnection().createStatement();
-	}
-
-	List<Map<String, Object>> buildRows(ResultSet resultSet) throws SQLException {
-		List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>();
-		CollectionTools.addAll(rows, this.buildResultSetIterator(resultSet));
-		return rows;
-	}
-
-	Iterator<Map<String, Object>> buildResultSetIterator(ResultSet resultSet) throws SQLException {
-		return new ResultSetIterator<Map<String, Object>>(resultSet, new ListResultSetIteratorAdapter(resultSet.getMetaData()));
-	}
-
-	/**
-	 * Convert each row in the result set into a map whose key is the column
-	 * name and value is the column value.
-	 */
-	static class ListResultSetIteratorAdapter
-		implements ResultSetIterator.Adapter<Map<String, Object>>
-	{
-		private final int columnCount;
-		private final String[] columnNames;
-
-		ListResultSetIteratorAdapter(ResultSetMetaData rsMetaData) throws SQLException {
-			super();
-			this.columnCount = rsMetaData.getColumnCount();
-			this.columnNames = new String[this.columnCount + 1];  // leave the zero slot empty
-			for (int i = 1; i <= this.columnCount; i++) {  // NB: ResultSet index/subscript is 1-based
-				this.columnNames[i] = rsMetaData.getColumnName(i);
-			}
-		}
-
-		public Map<String, Object> buildNext(ResultSet rs) throws SQLException {
-			HashMap<String, Object> row = new HashMap<String, Object>(this.columnCount);
-			for (int i = 1; i <= this.columnCount; i++) {  // NB: ResultSet index/subscript is 1-based
-				row.put(this.columnNames[i], rs.getObject(i));
-			}
-			return row;
-		}
-	}
-
-
-	// ********** misc **********
-
-	String getUserName() {
-		return this.convertIdentifierToName(this.getConnectionProfile().getUserName());
-	}
-
-	boolean treatIdentifiersAsDelimited() {
-		return this.getConnectionProfile().treatIdentifiersAsDelimited();
-	}
-
-	ConnectionProfile getConnectionProfile() {
-		return this.database.getConnectionProfile();
-	}
-
-	/**
-	 * Convenience method: Add <code>null</code> check.
-	 */
-	boolean arrayContains(char[] array, char c) {
-		return (array != null) && ArrayTools.contains(array, c);
-	}
-
-	@Override
-	public String toString() {
-		return StringTools.buildToStringFor(this, this.database);
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/CatalogStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/CatalogStrategy.java
deleted file mode 100644
index 1fa345a..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/CatalogStrategy.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.List;
-import org.eclipse.datatools.modelbase.sql.schema.Catalog;
-import org.eclipse.datatools.modelbase.sql.schema.Schema;
-
-/**
- * Adapt the variety of catalog (and schema) configurations generated by
- * DTP-supplied drivers.
- */
-interface CatalogStrategy {
-
-	/**
-	 * Return whether the DTP database has "real" catalogs (i.e. catalogs that
-	 * can be specified by the user).
-	 */
-	boolean supportsCatalogs();
-
-	/**
-	 * Return the DTP database's catalogs. This will be empty if the database
-	 * does <em>not</em> support catalogs.
-	 * @see #supportsCatalogs()
-	 */
-	List<Catalog> getCatalogs();
-
-	/**
-	 * Return the DTP database's schemas. This will be empty if the database
-	 * supports catalogs.
-	 * @see #supportsCatalogs()
-	 */
-	List<Schema> getSchemas();
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DB2.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DB2.java
deleted file mode 100644
index 771ff68..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DB2.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import org.eclipse.jpt.jpa.db.Database;
-
-class DB2
-	extends AbstractDTPDriverAdapter
-{
-	DB2(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		// unverified...
-		return new UnknownCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return UpperCaseFoldingStrategy.instance();
-	}
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"DB2 UDB", //$NON-NLS-1$
-				"DB2 UDB iSeries", //$NON-NLS-1$
-				"DB2 UDB zSeries" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new DB2(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapter.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapter.java
deleted file mode 100644
index e94380b..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapter.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.List;
-import org.eclipse.jpt.jpa.db.Catalog;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Sequence;
-import org.eclipse.jpt.jpa.db.Table;
-
-/**
- * Delegate DTP driver-specific behavior to implementations of this
- * interface:<ul>
- *   <li>catalogs/schemas
- *   <li>names/identifiers
- *   <li>database object selection
- * </ul>
- * <strong>NB:</strong><br>
- * We use <em>name</em> when dealing with the unmodified name of a database
- * object as supplied by the database itself (i.e. it is not delimited and it is
- * always case-sensitive).
- * <br>
- * We use <em>identifier</em> when dealing with a string representation of a
- * database object name (i.e. it may be delimited and, depending on the database,
- * it may be case-insensitive).
- */
-public interface DTPDriverAdapter {
-
-	// ********** catalogs **********
-
-	/**
-	 * Return whether the DTP driver supports "real" catalogs (e.g. Sybase).
-	 * If it does, use {@link #getDTPCatalogs()} to retrieve them;
-	 * otherwise, use {@link #getDTPSchemas()} to retrieve the schemas directly.
-	 */
-	boolean supportsCatalogs();
-
-	/**
-	 * Return the DTP database's catalogs.
-	 * This will be empty if the database does not support catalogs.
-	 * @see #supportsCatalogs()
-	 */
-	List<org.eclipse.datatools.modelbase.sql.schema.Catalog> getDTPCatalogs();
-
-	/**
-	 * Return the DTP database's default catalog names.
-	 * The first name in the list that identifies an existing catalog
-	 * is <em>the</em> default.
-	 * This will be empty if the database does not support catalogs.
-	 */
-	Iterable<String> getDefaultCatalogNames();
-
-
-	// ********** schemas **********
-
-	/**
-	 * Return the DTP database's schemas.
-	 * This will be empty if the database supports catalogs.
-	 * @see #supportsCatalogs()
-	 */
-	List<org.eclipse.datatools.modelbase.sql.schema.Schema> getDTPSchemas();
-
-	/**
-	 * Return the DTP database's default schema names.
-	 * The first name in the list that identifies an existing schema
-	 * is <em>the</em> default.
-	 */
-	Iterable<String> getDefaultSchemaNames();
-
-
-	// ********** names/identifiers **********
-
-	/**
-	 * Convert the specified database object name to a database-specific
-	 * identifier (i.e. delimit the name as appropriate).
-	 */
-	String convertNameToIdentifier(String name);
-
-	/**
-	 * Convert the specified database object name to a database-specific
-	 * identifier (i.e. delimit the name as appropriate).
-	 * Return <code>null</code> if the resulting identifier matches the
-	 * specified default name.
-	 * <p>
-	 * This is used by entity generation code to determine whether
-	 * a generated annotation must explicitly identify a database object
-	 * (e.g. a table) or the specified default adequately identifies the
-	 * specified database object (taking into consideration case-sensitivity,
-	 * special characters, etc.).
-	 */
-	String convertNameToIdentifier(String name, String defaultName);
-
-	/**
-	 * Convert the specified database object identifier to a database-specific
-	 * name (i.e. stripping delimiters from and folding the identifier as
-	 * appropriate).
-	 */
-	String convertIdentifierToName(String identifier);
-
-
-	// ********** selecting database objects **********
-
-	/**
-	 * Select from the specified collection the catalog for the specified
-	 * identifier.
-	 */
-	Catalog selectCatalogForIdentifier(Iterable<Catalog> catalogs, String identifier);
-
-	/**
-	 * Select from the specified collection the schema for the specified
-	 * identifier.
-	 */
-	Schema selectSchemaForIdentifier(Iterable<Schema> schemata, String identifier);
-
-	/**
-	 * Select from the specified collection the table for the specified
-	 * identifier.
-	 */
-	Table selectTableForIdentifier(Iterable<Table> tables, String identifier);
-
-	/**
-	 * Select from the specified collection the sequence for the specified
-	 * identifier.
-	 */
-	Sequence selectSequenceForIdentifier(Iterable<Sequence> sequences, String identifier);
-
-	/**
-	 * Select from the specified collection the column for the specified
-	 * identifier.
-	 */
-	Column selectColumnForIdentifier(Iterable<Column> columns, String identifier);
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapterFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapterFactory.java
deleted file mode 100644
index 61319fd..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapterFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import org.eclipse.jpt.jpa.db.Database;
-
-/**
- * Factory interface.
- */
-interface DTPDriverAdapterFactory {
-	/**
-	 * Return the vendors supported by the factory's adapter.
-	 */
-	String[] getSupportedVendors();
-
-	/**
-	 * Build a new DTP driver adapter for the specified Dali database.
-	 */
-	DTPDriverAdapter buildAdapter(Database database);
-}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapterManager.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapterManager.java
deleted file mode 100644
index c5a5e2f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/DTPDriverAdapterManager.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.HashMap;
-import org.eclipse.jpt.jpa.db.Database;
-
-public class DTPDriverAdapterManager {
-	private final HashMap<String, DTPDriverAdapterFactory> adapterFactories;
-
-	// singleton
-	private static final DTPDriverAdapterManager INSTANCE = new DTPDriverAdapterManager();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static DTPDriverAdapterManager instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private DTPDriverAdapterManager() {
-		super();
-		this.adapterFactories = this.buildAdapterFactories();
-	}
-
-	private HashMap<String, DTPDriverAdapterFactory> buildAdapterFactories() {
-		HashMap<String, DTPDriverAdapterFactory> factories = new HashMap<String, DTPDriverAdapterFactory>();
-		this.addAdapterFactoriesTo(factories);
-		return factories;
-	}
-
-	private void addAdapterFactoriesTo(HashMap<String, DTPDriverAdapterFactory> factories) {
-		this.addAdapterFactoryTo(new DB2.Factory(), factories);
-		this.addAdapterFactoryTo(new Derby.Factory(), factories);
-		this.addAdapterFactoryTo(new HSQLDB.Factory(), factories);
-		this.addAdapterFactoryTo(new Informix.Factory(), factories);
-		this.addAdapterFactoryTo(new MaxDB.Factory(), factories);
-		this.addAdapterFactoryTo(new MySQL.Factory(), factories);
-		this.addAdapterFactoryTo(new Oracle.Factory(), factories);
-		this.addAdapterFactoryTo(new PostgreSQL.Factory(), factories);
-		this.addAdapterFactoryTo(new SQLServer.Factory(), factories);
-		this.addAdapterFactoryTo(new Sybase.Factory(), factories);
-	}
-
-	/**
-	 * @see org.eclipse.datatools.modelbase.sql.schema.Database#getVendor()
-	 */
-	private void addAdapterFactoryTo(DTPDriverAdapterFactory factory, HashMap<String, DTPDriverAdapterFactory> factories) {
-		for (String name : factory.getSupportedVendors()) {
-			this.addAdapterFactoryTo(name, factory, factories);
-		}
-	}
-
-	private void addAdapterFactoryTo(String name, DTPDriverAdapterFactory factory, HashMap<String, DTPDriverAdapterFactory> factories) {
-		if (factories.put(name, factory) != null) {
-			throw new IllegalArgumentException("Duplicate adapter factory: " + name); //$NON-NLS-1$
-		}
-	}
-
-	public DTPDriverAdapter buildAdapter(String dtpVendorName, Database database) {
-		return this.getAdapterFactory(dtpVendorName).buildAdapter(database);
-	}
-
-	private DTPDriverAdapterFactory getAdapterFactory(String dtpVendorName) {
-		DTPDriverAdapterFactory factory = this.adapterFactories.get(dtpVendorName);
-		return (factory != null) ? factory : UNRECOGNIZED_ADAPTER_FACTORY;
-	}
-	private static final DTPDriverAdapterFactory UNRECOGNIZED_ADAPTER_FACTORY = new Unknown.Factory();
-
-	@Override
-	public String toString() {
-		return this.getClass().getSimpleName();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Derby.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Derby.java
deleted file mode 100644
index e990660..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Derby.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.ArrayList;
-import org.eclipse.jpt.jpa.db.Database;
-
-class Derby
-	extends AbstractDTPDriverAdapter
-{
-	Derby(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		return new FauxCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return UpperCaseFoldingStrategy.instance();
-	}
-
-	@Override
-	void addDefaultSchemaNamesTo(ArrayList<String> names) {
-		names.add(this.getDefaultSchemaName());
-	}
-
-	/**
-	 * The default user name on Derby is <code>"APP"</code> when the user
-	 * connects without a user name.
-	 */
-	private String getDefaultSchemaName() {
-		String userName = this.getUserName();
-		return ((userName != null) && (userName.length() != 0)) ?
-				userName :
-				DEFAULT_USER_NAME;
-	}
-	private static final String DEFAULT_USER_NAME = "APP";  //$NON-NLS-1$
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"Derby" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new Derby(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/FauxCatalogStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/FauxCatalogStrategy.java
deleted file mode 100644
index 507d5cb..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/FauxCatalogStrategy.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.datatools.modelbase.sql.schema.Catalog;
-import org.eclipse.datatools.modelbase.sql.schema.Database;
-import org.eclipse.datatools.modelbase.sql.schema.Schema;
-
-/**
- * Catalog strategy for DTP database drivers that build a "virtual" catalog
- * (that has no name) because the underlying JDBC driver does not return any
- * catalogs (e.g. Oracle). This catalog cannot be specified by the user in
- * annotations etc.
- * 
- * @see java.sql.DatabaseMetaData#getCatalogs()
- */
-class FauxCatalogStrategy
-	implements CatalogStrategy
-{
-	private final Database database;
-
-	FauxCatalogStrategy(Database database) {
-		super();
-		this.database = database;
-	}
-
-	public boolean supportsCatalogs() {
-		return false;
-	}
-
-	public List<Catalog> getCatalogs() {
-		return Collections.emptyList();
-	}
-
-	public List<Schema> getSchemas() {
-		Catalog fauxCatalog = this.getFauxCatalog();
-		@SuppressWarnings("unchecked")
-		List<Schema> schemas = fauxCatalog.getSchemas();
-		return schemas;
-	}
-
-	private Catalog getFauxCatalog() {
-		List<Catalog> catalogs = this.getCatalogs_();
-		if (catalogs == null) {
-			throw new IllegalStateException("catalogs list is null"); //$NON-NLS-1$
-		}
-		if (catalogs.size() != 1) {
-			throw new IllegalStateException("not a single catalog: " + catalogs); //$NON-NLS-1$
-		}
-
-		Catalog catalog = catalogs.get(0);
-		if (catalog.getName().length() != 0) {
-			throw new IllegalStateException("illegal name: " + catalog.getName()); //$NON-NLS-1$
-		}
-		return catalog;
-	}
-
-	@SuppressWarnings("unchecked")
-	private List<Catalog> getCatalogs_() {
-		return this.database.getCatalogs();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/FoldingStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/FoldingStrategy.java
deleted file mode 100644
index 523bb7a..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/FoldingStrategy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-/**
- * Adapt database-specific identifier-folding etc.
- */
-interface FoldingStrategy {
-
-	/**
-	 * Fold the specified identifier.
-	 */
-	String fold(String identifier);
-
-	/**
-	 * Return whether the specified database object name is already folded,
-	 * meaning, typically, if it has no special characters, it requires no
-	 * delimiters.
-	 */
-	boolean nameIsFolded(String name);
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/HSQLDB.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/HSQLDB.java
deleted file mode 100644
index 6876c2c..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/HSQLDB.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.ArrayList;
-import org.eclipse.jpt.jpa.db.Database;
-
-class HSQLDB
-	extends AbstractDTPDriverAdapter
-{
-	HSQLDB(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		// unverified...
-		return new UnknownCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return UpperCaseFoldingStrategy.instance();
-	}
-
-	@Override
-	void addDefaultSchemaNamesTo(ArrayList<String> names) {
-		names.add(PUBLIC_SCHEMA_NAME);
-	}
-	private static final String PUBLIC_SCHEMA_NAME = "PUBLIC";  //$NON-NLS-1$
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"HSQLDB" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new HSQLDB(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Informix.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Informix.java
deleted file mode 100644
index 8ff84a3..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Informix.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import org.eclipse.jpt.jpa.db.Database;
-
-class Informix
-	extends AbstractDTPDriverAdapter
-{
-	Informix(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		// unverified...
-		return new UnknownCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return LowerCaseFoldingStrategy.instance();
-	}
-
-	@Override
-	char[] getExtendedRegularNameStartCharacters() {
-		return EXTENDED_REGULAR_NAME_START_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_START_CHARACTERS = new char[] { '_' };
-
-	@Override
-	char[] getExtendedRegularNamePartCharacters() {
-		return EXTENDED_REGULAR_NAME_PART_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_PART_CHARACTERS = new char[] { '$' };
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"Informix" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new Informix(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/LowerCaseFoldingStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/LowerCaseFoldingStrategy.java
deleted file mode 100644
index 903ad0b..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/LowerCaseFoldingStrategy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Fold <em>regular</em> identifiers to lower case.
- */
-class LowerCaseFoldingStrategy
-	implements FoldingStrategy
-{
-	// singleton
-	private static final FoldingStrategy INSTANCE = new LowerCaseFoldingStrategy();
-
-	/**
-	 * Return the singleton.
-	 */
-	static FoldingStrategy instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private LowerCaseFoldingStrategy() {
-		super();
-	}
-
-	public String fold(String identifier) {
-		return identifier.toLowerCase();
-	}
-
-	public boolean nameIsFolded(String name) {
-		return StringTools.stringIsLowercase(name);
-	}
-
-	@Override
-	public String toString() {
-		return this.getClass().getSimpleName();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/MaxDB.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/MaxDB.java
deleted file mode 100644
index 9a3d08f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/MaxDB.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import org.eclipse.jpt.jpa.db.Database;
-
-class MaxDB
-	extends AbstractDTPDriverAdapter
-{
-	MaxDB(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		// unverified...
-		return new UnknownCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return UpperCaseFoldingStrategy.instance();
-	}
-
-	@Override
-	char[] getExtendedRegularNameStartCharacters() {
-		return EXTENDED_REGULAR_NAME_START_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_START_CHARACTERS = new char[] { '#', '@', '$' };
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"MaxDB" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new MaxDB(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/MySQL.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/MySQL.java
deleted file mode 100644
index 8d76aaf..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/MySQL.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.Tools;
-import org.eclipse.jpt.jpa.db.Database;
-import org.eclipse.jpt.jpa.db.DatabaseObject;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Table;
-
-/**
- * MySQL is a bit unusual in that it does <em>not</em> fold <em>regular</em>
- * identifiers and its identifiers are <em>not</em> case-sensitive
- * (except in special cases, described below). Even <em>delimited</em> identifiers
- * are case-<em>in</em>sensitive. (Delimiters are only needed for identifiers
- * that contain special characters or are reserved words.)
- * <p>
- * MySQL handles the case-sensitivity of databases and tables according to the
- * value of the system variable <code>lower_case_table_names</code>:<ul>
- * <li>0 (Unix/Linux default): database and table names are <em>not</em> folded
- * and they are case-sensitive
- * <li>1 (Windows default): database and table names are folded to lowercase
- * and they are <em>not</em> case-sensitive
- * <li>2 (Mac OS X default): database and table names are <em>not</em> folded
- * and they are <em>not</em> case-sensitive
- * </ul>
- * These values will not work perfectly on all platforms because databases are
- * stored as directories and tables are stored as files in the underlying
- * O/S; and the actual case-sensitivity of the names will ulimately be
- * determined by the behavior of filenames on the O/S.
- * <p>
- * See <a href=http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html>
- * Identifier Case Sensitivity</a>.
- */
-class MySQL
-	extends AbstractDTPDriverAdapter
-{
-	/** lazy-initialized; value comes from the database server */
-	private int lower_case_table_names = -1;
-
-	/** lazy-initialized; value comes from the database server */
-	private Boolean ANSI_QUOTES = null;
-
-
-	MySQL(Database database) {
-		super(database);
-	}
-
-	/**
-	 * The DTP model for MySQL has a database that contains no catalogs;
-	 * but, instead, directly holds a single schema with the same name as
-	 * the database. (This is hard-coded in
-	 * {@link org.eclipse.datatools.enablement.mysql.catalog.MySqlCatalogDatabase#getSchemas()}.)
-	 * Although you can qualify identifiers with a database name
-	 * in MySQL, only the database specified at login seems to be available
-	 * in the DTP model....
-	 * <p>
-	 * <strong>NB:</strong> In MySQL DDL, <code>SCHEMA</code> is a synonym
-	 * for <code>DATABASE</code>; but the JDBC
-	 * method {@link java.sql.DatabaseMetaData#getSchemas()} returns an empty list,
-	 * while {@link java.sql.DatabaseMetaData#getCatalogs()} returns a list of the
-	 * available databases.
-	 * You can also use the JDBC method {@link java.sql.Connection#setCatalog(String)}
-	 * to set the default database.
-	 */
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		return new NoCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	/**
-	 * There are some cases where MySQL folds identifiers, but using the
-	 * non-folding strategy should work:<ul>
-	 * <li>We only fold identifiers when
-	 * converting them to names; but MySQL is case-<em>in</em>sensitive
-	 * when it is folding database and table names
-	 * (<code>lower_case_table_names</code>=1), so lookups will work
-	 * fine without any folding anyways.
-	 * <li>We only test whether a name is already folded when determining
-	 * whether it must be delimited; and MySQL ignores delimiters
-	 * when it comes to case-sensitivity, so we can leave any <em>regular</em>
-	 * mixed-case names undelimited. (MySQL only requires delimiters for
-	 * special characters and reserved words.)
-	 * </ul>
-	 */
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return NonFoldingStrategy.instance();
-	}
-
-	@Override
-	void addDefaultSchemaNamesTo(ArrayList<String> names) {
-		names.add(this.database.getName());
-	}
-
-
-	// ********** identifiers/names **********
-
-	/**
-	 * MySQL is the only vendor that allows a digit.
-	 * Although, the name cannnot be <em>all</em> digits
-	 * (unless delimited).
-	 */
-	@Override
-	boolean characterIsRegularNameStart(char c) {
-		return Character.isDigit(c) || super.characterIsRegularNameStart(c);
-	}
-
-	@Override
-	char[] getExtendedRegularNameStartCharacters() {
-		return EXTENDED_REGULAR_NAME_START_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_START_CHARACTERS = new char[] { '_', '$' };
-
-	@Override
-	String delimitName(String name) {
-		return StringTools.delimit(name, BACKTICK);
-	}
-
-	/**
-	 * By default, MySQL delimits identifiers with backticks (<code>`</code>);
-	 * but it can also be configured to use double-quotes.
-	 */
-	@Override
-	boolean identifierIsDelimited(String identifier) {
-		return StringTools.stringIsDelimited(identifier, BACKTICK)
-					|| (StringTools.stringIsQuoted(identifier) && this.doubleQuoteIsIdentifierDelimiter());
-	}
-	private static final char BACKTICK = '`';
-
-	/**
-	 * This method should only affect whether entity
-	 * generation will generate a specified table or column identifier when the
-	 * default identifier is not a match. Worst case: Entity generation will
-	 * generate explicit identifiers unnecessarily for columns when tables are
-	 * case-sensitive. The generated annotation will be valid but the column
-	 * name will be redundant.
-	 */
-	@Override
-	boolean regularNamesMatch(String name1, String name2) {
-		return this.tableNamesAreCaseSensitive() ?
-				name1.equals(name2) :
-				name1.equalsIgnoreCase(name2);
-	}
-
-
-	// ********** selecting database objects **********
-
-	/**
-	 * DTP schemata are MySQL databases(?). Of course, we only have one per
-	 * connection....
-	 */
-	@Override
-	public Schema selectSchemaForIdentifier(Iterable<Schema> schemata, String identifier) {
-		return this.tableNamesAreCaseSensitive() ?
-				this.selectDatabaseObjectForIdentifierRespectCase(schemata, identifier) :
-				super.selectSchemaForIdentifier(schemata, identifier);
-	}
-
-	@Override
-	public Table selectTableForIdentifier(Iterable<Table> tables, String identifier) {
-		return this.tableNamesAreCaseSensitive() ?
-				this.selectDatabaseObjectForIdentifierRespectCase(tables, identifier) :
-				super.selectTableForIdentifier(tables, identifier);
-	}
-
-	private <T extends DatabaseObject> T selectDatabaseObjectForIdentifierRespectCase(Iterable<T> databaseObjects, String identifier) {
-		return this.selectDatabaseObjectNamedRespectCase(databaseObjects, this.convertIdentifierToName(identifier));
-	}
-
-	/**
-	 * MySQL database object names are usually case-insensitive;
-	 * the exception being databases (schemata) and tables when the system
-	 * variable <code>lower_case_table_names</code> is 0 (the default on
-	 * UNIX/Linux). (For some odd reason, trigger names are also
-	 * case-sensitive.... Fortunately, we don't care yet.)
-	 */
-	@Override
-	<T extends DatabaseObject> T selectDatabaseObjectNamed(Iterable<T> databaseObjects, String name) {
-		return this.selectDatabaseObjectNamedIgnoreCase(databaseObjects, name);
-	}
-
-
-	// ********** lower_case_table_names **********
-
-	private boolean tableNamesAreCaseSensitive() {
-		return this.getLowerCaseTableNames() == 0;
-	}
-
-	private int getLowerCaseTableNames() {
-		if (this.lower_case_table_names == -1) {
-			this.lower_case_table_names = this.buildLowerCaseTableNames();
-		}
-		return this.lower_case_table_names;
-	}
-
-	/**
-	 * If we don't have a live connection (i.e. we are working off-line),
-	 * use the current O/S default setting(?).
-	 */
-	private int buildLowerCaseTableNames() {
-		int dbValue = this.getLowerCaseTableNamesFromDatabase();
-		return (dbValue != -1) ? dbValue : this.getLowerCaseTableNamesFromOS();
-	}
-
-	/**
-	 * See <a href=http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html>
-	 * Identifier Case Sensitivity</a>.
-	 */
-	private int getLowerCaseTableNamesFromDatabase() {
-		if (this.getConnectionProfile().isDisconnected()) {
-			return -1;
-		}
-		// the underscore is a wild character on MySQL, so we need to escape it
-		List<Map<String, Object>> rows = this.execute("SHOW VARIABLES LIKE 'lower\\_case\\_table\\_names'"); //$NON-NLS-1$
-		if (rows.isEmpty()) {
-			return -1;
-		}
-		Map<String, Object> row = rows.get(0);
-		if (Tools.valuesAreEqual(row.get("Variable_name"), "lower_case_table_names")) { //$NON-NLS-1$ //$NON-NLS-2$
-			return Integer.valueOf((String) row.get("Value")).intValue(); //$NON-NLS-1$
-		}
-		return -1;
-	}
-
-	/**
-	 * Make a best guess at what the setting might be:
-	 * Return the default value for the current O/S (unfortunately this is the
-	 * client O/S, not the MySQL Server O/S...).
-	 */
-	private int getLowerCaseTableNamesFromOS() {
-		if (Tools.osIsMac()) {
-			return 2;
-		}
-		if (Tools.osIsWindows()) {
-			return 1;
-		}
-		return 0;  // Linux etc.
-	}
-
-
-	// ********** ANSI_QUOTES **********
-
-	private boolean doubleQuoteIsIdentifierDelimiter() {
-		return this.getANSIQuotes().booleanValue();
-	}
-
-	private Boolean getANSIQuotes() {
-		if (this.ANSI_QUOTES == null) {
-			this.ANSI_QUOTES = this.buildANSIQuotes();
-		}
-		return this.ANSI_QUOTES;
-	}
-
-	/**
-	 * If we don't have a live connection (i.e. we are working off-line),
-	 * return <code>FALSE</code> (the default setting).
-	 */
-	private Boolean buildANSIQuotes() {
-		Boolean dbValue = this.getANSIQuotesFromDatabase();
-		return (dbValue != null) ? dbValue : Boolean.FALSE;
-	}
-
-	/**
-	 * See <a href=http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_ansi_quotes>
-	 * ANSI_QUOTES</a>.
-	 */
-	private Boolean getANSIQuotesFromDatabase() {
-		if (this.getConnectionProfile().isDisconnected()) {
-			return null;
-		}
-		List<Map<String, Object>> rows = this.execute("SELECT @@SESSION.sql_mode"); //$NON-NLS-1$
-		if (rows.isEmpty()) {
-			return null;
-		}
-		Map<String, Object> row = rows.get(0);
-		String sql_mode = (String) row.get("@@SESSION.sql_mode"); //$NON-NLS-1$
-		if (sql_mode == null) {
-			return null;
-		}
-		String[] modes = sql_mode.split(","); //$NON-NLS-1$
-		return Boolean.valueOf(ArrayTools.contains(modes, "ANSI_QUOTES")); //$NON-NLS-1$
-	}
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"MySql" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new MySQL(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/NoCatalogStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/NoCatalogStrategy.java
deleted file mode 100644
index 348bd59..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/NoCatalogStrategy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.datatools.modelbase.sql.schema.Catalog;
-import org.eclipse.datatools.modelbase.sql.schema.Database;
-import org.eclipse.datatools.modelbase.sql.schema.Schema;
-
-/**
- * Catalog strategy for DTP database drivers that do not have catalogs
- * (e.g. MySQL; see bug 249013).
- */
-class NoCatalogStrategy
-	implements CatalogStrategy
-{
-	private final Database database;
-
-	NoCatalogStrategy(Database database) {
-		super();
-		this.database = database;
-	}
-
-	public boolean supportsCatalogs() {
-		return false;
-	}
-
-	public List<Catalog> getCatalogs() {
-		return Collections.emptyList();
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<Schema> getSchemas() {
-		return this.database.getSchemas();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/NonFoldingStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/NonFoldingStrategy.java
deleted file mode 100644
index 0453677..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/NonFoldingStrategy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-/**
- * Do not fold <em>regular</em> identifiers.
- */
-class NonFoldingStrategy
-	implements FoldingStrategy
-{
-	// singleton
-	private static final FoldingStrategy INSTANCE = new NonFoldingStrategy();
-
-	/**
-	 * Return the singleton.
-	 */
-	static FoldingStrategy instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private NonFoldingStrategy() {
-		super();
-	}
-
-	/**
-	 * Since identifiers are not folded to upper- or lower-case, the name is
-	 * already <em>folded</em>.
-	 */
-	public String fold(String identifier) {
-		return identifier;
-	}
-
-	/**
-	 * Since identifiers are not folded to upper- or lower-case, the name is
-	 * already <em>folded</em>.
-	 * (Non-folding databases do not require delimiters around mixed-case
-	 * <em>regular</em> identifiers.)
-	 */
-	public boolean nameIsFolded(String name) {
-		return true;
-	}
-
-	@Override
-	public String toString() {
-		return this.getClass().getSimpleName();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Oracle.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Oracle.java
deleted file mode 100644
index 48fc149..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Oracle.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import org.eclipse.jpt.jpa.db.Database;
-
-class Oracle
-	extends AbstractDTPDriverAdapter
-{
-	Oracle(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		return new FauxCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return UpperCaseFoldingStrategy.instance();
-	}
-
-	@Override
-	char[] getExtendedRegularNamePartCharacters() {
-		return EXTENDED_REGULAR_NAME_PART_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_PART_CHARACTERS = new char[] { '$', '#' };
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"Oracle" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new Oracle(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/PostgreSQL.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/PostgreSQL.java
deleted file mode 100644
index 93598f1..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/PostgreSQL.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.ArrayList;
-import org.eclipse.datatools.modelbase.sql.schema.Catalog;
-import org.eclipse.jpt.jpa.db.Database;
-
-class PostgreSQL
-	extends AbstractDTPDriverAdapter
-{
-	PostgreSQL(Database database) {
-		super(database);
-	}
-
-	/**
-	 * The PostgreSQL JDBC driver returns a single catalog from the call to
-	 * {@link java.sql.DatabaseMetaData#getCatalogs()} that has the same name as the
-	 * database initially specified by the connection (in the JDBC URL).
-	 * DTP uses this configuration unmodified. Unfortunately, the DTP
-	 * database's name is not the same as the PostgreSQL database's
-	 * name.
-	 */
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		return new SimpleCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return LowerCaseFoldingStrategy.instance();
-	}
-
-	/**
-	 * The PostgreSQL database holds a single catalog that has the same name as
-	 * the database.
-	 */
-	@Override
-	void addDefaultCatalogNamesTo(ArrayList<String> names) {
-		names.add(this.buildDefaultCatalogName());
-	}
-
-	private String buildDefaultCatalogName() {
-		return ((Catalog) this.database.getDTPDatabase().getCatalogs().get(0)).getName();
-	}
-
-	/**
-	 * PostgreSQL has a "schema search path". The default is:<br><code>
-	 *     "$user",public
-	 * </code><br>
-	 * If the <code>"$user"</code> schema is not found, use the
-	 * <code>"public"</code> schema.
-	 */
-	@Override
-	void addDefaultSchemaNamesTo(ArrayList<String> names) {
-		super.addDefaultSchemaNamesTo(names);
-		names.add(PUBLIC_SCHEMA_NAME);
-	}
-	private static final String PUBLIC_SCHEMA_NAME = "public";  //$NON-NLS-1$
-
-	@Override
-	char[] getExtendedRegularNameStartCharacters() {
-		return EXTENDED_REGULAR_NAME_START_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_START_CHARACTERS = new char[] { '_' };
-
-	@Override
-	char[] getExtendedRegularNamePartCharacters() {
-		return EXTENDED_REGULAR_NAME_PART_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_PART_CHARACTERS = new char[] { '$' };
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"postgres" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new PostgreSQL(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/SQLServer.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/SQLServer.java
deleted file mode 100644
index d9aefb0..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/SQLServer.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.ArrayList;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpa.db.Database;
-
-/**
- * Microsoft SQL Server
- */
-class SQLServer
-	extends AbstractDTPDriverAdapter
-{
-	SQLServer(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		return new SimpleCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return NonFoldingStrategy.instance();
-	}
-
-	/**
-	 * By default, SQL Server identifiers are case-sensitive, even without
-	 * delimiters. This can depend on the collation setting....
-	 */
-	//TODO query database for collation setting
-	@Override
-	boolean regularNamesMatch(String name1, String name2) {
-		return name1.equals(name2);
-	}
-
-	/**
-	 * SQL Server will use the user-requested database; if that database is not
-	 * found, it will default to <code>master</code>.
-	 */
-	@Override
-	void addDefaultCatalogNamesTo(ArrayList<String> names) {
-		names.add(this.database.getName());
-		names.add(MASTER_CATALOG_IDENTIFIER);
-	}
-	private static final String MASTER_CATALOG_IDENTIFIER = "master";  //$NON-NLS-1$
-
-	/**
-	 * The default schema on SQL Server for any database (catalog) is
-	 * <code>dbo</code>.
-	 */
-	@Override
-	void addDefaultSchemaNamesTo(ArrayList<String> names) {
-		names.add(DEFAULT_SCHEMA_NAME);
-	}
-	private static final String DEFAULT_SCHEMA_NAME = "dbo";  //$NON-NLS-1$
-
-	@Override
-	char[] getExtendedRegularNameStartCharacters() {
-		return EXTENDED_REGULAR_NAME_START_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_START_CHARACTERS = new char[] { '_', '@', '#' };
-
-	@Override
-	char[] getExtendedRegularNamePartCharacters() {
-		return EXTENDED_REGULAR_NAME_PART_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_PART_CHARACTERS = new char[] { '$' };
-
-	//TODO query database for delimiter setting
-	@Override
-	String delimitName(String name) {
-		return '[' + name + ']';
-	}
-
-	/**
-	 * By default, SQL Server delimits identifiers with brackets
-	 * (<code>[]</code>); but it
-	 * can also be configured to use double-quotes.
-	 */
-	//TODO query database for delimiter setting
-	@Override
-	boolean identifierIsDelimited(String identifier) {
-		return StringTools.stringIsBracketed(identifier)
-					|| super.identifierIsDelimited(identifier);
-	}
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"SQL Server" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new SQLServer(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/SimpleCatalogStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/SimpleCatalogStrategy.java
deleted file mode 100644
index 8d42d07..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/SimpleCatalogStrategy.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.Collections;
-import java.util.List;
-import org.eclipse.datatools.modelbase.sql.schema.Catalog;
-import org.eclipse.datatools.modelbase.sql.schema.Database;
-import org.eclipse.datatools.modelbase.sql.schema.Schema;
-
-/**
- * Catalog strategy for DTP database drivers that simply model the catalogs
- * returned by the underlying JDBC driver (e.g. Sybase).
- * 
- * @see java.sql.DatabaseMetaData#getCatalogs()
- */
-class SimpleCatalogStrategy
-	implements CatalogStrategy
-{
-	private final Database database;
-
-	SimpleCatalogStrategy(Database database) {
-		super();
-		this.database = database;
-	}
-
-	public boolean supportsCatalogs() {
-		return true;
-	}
-
-	@SuppressWarnings("unchecked")
-	public List<Catalog> getCatalogs() {
-		return this.database.getCatalogs();
-	}
-
-	public List<Schema> getSchemas() {
-		return Collections.emptyList();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Sybase.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Sybase.java
deleted file mode 100644
index 0847a0c..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Sybase.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.ArrayList;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpa.db.Database;
-
-class Sybase
-	extends AbstractDTPDriverAdapter
-{
-	Sybase(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		return new SimpleCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		return NonFoldingStrategy.instance();
-	}
-
-	/**
-	 * By default, Sybase identifiers are case-sensitive, even without
-	 * delimiters. This can depend on the collation setting....
-	 */
-	//TODO query database for collation setting
-	@Override
-	boolean regularNamesMatch(String name1, String name2) {
-		return name1.equals(name2);
-	}
-
-	/**
-	 * Sybase will use the user-requested database; if that database is not
-	 * found, it will default to <code>master</code>.
-	 */
-	@Override
-	void addDefaultCatalogNamesTo(ArrayList<String> names) {
-		names.add(this.database.getName());
-		names.add(MASTER_CATALOG_NAME);
-	}
-	private static final String MASTER_CATALOG_NAME = "master";  //$NON-NLS-1$
-
-	/**
-	 * The typical default schema on Sybase for any database (catalog) is
-	 * <code>dbo</code>.
-	 * <br>
-	 * Actually, the default schema is more like a search path:
-	 * The server looks for a schema object (e.g. a table) first in the user's
-	 * schema, then it looks for the schema object in the database owner's
-	 * schema (<code>dbo</code>). As a result, it's really not possible to specify
-	 * the "default" schema without knowing the schema object we are
-	 * looking for.
-	 * <br>
-	 * (Note: the current 'user' is not the same thing as the current
-	 * 'login' - see sp_adduser and sp_addlogin; so we probably can't
-	 * use {@link org.eclipse.jpt.jpa.db.ConnectionProfile#getUserName()}.)
-	 */
-	@Override
-	void addDefaultSchemaNamesTo(ArrayList<String> names) {
-		names.add(DEFAULT_SCHEMA_NAME);
-	}
-	private static final String DEFAULT_SCHEMA_NAME = "dbo";  //$NON-NLS-1$
-
-	@Override
-	char[] getExtendedRegularNameStartCharacters() {
-		return EXTENDED_REGULAR_NAME_START_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_START_CHARACTERS = new char[] { '_', '@' };
-
-	@Override
-	char[] getExtendedRegularNamePartCharacters() {
-		return EXTENDED_REGULAR_NAME_PART_CHARACTERS;
-	}
-	private static final char[] EXTENDED_REGULAR_NAME_PART_CHARACTERS = new char[] { '$', '¥', '£', '#' };
-
-	//TODO query database for delimiter setting
-	@Override
-	String delimitName(String name) {
-		return '[' + name + ']';
-	}
-
-	/**
-	 * By default, Sybase delimits identifiers with brackets
-	 * (<code>[]</code>); but it
-	 * can also be configured to use double-quotes.
-	 */
-	//TODO query database for delimiter setting
-	@Override
-	boolean identifierIsDelimited(String identifier) {
-		return StringTools.stringIsBracketed(identifier)
-					|| super.identifierIsDelimited(identifier);
-	}
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		private static final String[] VENDORS = {
-				"Sybase_ASA", //$NON-NLS-1$
-				"Sybase_ASE" //$NON-NLS-1$
-			};
-		public String[] getSupportedVendors() {
-			return VENDORS;
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new Sybase(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Unknown.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Unknown.java
deleted file mode 100644
index a417250..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/Unknown.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import org.eclipse.jpt.jpa.db.Database;
-
-class Unknown
-	extends AbstractDTPDriverAdapter
-{
-	Unknown(Database database) {
-		super(database);
-	}
-
-	@Override
-	CatalogStrategy buildCatalogStrategy() {
-		// infer from existing catalogs and schemas
-		return new UnknownCatalogStrategy(this.database.getDTPDatabase());
-	}
-
-	@Override
-	FoldingStrategy buildFoldingStrategy() {
-		// SQL standard
-		return UpperCaseFoldingStrategy.instance();
-	}
-
-
-	// ********** factory **********
-
-	static class Factory implements DTPDriverAdapterFactory {
-		public String[] getSupportedVendors() {
-			throw new UnsupportedOperationException();
-		}
-		public DTPDriverAdapter buildAdapter(Database database) {
-			return new Unknown(database);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/UnknownCatalogStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/UnknownCatalogStrategy.java
deleted file mode 100644
index ca7722c..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/UnknownCatalogStrategy.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.datatools.modelbase.sql.schema.Catalog;
-import org.eclipse.datatools.modelbase.sql.schema.Database;
-import org.eclipse.datatools.modelbase.sql.schema.Schema;
-
-/**
- * Catalog strategy for unknown DTP database drivers.
- * Infer the strategy from the returned catalogs and schemas.
- * 
- * @see java.sql.DatabaseMetaData#getCatalogs()
- */
-class UnknownCatalogStrategy
-	implements CatalogStrategy
-{
-	private final Database database;
-
-	UnknownCatalogStrategy(Database database) {
-		super();
-		this.database = database;
-	}
-
-	/**
-	 * Return <code>true</code> if the database returns a list of catalogs and
-	 * that list does not contain only a "faux" catalog.
-	 */
-	public boolean supportsCatalogs() {
-		return ! this.getCatalogs().isEmpty();
-	}
-
-	public List<Catalog> getCatalogs() {
-		List<Catalog> catalogs = this.getCatalogs_();
-		// if there are no catalogs, the database must hold the schemata directly
-		if ((catalogs == null) || catalogs.isEmpty()) {
-			return Collections.emptyList();
-		}
-
-		Catalog fauxCatalog = this.selectFauxCatalog(catalogs);
-		// if we don't have a "faux" catalog, we must have "real" catalogs
-		return (fauxCatalog == null) ? catalogs : Collections.<Catalog>emptyList();
-	}
-
-	public List<Schema> getSchemas() {
-		List<Catalog> catalogs = this.getCatalogs_();
-		// if there are no catalogs, the database must hold the schemata directly
-		if ((catalogs == null) || catalogs.isEmpty()) {
-			return this.getSchemas_();
-		}
-
-		Catalog fauxCatalog = this.selectFauxCatalog(catalogs);
-		return (fauxCatalog != null) ? this.getSchemas(fauxCatalog) : Collections.<Schema>emptyList();
-	}
-
-	// minimize scope of suppressed warnings
-	@SuppressWarnings("unchecked")
-	private List<Schema> getSchemas(Catalog catalog) {
-		return catalog.getSchemas();
-	}
-
-	/**
-	 * If the specified list of catalogs contains a "faux" catalog (i.e. a
-	 * single catalog with an empty string for a name), return it; otherwise
-	 * return <code>null</code>.
-	 */
-	private Catalog selectFauxCatalog(List<Catalog> catalogs) {
-		if (catalogs.size() == 1) {
-			Catalog catalog = catalogs.get(0);
-			if (catalog.getName().equals("")) { //$NON-NLS-1$
-				return catalog;
-			}
-		}
-		return null;
-	}
-
-	@SuppressWarnings("unchecked")
-	private List<Catalog> getCatalogs_() {
-		return this.database.getCatalogs();
-	}
-
-	@SuppressWarnings("unchecked")
-	private List<Schema> getSchemas_() {
-		return this.database.getSchemas();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/UpperCaseFoldingStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/UpperCaseFoldingStrategy.java
deleted file mode 100644
index 00afecc..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.db/src/org/eclipse/jpt/jpa/db/internal/driver/UpperCaseFoldingStrategy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.internal.driver;
-
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Fold <em>regular</em> identifiers to upper case.
- */
-class UpperCaseFoldingStrategy
-	implements FoldingStrategy
-{
-	// singleton
-	private static final FoldingStrategy INSTANCE = new UpperCaseFoldingStrategy();
-
-	/**
-	 * Return the singleton.
-	 */
-	static FoldingStrategy instance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * Ensure single instance.
-	 */
-	private UpperCaseFoldingStrategy() {
-		super();
-	}
-
-	public String fold(String identifier) {
-		return identifier.toUpperCase();
-	}
-
-	public boolean nameIsFolded(String name) {
-		return StringTools.stringIsUppercase(name);
-	}
-
-	@Override
-	public String toString() {
-		return this.getClass().getSimpleName();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.cvsignore b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.project b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.project
deleted file mode 100644
index 1cd07b0..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.eclipselink.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.settings/org.eclipse.core.resources.prefs b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 4aec29d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 15:10:09 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index 2f77777..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.eclipselink.branding;singleton:=true
-Bundle-Version: 3.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.html b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.ini b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.ini
deleted file mode 100644
index 7d88b9d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.ini
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.mappings b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.properties b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.properties
deleted file mode 100644
index c6dd28d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - EclipseLink JPA Support\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Oracle contributors and others 2006, 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/build.properties b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/build.properties
deleted file mode 100644
index 4e089bb..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties,\
-               component.xml
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/component.xml b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/component.xml
deleted file mode 100644
index 5ab146d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpa.eclipselink.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.jpa.eclipselink.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.common.eclipselink.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpa.eclipselink.core" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpa.eclipselink.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/icons/WTP_icon_x32_v2.png b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/plugin.properties b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/plugin.properties
deleted file mode 100644
index 3201735..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle. - initial API and implementation
-###############################################################################
-
-pluginName = Dali Java Persistence Tools - EclipseLink JPA Support
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.classpath b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.cvsignore b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.project b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.project
deleted file mode 100644
index 084aa66..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.eclipselink.core.ddlgen</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.settings/org.eclipse.jdt.core.prefs b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f6a20c3..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:09:07 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/META-INF/MANIFEST.MF
deleted file mode 100644
index c1ce439..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.eclipselink.core.ddlgen;singleton:=true
-Bundle-Version: 2.0.100.qualifier
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.jpt.jpa.eclipselink.core;bundle-version="[2.0.0,3.0.0)"
-Import-Package: javax.persistence
-Export-Package: org.eclipse.jpt.jpa.eclipselink.core.ddlgen
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/about.html b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/about.html
deleted file mode 100644
index 071f586..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/about.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H2>About This Content</H2>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-<h3>Third Party Content</h3>
-<p>The Content includes items that have been sourced from third parties as set 
-  out below. If you did not receive this Content directly from the Eclipse Foundation, 
-  the following is provided for informational purposes only, and you should look 
-  to the Redistributor&#8217;s license for terms and conditions of use.</p>
-
-<h4><a name="JPA" id="JPA"></a>Java Persistence API (JPA) v1.0</h4>
-
-<blockquote>
-  <p>The Java Persistence API (JPA) which is distributed under <a href="https://glassfish.dev.java.net/public/CDDLv1.0.html">CDDL 
-    v1.0</a> is required by the Dali Java Persistence Tools Project in order 
-    to support this standard.</p>
-</blockquote>
-</BODY>
-</HTML>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/build.properties b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/build.properties
deleted file mode 100644
index f6a2578..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.properties
-jars.compile.order = .
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/plugin.properties b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/plugin.properties
deleted file mode 100644
index a2f8480..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - Jpa EclipseLink Support - DDL Generation
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/src/org/eclipse/jpt/jpa/eclipselink/core/ddlgen/Main.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/src/org/eclipse/jpt/jpa/eclipselink/core/ddlgen/Main.java
deleted file mode 100644
index 3fd0340..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen/src/org/eclipse/jpt/jpa/eclipselink/core/ddlgen/Main.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2007, 2011 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:
-*     Oracle - initial API and implementation
-*******************************************************************************/
-package org.eclipse.jpt.jpa.eclipselink.core.ddlgen;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Map.Entry;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-
-/** 
- * This class creates a EclipseLink <code>EntityManagerFactory</code>, 
- * and executes the DDL generator with the command set in the properties: 
- *     <code>eclipselink.ddl-generation.output-mode</code> 
- *     <code>eclipselink.application-location</code>
- * 
- * Current command-line arguments:
- *     [-pu puName] - persistence unit name
- *     [-p propertiesFilePath] - properties for EclipseLink EntityManager
- *  
- *  Example of a properties file:
- *  	eclipselink.jdbc.bind-parameters=false
- *  	eclipselink.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
- *  	eclipselink.jdbc.url=jdbc\:derby\:c\:/derbydb/testdb;create\=true
- *  	eclipselink.jdbc.user=tran
- *  	eclipselink.jdbc.password=
- *  	eclipselink.logging.level=FINEST
- *  	eclipselink.logging.timestamp=false
- *  	eclipselink.logging.thread=false
- *  	eclipselink.logging.session=false
- *  	eclipselink.logging.exceptions=true
- *  	eclipselink.orm.throw.exceptions=true
- *  	eclipselink.ddl-generation.output-mode=database
- *  	eclipselink.ddl-generation=drop-and-create-tables
- *  	eclipselink.application-location=c\:/_Projects_/ExampleDDL
- */
-public class Main
-{
-	protected EntityManagerFactory emf;
-	private Map<String, String> eclipseLinkProperties;
-	private String eclipseLinkPropertiesPath;
-	private boolean isDebugMode;
-	
-	// ********** constructors **********
-	
-	public static void main(String[] args) {
-		new Main().execute(args);
-	}
-
-	private Main() {
-		super();
-	}
-
-	// ********** behavior **********
-	
-	protected void execute(String[] args) {
-		this.initializeWith(args);
-		
-		this.emf = Persistence.createEntityManagerFactory(this.getPUName(args), this.eclipseLinkProperties);
-		this.perform();
-		this.closeEntityManagerFactory();
-		
-		this.dispose();
-		return;
-	}
-	
-	protected void perform() {
-		// create an EM to generate schema.
-		this.emf.createEntityManager().close();
-	}
-	
-	protected void closeEntityManagerFactory() {
-		this.emf.close();
-	}
-	
-	private void initializeWith(String[] args) {
-
-		this.eclipseLinkPropertiesPath = this.getEclipseLinkPropertiesPath(args);
-		this.eclipseLinkProperties = this.getProperties(this.eclipseLinkPropertiesPath);
-
-		this.isDebugMode = this.getDebugMode(args);
-	}
-	
-	private void dispose() {
-
-		if( ! this.isDebugMode) {
-			new File(this.eclipseLinkPropertiesPath).delete();
-		}
-	}
-	
-	private Map<String, String> getProperties(String eclipseLinkPropertiesPath) {
-		
-		Set<Entry<Object, Object>> propertiesSet = null;
-		try {
-			propertiesSet = this.loadEclipseLinkProperties(eclipseLinkPropertiesPath);
-		}
-		catch (IOException e) {
-			throw new RuntimeException("Missing: " + eclipseLinkPropertiesPath, e); //$NON-NLS-1$
-		}
-		
-		Map<String, String> properties = new HashMap<String, String>();
-		for(Entry<Object, Object> property : propertiesSet) {
-			properties.put((String)property.getKey(), (String)property.getValue());
-		}
-		return properties;
-	}
-
-    private Set<Entry<Object, Object>> loadEclipseLinkProperties(String eclipseLinkPropertiesPath) throws IOException {
-		
-        FileInputStream stream = new FileInputStream(eclipseLinkPropertiesPath);
-        
-        Properties properties = new Properties();
-        properties.load(stream);
-        
-        return properties.entrySet();
-	}
-
-	// ********** argument queries **********
-    
-	private String getPUName(String[] args) {
-
-		return this.getArgumentValue("-pu", args); //$NON-NLS-1$
-	}
-	
-	private String getEclipseLinkPropertiesPath(String[] args) {
-
-		return this.getArgumentValue("-p", args); //$NON-NLS-1$
-	}
-
-	private boolean getDebugMode(String[] args) {
-
-		return this.argumentExists("-debug", args); //$NON-NLS-1$
-	}
-	
-	private String getArgumentValue(String argument, String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argument)) {
-				int j = i + 1;
-				if (j < args.length) {
-					return args[j];
-				}
-			}
-		}
-		return null;
-	}
-	
-	private boolean argumentExists(String argument, String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.toLowerCase().equals(argument)) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/.classpath b/jpa/plugins/org.eclipse.jpt.jpa.gen/.classpath
deleted file mode 100644
index 8f25741..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<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"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/.cvsignore b/jpa/plugins/org.eclipse.jpt.jpa.gen/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/.project b/jpa/plugins/org.eclipse.jpt.jpa.gen/.project
deleted file mode 100644
index 3e6e8c6..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.gen</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/.settings/org.eclipse.jdt.core.prefs b/jpa/plugins/org.eclipse.jpt.jpa.gen/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 051d6a3..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:09:26 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/META-INF/MANIFEST.MF b/jpa/plugins/org.eclipse.jpt.jpa.gen/META-INF/MANIFEST.MF
deleted file mode 100644
index f1fc486..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.gen
-Bundle-Version: 2.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.jpt.jpa.gen.internal;x-internal:=true,
- org.eclipse.jpt.jpa.gen.internal.util;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jpa.db;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.jpa.core;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.4.0,4.0.0)",
- org.apache.commons.collections;bundle-version="[3.2.0,4.0.0)",
- org.apache.commons.lang;bundle-version="[2.1.0,3.0.0)",
- org.apache.velocity;bundle-version="[1.5.0,2.0.0)",
- org.jdom;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.wst.common.emf;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)"
-Import-Package: com.ibm.icu.text;version="4.0.1"
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/about.html b/jpa/plugins/org.eclipse.jpt.jpa.gen/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/build.properties b/jpa/plugins/org.eclipse.jpt.jpa.gen/build.properties
deleted file mode 100644
index 4fe875d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2009 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/,\
-               property_files/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               plugin.properties,\
-               templates/
-jars.compile.order = .
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/component.xml b/jpa/plugins/org.eclipse.jpt.jpa.gen/component.xml
deleted file mode 100644
index ff5a350..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/component.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Copyright (c) 2007, 2010 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:
-    Oracle - initial API and implementation
- -->
-
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpa.gen"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jpt.jpa.gen" fragment="false"/></component>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/plugin.properties b/jpa/plugins/org.eclipse.jpt.jpa.gen/plugin.properties
deleted file mode 100644
index 9537a25..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 2009 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - Entity Gen
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/property_files/jpt_gen.properties b/jpa/plugins/org.eclipse.jpt.jpa.gen/property_files/jpt_gen.properties
deleted file mode 100644
index db907a2..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/property_files/jpt_gen.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-################################################################################
-# Copyright (c) 2008, 2009 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-PackageGenerator_taskName=Generate Entities
-GenScope_taskName=Build Database Model
-EntityGenerator_taskName=Generate Entity: {0}
-Error_Generating_Entities = Error Generating Entities
-
-Delete_Folder_Error = "The directory {0} could not be deleted."
-Delete_File_Error = "The file {0} could not be deleted."
-File_Read_Only_Error= "The file {0} could not be modified because write access is denied.\nPlease make sure that the file is not marked as readonly in the file system."
-
-Templates_notFound = Unable to find JPA entities generation templates in plugin
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/Association.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/Association.java
deleted file mode 100644
index 889b4a7..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/Association.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import java.util.List;
-
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.gen.internal.util.StringUtil;
-
-/**
- * Represents an ORM association.
- * There are two types of associations:
- * <ul><li>simple association: An association between two database tables.
- * The <em>referrer</code> table is the one containing the foreign key
- * , the <em>referenced</code> table is the other party.<br>
- * 
- * <li>many to many association: An association between two tables joined by 
- * a <em>join table</em>.
- * In the example AUTHOR, BOOK, AUTHOR_BOOK, The referrer and referenced are 
- * AUTHOR and  BOOK, and the join table is AUTHOR_BOOK.
- * </ul>
- * 
- */
-public class Association implements java.io.Serializable
-{
-	private final static long serialVersionUID = 2;
-
-	public static final String MANY_TO_ONE = "many-to-one";
-	public static final String MANY_TO_MANY = "many-to-many";
-	public static final String ONE_TO_ONE = "one-to-one";
-	public static final String ONE_TO_MANY = "one-to-many";
-	
-	public static final String BI_DI = "bi-di";
-	public static final String NORMAL_DI = "normal-di"; //referrer->referenced
-	public static final String OPPOSITE_DI = "opposite-di"; //referenced->referrer
-	
-	private transient ORMGenCustomizer mCustomizer;
-	private String mReferrerTableName;
-	private String mReferencedTableName;
-	private String mJoinTableName;
-
-	private List<String> mReferrerColNames; /*String objects*/
-	private List<String> mReferencedColNames; /*String objects*/
-	private List<String> mReferrerJoinColNames; /*String objects*/
-	private List<String> mReferencedJoinColNames; /*String objects*/
-
-	private transient List<ORMGenColumn> mReferrerCols; /*ORMGenColumn objects*/
-	private transient List<ORMGenColumn> mReferencedCols; /*ORMGenColumn objects*/
-	private transient List<ORMGenColumn> mReferrerJoinCols; /*ORMGenColumn objects*/
-	private transient List<ORMGenColumn> mReferencedJoinCols; /*ORMGenColumn objects*/
-	
-	private String mCardinality;
-	private String mDirectionality;
-	private byte mFlags = GENERATED;
-	
-	private AssociationRole mReferrerRole;
-	private AssociationRole mReferencedRole;
-
-	private transient ForeignKey mForeignKey;	
-	
-	/*constants for mFlags*/
-	/*whether the association should be generated*/
-	private static final byte GENERATED = 1 << 0;
-	/*whether the association is custom (i.e is not auto computed from foreign keys relationships).*/
-	private static final byte CUSTOM = 1 << 1;
-	
-	/**
-	 * The simple association constructor.
-	 * The 2 tables are joined when the values of each column in
-	 * referrerColNames match its corresponding column in referencedColNames.
-	 * 
-	 * @param referrerTableName The "foreign key" table.
-	 * @param referrerColNames The column names in the referrer table.
-	 * @param referencedTableName The "primary key" table.
-	 * @param referencedColNames The column names in the referenced table.
-	 */
-	public Association(ORMGenCustomizer customizer, String referrerTableName, List<String> referrerColNames
-			, String referencedTableName, List<String> referencedColNames)  {
-		super();
-		
-		mCustomizer = customizer;
-		mReferrerTableName = referrerTableName;
-		mReferencedTableName = referencedTableName;
-		mReferrerColNames = referrerColNames;
-		mReferencedColNames = referencedColNames;
-		
-		mCardinality = MANY_TO_ONE;
-		mDirectionality = BI_DI;
-		
-		setCustom(true);
-	}
-	/**
-	 * The many to many constructor.
-	 * The 2 tables are joined when the values of each column in
-	 * referrerColNames match its corresponding column in referrerJoinColNames
-	 * , and each column in referencedColNames match its corresponding column in referencedJoinColNames.
-	 *
-	 */
-	public Association(ORMGenCustomizer customizer, String referrerTableName, List<String> referrerColNames
-			, String referencedTableName, List<String> referencedColNames
-			, String joinTableName, List<String> referrerJoinColNames, List<String> referencedJoinColNames) {
-		super();
-		
-		mCustomizer = customizer;
-		mReferrerTableName = referrerTableName;
-		mReferencedTableName = referencedTableName;
-		mReferrerColNames = referrerColNames;
-		mReferencedColNames = referencedColNames;
-		mJoinTableName = joinTableName;
-		mReferrerJoinColNames = referrerJoinColNames;
-		mReferencedJoinColNames = referencedJoinColNames;
-		
-		mCardinality = MANY_TO_MANY;	
-		mDirectionality = BI_DI;
-		
-		setCustom(true);
-	}
-	/**
-	 * Empty constructor needed by the deserialization (should not be used otherwise).
-	 */
-	public Association() {
-	}
-	/**
-	 * Computes the cardinality basedon the forign key definitions.
-	 */
-	public void computeCardinality()  {
-		/*by default the association is many-to-one unless the foreign key 
-		 * is also the primary key, in which case it is a one-to-one.*/
-		mCardinality = MANY_TO_ONE;
-		
-		List<ORMGenColumn> referrerCols = getReferrerColumns();
-		List<ORMGenColumn> pkCols = getReferrerTable().getPrimaryKeyColumns();
-		if (pkCols.size() == referrerCols.size()) {
-			boolean isFkPk = true;
-			for (int i = 0, n = pkCols.size(); i < n; ++i) {
-				if (!((ORMGenColumn)pkCols.get(i)).getName().equals(((ORMGenColumn)referrerCols.get(i)).getName())) {
-					isFkPk = false;
-					break;
-				}
-			}
-			if (isFkPk) {
-				mCardinality = ONE_TO_ONE;
-			}
-		}
-		
-		setCustom(false);
-	}
-	/**
-	 * Called after the asscociations are deserialized to attach 
-	 * the customizer object.
-	 */
-	protected void restore(ORMGenCustomizer customizer) {
-		mCustomizer = customizer;
-		
-		if (mReferrerRole != null) {
-			mReferrerRole.restore(this);
-		}
-		if (mReferencedRole != null) {
-			mReferencedRole.restore(this);
-		}
-	}
-	public ORMGenTable getReferrerTable()  {
-		return mCustomizer.getTable(mReferrerTableName);
-	}
-	public String getReferrerTableName() {
-		return mReferrerTableName;
-	}
-	public ORMGenTable getReferencedTable()  {
-		return mCustomizer.getTable(mReferencedTableName);
-	}
-	public String getReferencedTableName() {
-		return mReferencedTableName;
-	}
-	public ORMGenTable getJoinTable()  {
-		return mCustomizer.getTable(mJoinTableName);
-	}
-	public String getJoinTableName() {
-		return mJoinTableName;
-	}
-	/**
-	 * Returns the <code>ORMGenColumn</code> objects for the referrer
-	 * columns.
-	 */
-	public List<ORMGenColumn> getReferrerColumns() {
-		if (mReferrerCols == null) {
-			ORMGenTable referrerTable = getReferrerTable();
-			mReferrerCols = referrerTable.getColumnsByNames(mReferrerColNames);
-		}
-		return mReferrerCols;
-	}
-	public List<String> getReferrerColumnNames() {
-		return mReferrerColNames;
-	}
-	/**
-	 * Returns the <code>ORMGenColumn</code> objects for the referenced
-	 * columns.
-	 */
-	public List<ORMGenColumn> getReferencedColumns() {
-		if (mReferencedCols == null) {
-			mReferencedCols = getReferencedTable().getColumnsByNames(mReferencedColNames);
-		}
-		return mReferencedCols;
-	}
-	public List<String> getReferencedColumnNames() {
-		return mReferencedColNames;
-	}
-	public List<ORMGenColumn> getReferrerJoinColumns() {
-		if (mReferrerJoinCols == null) {
-			mReferrerJoinCols = getJoinTable().getColumnsByNames(mReferrerJoinColNames);
-		}
-		return mReferrerJoinCols;
-	}
-	public List<String> getReferrerJoinColumnNames() {
-		return mReferrerJoinColNames;
-	}
-	public List<ORMGenColumn> getReferencedJoinColumns()  {
-		if (mReferencedJoinCols == null) {
-			mReferencedJoinCols = getJoinTable().getColumnsByNames(mReferencedJoinColNames);
-		}
-		return mReferencedJoinCols;
-	}
-	public List<String> getReferencedJoinColumnNames() {
-		return mReferencedJoinColNames;
-	}
-	/**
-	 * Returns the association cardinality, one of {@link #MANY_TO_ONE}|{@link #MANY_TO_MANY}
-	 * |{@link #ONE_TO_ONE}|{@link #ONE_TO_MANY}
-	 */
-	public String getCardinality() {
-		return mCardinality;
-	}
-	public void setCardinality(String cardinality) {
-		assert(cardinality.equals(MANY_TO_ONE) || cardinality.equals(MANY_TO_MANY) || cardinality.equals(ONE_TO_ONE) || cardinality.equals(ONE_TO_MANY));
-		mCardinality = cardinality;
-	}
-	/**
-	 * Returns the association directionality, one of {@link #BI_DI}|{@link #NORMAL_DI}
-	 * |{@link #OPPOSITE_DI}
-	 */
-	public String getDirectionality() {
-		return mDirectionality;
-	}
-	public void setDirectionality(String dir) {
-		assert(dir.equals(BI_DI) || dir.equals(NORMAL_DI) || dir.equals(OPPOSITE_DI));
-		if (!dir.equals(mDirectionality)) {
-			mDirectionality = dir;
-			
-			if (dir.equals(NORMAL_DI)) {
-				mReferencedRole = null;
-			} else if (dir.equals(OPPOSITE_DI)) {
-				mReferrerRole = null;
-			}
-		}
-	}
-	
-	/**
-	 * Tests whether this association is bidirectional.
-	 * This is a shortcut for <code>getDirectionality().equals(BI_DI)</code>.
-	 */
-	public boolean isBidirectional() {
-		return mDirectionality.equals(BI_DI);
-	}
-	/**
-	 * Returns true of this association should be generated. 
-	 */
-	public boolean isGenerated() {
-		return (mFlags & GENERATED) != 0;
-	}
-	public void setGenerated(boolean generated) {
-		if (generated != isGenerated()) {
-			if (generated) {
-				mFlags |= GENERATED;
-			} else {
-				mFlags &= ~GENERATED;
-			}
-			mReferrerRole = mReferencedRole = null;
-		}
-	}
-	/**
-	 * Returns true of this association is custom (i.e is not auto computed from foreign keys relationships). 
-	 */
-	public boolean isCustom() {
-		return (mFlags & CUSTOM) != 0;
-	}
-	public void setCustom(boolean custom) {
-		if (custom) {
-			mFlags |= CUSTOM;
-		} else {
-			mFlags &= ~CUSTOM;
-		}
-	}
-	/**
-	 * Returns the association role for the referrer side, or null 
-	 * if none (i.e if the directionality does not include it).
-	 */
-	public AssociationRole getReferrerRole() {
-		if (mReferrerRole == null && isGenerated()) {
-			if (!getDirectionality().equals(OPPOSITE_DI)) { //BI_DI or NORMAL_DI
-				mReferrerRole = new AssociationRole(this, true/*isReferrerEnd*/);
-			}
-		}
-		return mReferrerRole;
-	}
-	/**
-	 * Returns the association role for the referenced side, or null 
-	 * if none (i.e if the directionality does not include it).
-	 */
-	public AssociationRole getReferencedRole() {
-		if (mReferencedRole == null && isGenerated()) {
-			if (!getDirectionality().equals(Association.NORMAL_DI)) { //BI_DI or OPPOSITE_DI
-				mReferencedRole = new AssociationRole(this, false/*isReferrerEnd*/);
-			}
-		}
-		return mReferencedRole;
-	}
-	/**
-	 * Tests whether this association is valid (valid table and column names).
-	 */
-	protected boolean isValid(){
-		if (!isValidTableAndColumns(mReferrerTableName, mReferrerColNames)
-				|| !isValidTableAndColumns(mReferencedTableName, mReferencedColNames)) {
-			return false;
-		}
-		if (mJoinTableName != null) {
-			if (!isValidTableAndColumns(mJoinTableName, mReferrerJoinColNames)
-					|| !isValidTableAndColumns(mJoinTableName, mReferencedJoinColNames)) {
-				return false;
-			}			
-		}
-		return true;
-	}
-	private boolean isValidTableAndColumns(String tableName, List<String> columnNames) {
-		ORMGenTable table = mCustomizer.getTable(tableName);
-		if (table == null) {
-			return false;
-		}
-		for (int i = 0, n = columnNames.size(); i < n; ++i) {
-			String colName = (String)columnNames.get(i);
-			if (table.getColumnByName(colName) == null) {
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	public void setForeignKey(ForeignKey foreignKey) {
-		this.mForeignKey = foreignKey;
-		
-	}
-	public ForeignKey getForeignKey(){
-		return this.mForeignKey;
-	};	
-	public boolean equals(Object obj) {
-		if( this == obj )
-			return true;
-		if( obj instanceof Association ){
-			Association association2 = (Association)obj;
-			if (!this.getReferrerTableName().equals(association2.getReferrerTableName())
-					|| !this.getReferencedTableName().equals(association2.getReferencedTableName())
-					|| !StringUtil.equalObjects(this.getJoinTableName(), association2.getJoinTableName())
-					|| !this.getReferrerColumnNames().equals(association2.getReferrerColumnNames())
-					|| !this.getReferencedColumnNames().equals(association2.getReferencedColumnNames())
-					) {
-				return false;
-			}					
-			/*the 2 association have the same referrer, referenced and join table*/
-			//If MTO or OTM association
-			if (this.getJoinTableName() == null) {
-				return true;
-			}
-			if (this.getReferrerJoinColumnNames().equals(association2.getReferrerJoinColumnNames())
-					&& this.getReferencedJoinColumnNames().equals(association2.getReferencedJoinColumnNames())) {
-				return true;
-			}
-		}
-		return false;
-	}	
-	public String toString(){
-		return mReferrerTableName + " " + mCardinality + " " + mReferencedTableName ;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/AssociationRole.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/AssociationRole.java
deleted file mode 100644
index 733d0f3..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/AssociationRole.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Represents an association role (the referrer or referenced role).
- * 
- */
-public class AssociationRole implements java.io.Serializable
-{
-	private transient Association mAssociation; //transient: see restore
-	private boolean mIsReferrerRole;
-	private String mPropertyName;
-	private String mCascade;
-	
-	private final static long serialVersionUID = 1;
-		
-	AssociationRole(Association association, boolean isReferrerRole) {
-		super();
-		
-		mAssociation = association;
-		mIsReferrerRole = isReferrerRole;
-	}
-	
-	/**
-	 * Empty constructor needed by the deserialization (should not be used otherwise).
-	 */
-	public AssociationRole() {
-	}
-	
-	/**
-	 * Called after the asscociations are deserialized to attach 
-	 * the customizer object.
-	 */
-	protected void restore(Association association) {
-		mAssociation = association;
-	}
-	
-	public Association getAssociation() {
-		return mAssociation;
-	}
-	
-	public boolean isReferrerRole() {
-		return mIsReferrerRole;
-	}
-	
-	/**
-	 * Returns the opposite role or null if the association 
-	 * is not bi directional.
-	 */
-	public AssociationRole getOppositeRole() {
-		Association association = getAssociation();
-		if (!association.getDirectionality().equals(Association.BI_DI)) {
-			return null;
-		}
-		if (isReferrerRole()) {
-			return association.getReferencedRole();
-		} else {
-			return association.getReferrerRole();
-		}
-	}
-	
-	/**
-	 * Returns the association cardinality, one of {@link #MANY_TO_ONE}|{@link #MANY_TO_MANY}
-	 * |{@link #ONE_TO_ONE}|{@link #ONE_TO_MANY}
-	 */
-	public String getCardinality() {
-		String type = mAssociation.getCardinality();
-		if (!mIsReferrerRole) {
-			if (type.equals(Association.ONE_TO_MANY)) {
-				type = Association.MANY_TO_ONE;
-			} else if (type.equals(Association.MANY_TO_ONE)) {
-				type = Association.ONE_TO_MANY;
-			}
-		}
-		return type;
-	}
-	
-	public ORMGenTable getReferrerTable() {
-		if (mIsReferrerRole) {
-			return mAssociation.getReferrerTable();
-		} else {
-			return mAssociation.getReferencedTable();
-		}
-	}
-	
-	public List<ORMGenColumn> getReferrerColumns(){
-		if (mIsReferrerRole) {
-			return mAssociation.getReferrerColumns();
-		} else {
-			return mAssociation.getReferencedColumns();
-		}
-	}
-	
-	/**
-	 * Returns the referenced column corresponding to a referrer column.
-	 */
-	public ORMGenColumn getReferencedColumn(String referrerColumn)  {
-		boolean hasJoinTable = mAssociation.getJoinTable() != null;
-		List<ORMGenColumn> referrerColumns = getReferrerColumns();
-		for (int i = 0, n = referrerColumns.size(); i < n; ++i) {
-			ORMGenColumn column = referrerColumns.get(i);
-			if (column.getName().equals(referrerColumn)) {
-				if (hasJoinTable) {
-					return getReferrerJoinColumns().get(i);
-				} else {
-					return getReferencedColumns().get(i);
-				}
-			}
-		}
-		assert(false);
-		return null;
-	}
-	
-	/**
-	 * Returns the referrer column corresponding to a referenced column.
-	 */
-	public ORMGenColumn getReferrerColumn(String referencedColumn)  {
-		boolean hasJoinTable = mAssociation.getJoinTable() != null;
-		List<ORMGenColumn> referencedColumns = getReferencedColumns();
-		for (int i = 0, n = referencedColumns.size(); i < n; ++i) {
-			ORMGenColumn column = referencedColumns.get(i);
-			if (column.getName().equals(referencedColumn)) {
-				if (hasJoinTable) {
-					return getReferencedJoinColumns().get(i);
-				} else {
-					return getReferrerColumns().get(i);
-				}
-			}
-		}
-		assert(false);
-		return null;
-	}
-	
-	public ORMGenTable getReferencedTable()  {
-		if (mIsReferrerRole) {
-			return mAssociation.getReferencedTable();
-		} else {
-			return mAssociation.getReferrerTable();
-		}
-	}
-	
-	public List<ORMGenColumn> getReferencedColumns()  {
-		if (mIsReferrerRole) {
-			return mAssociation.getReferencedColumns();
-		} else {
-			return mAssociation.getReferrerColumns();
-		}
-	}
-	
-	public List<ORMGenColumn> getReferrerJoinColumns()  {
-		if (mIsReferrerRole) {
-			return mAssociation.getReferrerJoinColumns();
-		} else {
-			return mAssociation.getReferencedJoinColumns();
-		}
-	}
-	public List<ORMGenColumn> getReferencedJoinColumns()  {
-		if (mIsReferrerRole) {
-			return mAssociation.getReferencedJoinColumns();
-		} else {
-			return mAssociation.getReferrerJoinColumns();
-		}
-	}
-	
-	/**
-	 * Returns the name that should be used by the generator for 
-	 * the property corresponding to this role.
-	 */
-	public String getPropertyName()   {
-		if (mPropertyName != null) { //if the user explicitly set it then don't be too smart
-			return mPropertyName;
-		}
-		return getDefaultPropertyName();
-	}
-		
-	private String getDefaultPropertyName() {
-		String propName = "";
-		ORMGenTable referrerTable = getReferrerTable();
-		ORMGenTable referencedTable = getReferencedTable();
-
-		boolean isSingular = isSingular();
-		propName = referencedTable.getVarName(isSingular);
-		
-		List<AssociationRole> clashingRoles = new java.util.ArrayList<AssociationRole>(); //roles with our same referrer and referenced tables (i.e would yield the same property name in the same bean)
-		/*make sure there is no role with the same name.*/
-		for (Iterator<AssociationRole> iter = referrerTable.getAssociationRoles().iterator(); iter.hasNext(); ) {
-			AssociationRole role = iter.next();
-			if (role.getReferrerTable().getName().equals(referrerTable.getName())
-					&& role.getReferencedTable().getName().equals(referencedTable.getName())
-					&& role.isSingular() == isSingular) {
-				clashingRoles.add(role);
-			}
-		}
-		if (clashingRoles.size() > 1) {
-			int index = clashingRoles.indexOf(this);
-			assert(index >= 0);
-			propName += index+1;
-		}
-		
-		/*make sure there is no column with the same name.*/
-		for (Iterator<ORMGenColumn> iter = referrerTable.getColumns().iterator(); iter.hasNext(); ) {
-			ORMGenColumn column = iter.next();
-			if (column.getPropertyName().equals(propName)) {
-				String prefix = isSingular ? "Bean" : "Set";
-				propName += prefix;
-				break;
-			}
-		}
-		
-		return propName;
-	}
-	
-	private boolean isSingular() {
-		String cardinality = getCardinality();
-		return cardinality.equals(Association.ONE_TO_ONE) || cardinality.equals(Association.MANY_TO_ONE);
-	}
-	
-	/**
-	 * Changes the name that should be used by the generator for 
-	 * the property corresponding to this role.
-	 * If the argument name is null or empty string then the 
-	 * default computed name is used.
-	 */
-	public void setPropertyName(String name)  {
-		if (name != null && name.length() == 0) {
-			name = null;
-		}
-		if (name != null && name.equals(getDefaultPropertyName())) {
-			name = null;
-		}
-		mPropertyName = name;
-	}
-	
-	/**
-	 * Returns the cascade value for this role.
-	 * An empty string will return if none.
-	 */
-	public String getCascade() {
-		return mCascade;
-	}
-	
-	public void setCascade(String cascade) {
-		// if no checkbox is selected, set cascade to an empty string
-		if (cascade != null && cascade.length() == 0) {
-			cascade = StringTools.EMPTY_STRING;
-		}
-		mCascade = cascade;
-	}
-	
-	/**
-	 * Returns a descriptive string used in a comment in the generated 
-	 * file (from the Velocity template).
-	 */
-	public String getDescription()  {
-		//<!-- $directionality $cardinality association to $referencedClassName -->
-		String directionality;
-		if (getAssociation().getDirectionality().equals(Association.BI_DI)) {
-			directionality = "bi-directional";
-		} else {
-			directionality = "uni-directional";
-		}
-		return directionality + " " + getAssociation().getCardinality() + " association to " + getReferencedTable().getClassName();
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/BaseEntityGenCustomizer.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/BaseEntityGenCustomizer.java
deleted file mode 100644
index 6819f98..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/BaseEntityGenCustomizer.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import java.io.File;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.gen.internal.util.DTPUtil;
-import org.eclipse.jpt.jpa.gen.internal.util.StringUtil;
-
-/**
- * Default implementation of ORMGenCustomizer according to JPA specification for
- * entity generation.
- * 
- * This is used to retrieve/change the properties from the wizard and is also
- * passed as a context object to Velocity.
- */
-public class BaseEntityGenCustomizer extends ORMGenCustomizer
-	implements java.io.Serializable
-{
-	private final static long serialVersionUID = 1;
-
-	/* mapping kinds */
-	private static final String BASIC_MAPPING_KIND = "basic"; //$NON-NLS-1$
-	private static final String ID_MAPPING_KIND = "id"; //$NON-NLS-1$
-	private static final String VERSION_MAPPING_KIND = "version"; //$NON-NLS-1$
-
-	/*
-	 * the strings for generator names. These appear in a combo box and used by
-	 * the Velocity template processing.
-	 */
-	private static final String AUTO_GENERATOR = "auto"; //$NON-NLS-1$
-	private static final String NONE_GENERATOR = "none"; //$NON-NLS-1$
-	private static final String IDENTITY_GENERATOR = "identity"; //$NON-NLS-1$
-	private static final String SEQUENCE_GENERATOR = "sequence"; //$NON-NLS-1$
-	private static final String TABLE_GENERATOR = "table"; //$NON-NLS-1$
-
-	public BaseEntityGenCustomizer() {
-		super();
-	}
-
-	@Override
-	public void init(File file, Schema schema) {
-		super.init(file, schema);
-	}
-
-	// -----------------------------------------
-	// ------ ORMGenCustomizer methods
-	// -----------------------------------------
-	@Override
-	public List<String> getAllIdGenerators() {
-		List<String> result = new java.util.ArrayList<String>(5);
-		/* add in the order in which they would appear in the combo */
-		result.add(AUTO_GENERATOR);
-		result.add(IDENTITY_GENERATOR);
-		result.add(SEQUENCE_GENERATOR);
-		result.add(TABLE_GENERATOR);
-		result.add(NONE_GENERATOR);
-		return result;
-	}
-
-	@Override
-	public String getNoIdGenerator() {
-		return NONE_GENERATOR;
-	}
-
-	@Override
-	public String getIdentityIdGenerator() {
-		return IDENTITY_GENERATOR;
-	}
-
-	@Override
-	public Set<String> getSequenceIdGenerators() {
-		Set<String> result = new java.util.HashSet<String>(3);
-		result.add(SEQUENCE_GENERATOR);
-		return result;
-	}
-
-	@Override
-	public String getPropertyTypeFromColumn(Column column) {
-		return DTPUtil.getJavaType(column);
-	}
-
-	@Override
-	@SuppressWarnings("nls")
-	public String[] getAllPropertyTypes() {
-		/*
-		 * Java primitive types, wrapper of the primitive types ,
-		 * java.lang.String, java.math.BigInteger, java.math.BigDecimal,
-		 * java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time,
-		 * java.sql.Timestamp, byte[], Byte[], char[], Character[], enums, and
-		 * any other type that implements Serializable.
-		 */
-		// return in the order that will be used in the combo
-		return new String[] {
-			"boolean",
-			"Boolean",
-			"byte",
-			"Byte",
-			"byte[]",
-			"char",
-			"char[]",
-			"Character",
-			"Character[]",
-			"double",
-			"Double",
-			"float",
-			"Float",
-			"int",
-			"Integer",
-			"long",
-			"Long",
-			"Object",
-			"short",
-			"Short",
-			"String",
-			java.math.BigDecimal.class.getName(),
-			java.math.BigInteger.class.getName(),
-			java.util.Calendar.class.getName(),
-			java.util.Date.class.getName(),
-			java.sql.Date.class.getName(),
-			java.sql.Time.class.getName(),
-			java.sql.Timestamp.class.getName()
-		};
-	}
-
-	@Override
-	public String[] getAllMappingKinds() {
-		return new String[] {
-			BASIC_MAPPING_KIND, ID_MAPPING_KIND, VERSION_MAPPING_KIND
-		};
-	}
-
-	/*
-	 * (non-Javadoc)
-	 */
-	@Override
-	public String getBasicMappingKind() {
-		return BASIC_MAPPING_KIND;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 */
-	@Override
-	public String getIdMappingKind() {
-		return ID_MAPPING_KIND;
-	}
-
-	@Override
-	public boolean editCascade(AssociationRole role) {
-		return false;
-	}
-
-	@Override
-	protected boolean manySideIsAssociationOwner() {
-		return true;
-	}
-
-	// -----------------------------------------
-	// ---- Velocity templates methods
-	// -----------------------------------------
-	/**
-	 * Returns the cascades annotation member value, or empty string if none.
-	 * Empty string is returned instead of null because Velocity does not like
-	 * null when used in #set.
-	 */
-	public String genCascades(AssociationRole role) {
-		List<String> cascades = StringUtil.strToList(role.getCascade(), ',', true/* trim */);
-		if (cascades == null) {
-			return ""; //$NON-NLS-1$
-		}
-		StringBuffer buffer = new StringBuffer();
-		buffer.append( '{' );
-		for (int i = 0, n = cascades.size(); i < n; ++i) {
-			String cascade = cascades.get(i);
-			String enumStr;
-			if (cascade.equals(TagNames.ALL_CASCADE)) {
-				enumStr = "CascadeType.ALL"; //$NON-NLS-1$
-			}
-			else if (cascade.equals(TagNames.PERSIST_CASCADE)) {
-				enumStr = "CascadeType.PERSIST"; //$NON-NLS-1$
-			}
-			else if (cascade.equals(TagNames.MERGE_CASCADE)) {
-				enumStr = "CascadeType.MERGE"; //$NON-NLS-1$
-			}
-			else if (cascade.equals(TagNames.REMOVE_CASCADE)) {
-				enumStr = "CascadeType.REMOVE"; //$NON-NLS-1$
-			}
-			else {
-				assert (cascade.equals(TagNames.REFRESH_CASCADE));
-				enumStr = "CascadeType.REFRESH"; //$NON-NLS-1$
-			}
-			if (i != 0) {
-				buffer.append(", "); //$NON-NLS-1$
-			}
-			buffer.append(enumStr);
-		}
-		buffer.append('}');
-		return buffer.toString();
-	}
-
-	/**
-	 * Returns the fetch type annotation member value, or empty string if none.
-	 * Empty string is returned instead of null because Velocity does not like
-	 * null when used in #set.
-	 */
-	@Override
-	public String genFetch(ORMGenTable table) {
-		String fetch = table.getDefaultFetch();
-		if (fetch == null || ORMGenTable.DEFAULT_FETCH.equals(fetch)) {
-			return ""; //$NON-NLS-1$
-		}
-		else if (fetch.equals(ORMGenTable.LAZY_FETCH)) {
-			return "FetchType.LAZY"; //$NON-NLS-1$
-		}
-		else {
-			return "FetchType.EAGER"; //$NON-NLS-1$
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/DatabaseAnnotationNameBuilder.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/DatabaseAnnotationNameBuilder.java
deleted file mode 100644
index 91b53c1..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/DatabaseAnnotationNameBuilder.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Table;
-
-
-/**
- * Provide a pluggable way to determine whether and how the entity generator
- * prints the names of various database objects.
- */
-public interface DatabaseAnnotationNameBuilder {
-
-	/**
-	 * Given the name of an entity and the table to which it is mapped,
-	 * build and return a string to be used as the value for the entity's
-	 * Table annotation's 'name' element. Return null if the entity
-	 * maps to the table by default.
-	 */
-	String buildTableAnnotationName(String entityName, Table table);
-
-	/**
-	 * Given the name of an attribute (field or property) and the column
-	 * to which it is mapped,
-	 * build and return a string to be used as the value for the attribute's
-	 * Column annotation's 'name' element. Return null if the attribute
-	 * maps to the column by default.
-	 */
-	String buildColumnAnnotationName(String attributeName, Column column);
-
-	/**
-	 * Given the name of an attribute (field or property) and the
-	 * many-to-one or many-to-many foreign key to which it is mapped,
-	 * build and return a string to be used as the value for the attribute's
-	 * JoinColumn annotation's 'name' element. Return null if the attribute
-	 * maps to the join column by default.
-	 * The specified foreign key consists of a single column pair whose
-	 * referenced column is the single-column primary key of the foreign
-	 * key's referenced table.
-	 */
-	String buildJoinColumnAnnotationName(String attributeName, ForeignKey foreignKey);
-
-	/**
-	 * Build and return a string to be used as the value for a JoinColumn
-	 * annotation's 'name' or 'referencedColumnName' element.
-	 * This is called for many-to-one and many-to-many mappings when
-	 * the default join column name and/or referenced column name are/is
-	 * not applicable.
-	 * @see buildJoinColumnAnnotationName(String, ForeignKey)
-	 */
-	String buildJoinColumnAnnotationName(Column column);
-
-	/**
-	 * Build and return a string to be used as the value for a JoinTable
-	 * annotation's 'name' element.
-	 * This is called for many-to-many mappings when the default
-	 * join table name is not applicable.
-	 */
-	String buildJoinTableAnnotationName(Table table);
-
-
-	/**
-	 * The default implementation simple returns the database object's name,
-	 * unaltered.
-	 */
-	final class Default
-		implements DatabaseAnnotationNameBuilder
-	{
-		public static final DatabaseAnnotationNameBuilder INSTANCE = new Default();
-		public static DatabaseAnnotationNameBuilder instance() {
-			return INSTANCE;
-		}
-		// ensure single instance
-		private Default() {
-			super();
-		}
-		public String buildTableAnnotationName(String entityName, Table table) {
-			return table.getName();
-		}
-		public String buildColumnAnnotationName(String attributeName, Column column) {
-			return column.getName();
-		}
-		public String buildJoinColumnAnnotationName(String attributeName, ForeignKey foreignKey) {
-			return foreignKey.getColumnPair().getBaseColumn().getName();
-		}
-		public String buildJoinColumnAnnotationName(Column column) {
-			return column.getName();
-		}
-		public String buildJoinTableAnnotationName(Table table) {
-			return table.getName();
-		}
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-	}
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/JptGenMessages.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/JptGenMessages.java
deleted file mode 100644
index 16073bc..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/JptGenMessages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Localized messages used by Dali entity generation.
- */
-public class JptGenMessages {
-
-	public static String PackageGenerator_taskName;
-	public static String GenScope_taskName;
-	public static String EntityGenerator_taskName;
-	public static String Templates_notFound;
-	public static String Error_Generating_Entities;
-	public static String Delete_Folder_Error;
-	public static String Delete_File_Error;
-	public static String File_Read_Only_Error;
-
-	private static final String BUNDLE_NAME = "jpt_gen"; //$NON-NLS-1$
-	private static final Class<?> BUNDLE_CLASS = JptGenMessages.class;
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, BUNDLE_CLASS);
-	}
-	
-	private JptGenMessages() {
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/JptJpaGenPlugin.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/JptJpaGenPlugin.java
deleted file mode 100644
index d99645f..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/JptJpaGenPlugin.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.Bundle;
-
-public class JptJpaGenPlugin {
-	public static final String PLUGIN_ID = "org.eclipse.jpt.jpa.gen";
-	public static void logException ( String msg, Throwable e ) {
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		ILog log = Platform.getLog(bundle);
-		log.log(new Status(IStatus.ERROR, PLUGIN_ID, msg, e ));		
-	}
-	
-	public static void logException( CoreException ce ) {
-		IStatus status = ce.getStatus();
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		ILog log = Platform.getLog(bundle);
-		log.log(new Status(IStatus.ERROR, PLUGIN_ID, status.getMessage(), ce));		
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenColumn.java
deleted file mode 100644
index 6fed057..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenColumn.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import java.util.Collections;
-import java.util.Iterator;
-
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.jpt.jpa.gen.internal.util.EntityGenTools;
-import org.eclipse.jpt.jpa.gen.internal.util.StringUtil;
-
-
-/**
- * Represents the ORM generation properties for a database 
- * column.
- * 
- * <p>This is designed to be created/changed by the generation wizard,
- * and generated using Velocity templates.
- * The modified properties (if any) are persisted/retrieved using 
- * <code>ORMGenCustomizer</code>.
- * 
- */
-public class ORMGenColumn
-{
-	private Table mTable;
-	private Column mDbColumn;
-	private ORMGenCustomizer mCustomizer;
-	private ORMGenTable mGenTable;
-	private static String JAVA_LANG_PACKAGE = "java.lang."; //$NON-NLS-1$
-	
-	public ORMGenColumn(Column dbColumn, ORMGenCustomizer customizer) {
-		super();
-		
-		mDbColumn = dbColumn;
-		mCustomizer = customizer;
-		mTable = dbColumn.getTable();
-	}
-	
-	public ORMGenCustomizer getCustomizer() {
-		return mCustomizer;
-	}
-	
-	public void setGenTable(ORMGenTable ormGenTable) {
-		mGenTable = ormGenTable;
-	}
-	
-	protected String customized(String propName) {
-		return getCustomizer().getProperty(propName, mTable.getName(), getDbName());
-	}
-	
-	protected boolean customizedBoolean(String propName) {
-		return getCustomizer().getBooleanProperty(propName, mTable.getName(), getDbName());
-	}
-	
-	protected void setCustomized(String propName, String value) {
-		if (value != null && value.length() == 0) {
-			value = null;
-		}
-		getCustomizer().setProperty(propName, value, mTable.getName(), getDbName());
-	}
-	
-	protected void setCustomizedBoolean(String propName, boolean value, boolean defaultValue) {
-		if (defaultValue == value) {
-			setCustomized(propName, null); //remove the property
-		} else {
-			getCustomizer().setBooleanProperty(propName, value, mTable.getName(), getDbName());
-		}
-	}
-	
-	/**
-	 * Returns the column name.
-	 */
-	public String getName() {
-		String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().
-			buildColumnAnnotationName(mDbColumn.getName(), mDbColumn);
-		return annotationName != null ? annotationName : mDbColumn.getName();
-	}
-	
-	public String getDbName() {
-		return mDbColumn.getName();
-	}
-
-	public String getJoinColumnName(){
-		String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().
-			buildJoinColumnAnnotationName(mDbColumn);
-		return annotationName != null ? annotationName : mDbColumn.getName();
-	}
-	
-	public Column getDbColumn() {
-		return this.mDbColumn;
-	}
-	
-	/**
-	 * Returns the generated bean property name for the given column.
-	 * Does not return null.
-	 */
-	public String getPropertyName() {
-		String name = customized(PROPERTY_NAME);
-		if (name == null) {
-			//name = StringUtil.columnNameToVarName(getName());
-			name = EntityGenTools.convertToUniqueJavaStyleAttributeName(getDbName(), Collections.<String>emptySet());
-		}
-		return name;
-	}
-	
-	public void setPropertyName(String name) {
-		if (!StringUtil.equalObjects(name, getPropertyName())) {
-			setCustomized(PROPERTY_NAME, name);
-		}
-	}
-	
-	/**
-	 * Return true if the values of name element in the @Column is default
-	 * so we can skip generating the annotation
-	 * 
-	 * @return true
-	 */
-	public boolean isDefault(){
-		return isDefaultname() && isUpdateable() && isInsertable();
-	}
-	
-	/**
-	 * Return true if the values of name element in the @Column is default
-	 * so we can skip generating the annotation
-	 * 
-	 * @return true
-	 */
-	public boolean isDefaultname(){
-		String propName = getPropertyName();
-//		String dbColumnName = getName();
-//		return propName.equalsIgnoreCase( dbColumnName );
-		String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().
-			buildColumnAnnotationName(propName, this.mDbColumn );
-		return annotationName==null;
-	}
-
-	/**
-	 * Return true if the values of name element in the @Column is default
-	 * so we can skip generating the annotation
-	 * 
-	 * @return true
-	 */
-	public boolean isDefaultJoinColumnName(String associationRolePropName){
-		if( !this.mDbColumn.isPartOfForeignKey()){
-			return false;
-		}
-
-		Iterable<ForeignKey> it = mDbColumn.getTable().getForeignKeys();
-		Iterator<ForeignKey> i = it.iterator();
-		while( i.hasNext() ){
-			ForeignKey fk = i.next();
-			Column c = fk.getBaseColumns().iterator().next();
-			if( c.equals( this.mDbColumn ) ){
-				try{
-					String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().
-						buildJoinColumnAnnotationName(associationRolePropName, fk );
-					return annotationName==null;
-				}catch(Exception e){
-					//catch the case that referenced table has multiple primary key columns
-					return false;
-				}
-			}
-		}
-		return false;
-	}
-	
-	
-	/**
-	 * Returns the column type.
-	 * Does not return null.
-	 */
-	public String getPropertyType()  {
-		String type = customized(PROPERTY_TYPE);
-		if (type == null) {
-			type = getCustomizer().getPropertyTypeFromColumn( this.mDbColumn );
-		}
-		if( type.startsWith(JAVA_LANG_PACKAGE) ) {
-			type = type.substring( JAVA_LANG_PACKAGE.length() );
-		}
-		if( type.equals("java.sql.Date")){ //$NON-NLS-1$
-			type = "java.util.Date"; //$NON-NLS-1$
-		}
-			
-		return type;
-	}
-	
-	public String getSimplePropertyType()  {
-		return mGenTable.getSimplifiedColType( getPropertyType() );
-	}	
-	
-	public void setPropertyType(String type)  {
-		if (!StringUtil.equalObjects(type, getPropertyType())) {
-			setCustomized(PROPERTY_TYPE, type);
-		}
-	}
-	/**
-	 * Returns true if the column type is numeric.
-	 */
-	public boolean isNumeric() {
-		boolean ret = this.mDbColumn.isNumeric();
-		return ret;
-	}
-	
-	/**
-	 * Returns the mapping kind, one of {@link #PROPERTY_MAPPING_KIND}|{@link #ID_MAPPING_KIND}
-	 * |{@link #VERSION_MAPPING_KIND}|{@link #TIMESTAMP_MAPPING_KIND}.
-	 * 
-	 * This method does not return null (defaults to basic property type).
-	 */
-	public String getMappingKind() {
-		String kind = customized(MAPPING_KIND);
-		if (kind == null) {
-			kind = getCustomizer().getBasicMappingKind();
-			
-			if ( this.mDbColumn.isPartOfPrimaryKey() 
-				 && this.mDbColumn.getTable().getPrimaryKeyColumnsSize() == 1) {
-				kind = getCustomizer().getIdMappingKind();
-			}
-		}
-		return kind;
-	}
-	
-	public void setMappingKind(String mappingKind)  {
-		if (!StringUtil.equalObjects(mappingKind, getMappingKind())) {
-			setCustomized(MAPPING_KIND, mappingKind);
-		}
-	}
-	
-	public boolean isNullable() {
-		return this.mDbColumn.isNullable();
-	}
-
-	public int getSize() {
-		if ( this.mDbColumn.isNumeric()){
-			return mDbColumn.getPrecision();
-		}
-		return mDbColumn.getLength();
-	}
-
-	public int getDecimalDigits() {
-		if ( this.mDbColumn.isNumeric() ){
-			return mDbColumn.getScale();
-		}
-		return -1;
-	}
-	
-	public boolean isPrimaryKey() {
-		return this.mDbColumn.isPartOfPrimaryKey();
-	}
-	
-	public boolean isPartOfCompositePrimaryKey() {
-		return this.mDbColumn.isPartOfPrimaryKey() &&
-				this.mTable.getPrimaryKeyColumnsSize() > 1;
-	}
-	
-	public boolean isForeignKey() {
-		return this.mDbColumn.isPartOfForeignKey();
-	}
-	
-	public boolean isUnique() {
-		return this.mDbColumn.isPartOfUniqueConstraint();
-	}
-	
-	public String getPropertyDescription() {
-		return customized(PROPERTY_DESC);
-	}
-	
-	public boolean isDataTypeLOB() {
-		return this.mDbColumn.isLOB();
-	}	
-
-	public boolean isNeedMapTemporalType() {
-		String propertyType = this.getPropertyType();
-		return ( propertyType.equals("java.util.Date") || propertyType.equals("java.util.Calendar") );  //$NON-NLS-1$ //$NON-NLS-2$
-	}	
-	
-	public String getTemporalType() {
-		String defaultType = getCustomizer().getPropertyTypeFromColumn( this.mDbColumn );
-		if( defaultType.equals("java.sql.Date")){ //$NON-NLS-1$
-			return "DATE"; //$NON-NLS-1$
-		}else if( defaultType.equals("java.sql.Time")){ //$NON-NLS-1$
-			return "TIME"; //$NON-NLS-1$
-		}else {
-			return "TIMESTAMP"; //$NON-NLS-1$
-		}
-	}	
-	
-	/**
-	 * Returns the generated property getter scope, one of {@link #PUBLIC_SCOPE}|{@link #PROTECTED_SCOPE}
-	 * |{@link #PRIVATE_SCOPE}.
-	 * This method never returns null (defaults to public).
-	 */
-	public String getPropertyGetScope() {
-		String scope = customized(PROPERTY_GET_SCOPE);
-		if (scope == null) {
-			scope = PUBLIC_SCOPE;
-		}
-		return scope;
-	}
-	
-	public void setPropertyGetScope(String scope) {
-		if (!StringUtil.equalObjects(scope, getPropertyGetScope())) {
-			setCustomized(PROPERTY_GET_SCOPE, scope);
-		}
-	}
-	
-	/**
-	 * Returns the generated property setter scope, one of {@link #PUBLIC_SCOPE}|{@link #PROTECTED_SCOPE}
-	 * |{@link #PRIVATE_SCOPE}.
-	 * This method never returns null (defaults to public).
-	 */
-	public String getPropertySetScope() {
-		String scope = customized(PROPERTY_SET_SCOPE);
-		if (scope == null) {
-			scope = PUBLIC_SCOPE;
-		}
-		return scope;
-	}
-	
-	public void setPropertySetScope(String scope) {
-		if (!StringUtil.equalObjects(scope, getPropertySetScope())) {
-			setCustomized(PROPERTY_SET_SCOPE, scope);
-		}
-	}
-	
-	/**
-	 * Returns the generated field member scope, one of {@link #PUBLIC_SCOPE}|{@link #PROTECTED_SCOPE}
-	 * |{@link #PRIVATE_SCOPE}.
-	 * This method never returns null (defaults to private).
-	 */
-	public String getFieldScope() {
-		String scope = customized(FIELD_SCOPE);
-		if (scope == null) {
-			scope = PRIVATE_SCOPE;
-		}
-		return scope;
-	}
-	
-	/**
-	 * Returns true if this column should be used in the 
-	 * <code>equals</code> method implementation.
-	 */
-	public boolean isUseInEquals()  {
-		return customizedBoolean(USE_IN_EQUALS) || isPrimaryKey();
-	}
-	
-	public void setUseInEquals(boolean value) {
-		setCustomizedBoolean(USE_IN_EQUALS, value, false);
-	}
-	
-	/**
-	 * Returns true if this column should be used in the 
-	 * <code>toString</code> method implementation.
-	 */
-	public boolean isUseInToString()  {
-		return customizedBoolean(USE_IN_TO_STRING) || isPrimaryKey();
-	}
-	
-	public void setUseInToString(boolean value) {
-		setCustomizedBoolean(USE_IN_TO_STRING, value, false);
-	}
-	
-	public boolean isUpdateable() {
-		return !"false".equals(customized(UPDATEABLE)); //defaults to true //$NON-NLS-1$
-	}
-	
-	public void setUpdateable(boolean value) {
-		setCustomizedBoolean(UPDATEABLE, value, true);
-	}
-	
-	public boolean isInsertable() {
-		return !"false".equals(customized(INSERTABLE)); //defaults to true //$NON-NLS-1$
-	}
-	
-	public void setInsertable(boolean value) {
-		setCustomizedBoolean(INSERTABLE, value, true);
-	}
-	
-	public boolean isGenerated() {
-		return !"false".equals(customized(GENERATED)); //defaults to true //$NON-NLS-1$
-	}
-	
-	public void setGenerated(boolean value) {
-		setCustomizedBoolean(GENERATED, value, true);
-	}
-	
-	@Override
-	public String toString() {
-		return "name=" + getName() + "; type=" + getPropertyType() ; //$NON-NLS-1$ //$NON-NLS-2$ 
-	}
-
-	/*get/set and field scopes*/
-	public static final String PUBLIC_SCOPE = "public"; //$NON-NLS-1$
-	public static final String PROTECTED_SCOPE = "protected"; //$NON-NLS-1$
-	public static final String PRIVATE_SCOPE = "private"; //$NON-NLS-1$
-
-	/*customization properties*/
-	private static final String PROPERTY_NAME = "propertyName"; //$NON-NLS-1$
-	protected static final String PROPERTY_TYPE = "propertyType"; //$NON-NLS-1$
-	protected static final String MAPPING_KIND = "mappingKind"; //$NON-NLS-1$
-	private static final String PROPERTY_DESC = "propertyDesc"; //$NON-NLS-1$
-	private static final String PROPERTY_GET_SCOPE = "propertyGetScope"; //$NON-NLS-1$
-	private static final String PROPERTY_SET_SCOPE = "propertySetScope"; //$NON-NLS-1$
-	private static final String FIELD_SCOPE = "fieldScope"; //$NON-NLS-1$
-	private static final String USE_IN_EQUALS = "useInEquals"; //$NON-NLS-1$
-	private static final String USE_IN_TO_STRING = "useInToString"; //$NON-NLS-1$
-	private static final String UPDATEABLE = "updateable"; //$NON-NLS-1$
-	private static final String INSERTABLE = "insertable"; //$NON-NLS-1$
-	private static final String GENERATED = "genProperty"; //$NON-NLS-1$
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java
deleted file mode 100644
index 55c53d4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java
+++ /dev/null
@@ -1,824 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.jpt.jpa.gen.internal.util.DTPUtil;
-import org.eclipse.jpt.jpa.gen.internal.util.FileUtil;
-import org.eclipse.jpt.jpa.gen.internal.util.ForeignKeyInfo;
-import org.eclipse.jpt.jpa.gen.internal.util.StringUtil;
-
-/**
- * Contains the information used to customize the database schema to ORM entity 
- * generation.
- * 
- * <p>The customization settings are mainly exposed in the form of 
- * properties. There are no assumptions in this class about the meaning of the 
- * property names. Properties can be associated to specific tables and table 
- * columns, or globally for any table and/or column.
- * 
- * <p>Subclass can implement the sets of abstract methods to provide ORM vendor
- * specific properties.
- * 
- */
-public abstract class ORMGenCustomizer implements java.io.Serializable
-{
-	private final static long serialVersionUID = 1;
-
-	/**
-	 * A value passed for the table name argument to get/setProperty 
-	 * indicating that the value applies to any table.
-	 */
-	public static final String ANY_TABLE = "__anyTable__";
-	public static final String GENERATE_DDL_ANNOTATION = "generateDDLAnnotations";
-	/*the string used in the property name in mProps to indicate 
-	 * a null table value.*/
-	private static final String NULL_TABLE = "";
-	/*the string used in the property name in mProps to indicate 
-	 * a null column value.*/
-	private static final String NULL_COLUMN = "";
-	
-	/*This version number is written in the header of the customization stream
-	 * and read at de-serialization time, if it is different then the file is invalidated.
-	 */
-	private static final int FILE_VERSION = 2;
-	
-	private static final String UPDATE_CONFIG_FILE = "updateConfigFile";
-
-	private transient Schema mSchema;
-	private transient File mFile;
-	
-	private List<String> mTableNames;
-	/*key: table name, value: ORMGenTable object.*/
-	private transient Map<String , ORMGenTable> mTables;
-	/*the <code>Association</code> objects sorted by their "from" 
-	 * table name. Includes all association derived from foreign keys 
-	 * in user selected tables. Since some of the foreign keys may point to table
-	 * user does not select, this list may be different from  mValidAssociations
-	 */
-	private List<Association> mAssociations;
-	/*
-	 * List of valid associations within the user selected tables  
-	 */
-	private transient List<Association> mValidAssociations;
-	private transient boolean mInvalidForeignAssociations;
-	
-	/*the property name is in the form $tableName.$columnName.$propertyName.
-	 * Where tableName could be NULL_TABLE or ANY_TABLE
-	 * and columnName could be NULL_COLUMN*/
-	private Map<String, String> mProps = new java.util.HashMap<String, String>();
-
-	private transient DatabaseAnnotationNameBuilder databaseAnnotationNameBuilder = DatabaseAnnotationNameBuilder.Default.INSTANCE;
-
-	private boolean mUpdatePersistenceXml = true;
-	
-	//-----------------------------------------
-	//---- abstract methods
-	//-----------------------------------------
-	/**
-	 * Returns all the primary key generator schemes.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract List<String> getAllIdGenerators();
-	/**
-	 * Returns the string representing the developer-assigned id generator.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract String getNoIdGenerator();
-	/**
-	 * Returns the string representing the identity id generator.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract String getIdentityIdGenerator();
-	/**
-	 * Returns the strings representing the sequence generators.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract Set<String> getSequenceIdGenerators();
-	/**
-	 * Returns a property type from the given database column.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract String getPropertyTypeFromColumn(Column column) ;
-	/**
-	 * Returns all the strings representing property types.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract String[] getAllPropertyTypes();
-	/**
-	 * Returns all the strings representing property mapping kinds.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract String[] getAllMappingKinds();
-	/**
-	 * Returns the basic (default) property mapping kind.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract String getBasicMappingKind();
-	/**
-	 * Returns the id (primary key) property mapping kind.
-	 * This can return any strings as far as the Velocity template 
-	 * processor understand them.
-	 */
-	public abstract String getIdMappingKind();
-	/**
-	 * Interacts with the user to edit the cascade of the given 
-	 * role.
-	 * This method should also call <code>AssociationRole.setCascade</code>.
-	 * 
-	 * @return false if the user interaction is cancelled.
-	 */
-	public abstract boolean editCascade(AssociationRole role);
-	
-	//-----------------------------------------
-	//-----------------------------------------
-
-	/**
-	 * @param file The file that contains the customization settings.
-	 * The file is created if necessary when the <code>save</code> 
-	 * method is called.
-	 */
-	public void init( File file, Schema schema) {
-		this.mSchema = schema;
-		mFile = file;
-		
-		if (!file.exists()) {
-			setProperty(ORMGenTable.DEFAULT_FETCH, ORMGenTable.DEFAULT_FETCH, ORMGenCustomizer.ANY_TABLE, null);
-			return;
-		}
-		InputStream istream = null;
-		ObjectInputStream ois = null;
-		try 
-		{
-			//read it in a file first to speedup deserialization
-			byte[] bytes = FileUtil.readFile(file);
-			istream = new ByteArrayInputStream(bytes);
-			ois = new ObjectInputStream(istream);
-			
-			FileHeader header = (FileHeader)ois.readObject();
-			if (header.mVersion == FILE_VERSION) {
-				ORMGenCustomizer customizer = (ORMGenCustomizer)ois.readObject();
-				restore(customizer);
-			}
-		} catch (Exception ex) {
-			JptJpaGenPlugin.logException("***ORMGenCustomizer.load failed "+file, ex);				
-		}
-		finally 
-		{
-			if (ois != null)
-			{
-				try 
-				{
-					ois.close();
-				} catch (IOException e) {
-				}
-			}
-			
-			if (istream != null)
-			{
-				try 
-				{
-					istream.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
-	
-	public File getFile(){
-		return this.mFile;
-	}
-	
-	public void setSchema(Schema schema){
-		this.mSchema = schema;
-	}
-
-	public Schema getSchema(){
-		return mSchema;
-	}
-	
-	/**
-	 * Empty constructor needed by the deserialization.
-	 */
-	public ORMGenCustomizer() {
-		super();
-	}
-
-	/**
-	 * Saves the customization file.
-	 * The file is created if necessary.
-	 */
-	public void save() throws IOException {
-		//System.out.println("---ORMGenCustomizer.save: " + mFile);
-		if (!mFile.exists() && !mFile.createNewFile()) {
-			return;
-		}
-		java.io.FileOutputStream fos = null;
-		java.io.ObjectOutputStream oos = null;
-		boolean deleteIt = true;
-		try {
-			fos = new java.io.FileOutputStream(mFile);
-			oos = new java.io.ObjectOutputStream(fos);
-			FileHeader header = new FileHeader();
-			oos.writeObject(header);
-			oos.writeObject(this);
-			deleteIt = false;
-		} catch (Exception ex) {
-			//deleteIt is true, so the cache is not saved.
-			CoreException ce = new CoreException(new Status(IStatus.ERROR, JptJpaGenPlugin.PLUGIN_ID,
-					"Unable to save the ORMGenCustomizer file: "+mFile,ex));
-			JptJpaGenPlugin.logException( ce );
-		} finally {
-			try {
-				if (oos!=null) oos.close();
-				if (fos!=null) fos.close();
-				if (deleteIt) {
-					mFile.delete();
-				}
-			} catch (java.io.IOException ex2) {}	
-		}
-	}
-	
-	public DatabaseAnnotationNameBuilder getDatabaseAnnotationNameBuilder() {
-		return this.databaseAnnotationNameBuilder;
-	}
-	public void setDatabaseAnnotationNameBuilder(DatabaseAnnotationNameBuilder databaseAnnotationNameBuilder) {
-		if (databaseAnnotationNameBuilder == null) {
-			throw new NullPointerException("database annotation name builder is required");  //$NON-NLS-1$
-		}
-		this.databaseAnnotationNameBuilder = databaseAnnotationNameBuilder;
-	}	
-
-	/**
-	 * Returns {@link #GENERATE_DDL_ANNOTATION}  indicating whether
-	 * the optional DDL parameters like length, nullable, unqiue, etc should be generated 
-	 * in @Column annotation.
-	 * defaults to false.
-	 */
-	public boolean isGenerateDDLAnnotations() {
-		return "true".equals(getProperty(GENERATE_DDL_ANNOTATION, ANY_TABLE, null)); //defaults to false
-	}
-
-	/**
-	 * Returns a property value.
-	 */
-	public String getProperty(String propertyName, String tableName, String colName) {
-		String key = getPropKey(propertyName, tableName, colName);
-		String value = mProps.get(key);
-		/*if the key does not exist and it is a table property then 
-		 * get the default table property.*/
-		if (value == null && tableName != null && colName == null && !tableName.equals(ANY_TABLE)) {
-			value = getProperty(propertyName, ANY_TABLE, colName);
-		}
-		return value;
-	}
-	/**
-	 * Changes a property value.
-	 * 
-	 * @param value The new value, could be null.
-	 */
-	public void setProperty(String propertyName, String value, String tableName, String colName) {
-		String key = getPropKey(propertyName, tableName, colName);
-		if (value != null) {
-			mProps.put(key, value);
-		} else {
-			mProps.remove(key);
-		}
-	}
-	/**
-	 * Same as {@link #getProperty(String, String, String)} but 
-	 * converts the value to boolean.
-	 */
-	public boolean getBooleanProperty(String propertyName, String tableName, String colName) {
-		String value = getProperty(propertyName, tableName, colName);
-		return "true".equals(value);
-	}
-	/**
-	 * Changes a table boolean property value.
-	 */
-	public void setBooleanProperty(String propertyName, boolean value, String tableName, String colName) {
-		setProperty(propertyName, value ? "true" : "false", tableName, colName);
-	}
-	/**
-	 * Returns the names of the tables to generate.
-	 */
-	@SuppressWarnings("unchecked")
-	public List<String> getTableNames() {
-		return mTableNames != null ? mTableNames : java.util.Collections.EMPTY_LIST;
-	}
-	
-	/**
-	 * Returns the fetch type annotation member value, or empty string 
-	 * if none.
-	 * Empty string is returned instead of null because Velocity does not like null 
-	 * when used in #set.
-	 */
-	public String genFetch(ORMGenTable table) {
-		return "";
-	}	
-	/**
-	 * Called when the table user selection is changed in the 
-	 * generation wizard.
-	 */
-	public void setTableNames(List<String> tableNames) {
-		mTableNames = tableNames;
-		mTables = null;
-		mValidAssociations = null; //recompute
-		mInvalidForeignAssociations = true; //make sure foreign associations from newly added tables are computed.
-	}
-	/**
-	 * Returns the table names to be generated.
-	 * This might be different from <code>getTableNames</code> if there 
-	 * are many-to-many join tables and are not contributing 
-	 * in any other associations.
-	 */
-	public List<String> getGenTableNames()  {
-		List<String> names = getTableNames();
-		List<String> result = new java.util.ArrayList<String>(names.size());
-		
-		/*filter out join tables*/
-		List<Association> associations = getAssociations();
-		for (Iterator<String> tableNamesIter = names.iterator(); tableNamesIter.hasNext(); ) {
-			String tableName = tableNamesIter.next();
-			boolean isValid = true;
-			
-			for (Iterator<Association> assocIter = associations.iterator(); assocIter.hasNext(); ) {
-				Association association = assocIter.next();
-				if (!association.isGenerated()) {
-					continue;
-				}
-				if (tableName.equals(association.getReferrerTableName())
-						|| tableName.equals(association.getReferencedTableName())) {
-					isValid = true;
-					break;
-				}
-				if (tableName.equals(association.getJoinTableName())) {
-					isValid = false;
-				}
-			}
-			if (isValid) {
-				result.add(tableName);
-			}
-		}
-		return result;
-	}
-	/**
-	 * Returns an <code>ORMGenTable</code> object given its name, or 
-	 * null if none.
-	 */
-	public ORMGenTable getTable(String tableName)  {
-		if (mTables == null) {
-			mTables = new java.util.HashMap<String, ORMGenTable>(mTableNames.size());
-		}
-		
-		if(mTableNames!=null && mSchema!=null){
-			for (Iterator<String> iter = mTableNames.iterator(); iter.hasNext(); ) {
-				String name = iter.next();
-				Table dbTable = mSchema.getTableNamed( name );
-				if (dbTable != null) {
-					mTables.put(name, createGenTable(dbTable));
-				}
-			}
-		}
-		return mTables.get(tableName);
-	}
-	/**
-	 * Returns the <code>Association</code> objects sorted by their "from" 
-	 * table name.
-	 */
-	public List<Association> getAssociations(){
-		return getAssociations(true/*validOnly*/);
-	}
-	/**
-	 * Adds the given association.
-	 */
-	public void addAssociation(Association association)  {
-		getAssociations(false/*validOnly*/).add(association);
-		if (mValidAssociations != null) {
-			mValidAssociations.add(association);
-		}
-		
-	}
-	/**
-	 * Deletes the given association.
-	 */
-	public void deleteAssociation(Association association)  {
-		boolean removed = getAssociations(false/*validOnly*/).remove(association);
-		assert(removed);
-		
-		if (mValidAssociations != null) {
-			removed = mValidAssociations.remove(association);
-			assert(removed);
-		}
-	}
-	/**
-	 * Returns true if an association similar to the given association 
-	 * already exists.
-	 * This is decided based only on the association tables and columns.
-	 */
-	public boolean similarAssociationExists(Association association) {
-		try {
-			for (Iterator<Association> iter = getAssociations(false/*validOnly*/).iterator(); iter.hasNext(); ) {
-				Association association2 = iter.next();
-				if (!association.getReferrerTableName().equals(association2.getReferrerTableName())
-						|| !association.getReferencedTableName().equals(association2.getReferencedTableName())
-						|| !StringUtil.equalObjects(association.getJoinTableName(), association2.getJoinTableName())
-						|| !association.getReferrerColumnNames().equals(association2.getReferrerColumnNames())
-						|| !association.getReferencedColumnNames().equals(association2.getReferencedColumnNames())
-						) {
-					continue;
-				}					
-				/*the 2 association have the same referrer, referenced and join table*/
-				if (association.getJoinTableName() == null) {
-					return true;
-				}
-				if (association.getReferrerJoinColumnNames().equals(association2.getReferrerJoinColumnNames())
-						&& association.getReferencedJoinColumnNames().equals(association2.getReferencedJoinColumnNames())) {
-					return true;
-				}
-			}
-		} catch (Exception e) {
-			return false;
-		}
-		return false;
-	}
-	/**
-	 * Creates the <code>ORMGenTable</code> instance. 
-	 */
-	public ORMGenTable createGenTable(Table dbTable) {
-		return new ORMGenTable(dbTable, this);
-	}
-	/**
-	 * Creates the <code>ORMGenColumn</code> instance.
-	 */
-	protected ORMGenColumn createGenColumn(Column dbCol) {
-		return new ORMGenColumn(dbCol, this);
-	}
-	/**
-	 * Returns true of the underlying persistence specs require the "many" side 
-	 * of an association to be the owner (like EJB3).
-	 */
-	protected boolean manySideIsAssociationOwner() {
-		return false;
-	}
-	public boolean isUpdateConfigFile() {
-		return !"false".equals(getProperty(UPDATE_CONFIG_FILE, null, null)); //defaults to true
-	}
-	public void setUpdateConfigFile(boolean value) {
-		if (value) { //default is true
-			setProperty(UPDATE_CONFIG_FILE, null, null, null); //remove it
-		} else {
-			setBooleanProperty(UPDATE_CONFIG_FILE, value, null, null);
-		}
-	}
-
-	//-----------------------------------------
-	//---- Velocity templates methods
-	//-----------------------------------------
-	/**
-	 * Returns a getter method name given a property name.
-	 */
-	public String propertyGetter(String propertyName) {
-		return "get"+StringUtil.initUpper(propertyName);
-	}
-	/**
-	 * Returns a setter method name given a property name.
-	 */
-	public String propertySetter(String propertyName) {
-		return "set"+StringUtil.initUpper(propertyName);
-	}
-	public String quote(String s) {
-		return StringUtil.quote(s, '"');
-	}
-	public String quote(boolean b) {
-		return quote(String.valueOf(b));
-	}
-	public String quote(int i) {
-		return quote(String.valueOf(i));
-	}
-	public String convertToJavaStringLiteral(String s) {
-		return StringTools.convertToJavaStringLiteral(s);
-	}
-	/**
-	 * Appends an annotation member name and value to an existing annotation.
-	 * 
-	 * @param s The annotation members string.
-	 *
-	 * @param memberValue The member value, if null or empty strings then 
-	 * nothing is appened.
-	 * 
-	 * @param whether to double quote the member value.
-	 */
-	public String appendAnnotation(String s, String memberName, String memberValue, boolean quote) {
-		if (memberValue == null || memberValue.length() == 0) {
-			return s;
-		}
-		StringBuffer buffer = new StringBuffer(s);
-		if (buffer.length() != 0) {
-			buffer.append(", ");
-		}
-		buffer.append(memberName);
-		buffer.append('=');
-		if (quote) {
-			buffer.append('"');
-		}
-		buffer.append(memberValue);
-		if (quote) {
-			buffer.append('"');
-		}
-		return buffer.toString();
-	}
-	public boolean isJDK1_5() {
-		return true;
-	}
-	
-	//-----------------------------------------
-	//---- private methods
-	//-----------------------------------------
-	/**
-	 * Restores the customization settings from the given 
-	 * (persisted) customizer.
-	 */
-	private void restore(ORMGenCustomizer customizer)  {
-		mTableNames = customizer.mTableNames;
-		mAssociations = customizer.mAssociations;
-		mProps = customizer.mProps;
-		mUpdatePersistenceXml = customizer.mUpdatePersistenceXml;
-		if( mSchema == null )
-			return;
-		
-		/*remove invalid table names*/
-		for (int i = mTableNames.size()-1; i >= 0; --i) {
-			String tableName = mTableNames.get(i);
-			if (mSchema.getTableNamed( tableName) == null) {
-				mTableNames.remove(i);
-			}
-		}
-		if( mAssociations!=null ){
-			/*restore the associations*/
-			for (Iterator<Association> iter = mAssociations.iterator(); iter.hasNext(); ) {
-				Association association = iter.next();
-				association.restore(this);
-			}
-			/*add the foreign keys associations just in case the tables changed since 
-			 * the last time the state was persisted. Pass checkExisting true so that the 
-			 * associations restored above are not overwritten.*/
-			addForeignKeyAssociations(true/*checkExisting*/);
-			// sort on restore
-			sortAssociations( mAssociations );
-		}
-	}
-	/**
-	 * Returns the key in mProps corresponding to the specified 
-	 * propertyName, table and column.
-	 */
-	private String getPropKey(String propertyName, String tableName, String colName) {
-		if (tableName == null) {
-			tableName = NULL_TABLE;
-		}
-		if (colName == null) {
-			colName = NULL_COLUMN;
-		}
-		return tableName + '.' + colName + '.' + propertyName;
-	}
-	/**
-	 * Returns the associations that are valid for the 
-	 * current tables.
-	 */
-	private List<Association> getAssociations(boolean validOnly){
-		if (mAssociations == null) {
-			mAssociations = new java.util.ArrayList<Association>();
-			
-			addForeignKeyAssociations(false/*checkExisting*/);
-		} else if (mInvalidForeignAssociations) {
-			mInvalidForeignAssociations = false;
-			
-			addForeignKeyAssociations(true/*checkExisting*/);
-		}
-		List<Association> associations;
-		if (validOnly) {
-			if (mValidAssociations == null) {
-				/*filter out the invalid associations*/
-				mValidAssociations = new ArrayList<Association>(mAssociations.size());
-				for (int i = 0, n = mAssociations.size(); i < n; ++i) {
-					Association association = mAssociations.get(i);
-					if (association.isValid()) {
-						mValidAssociations.add(association);
-					}
-				}
-			}
-			associations = mValidAssociations;
-		} else {
-			associations = mAssociations;
-		}
-		return associations;
-	}
-	private void addForeignKeyAssociations(boolean checkExisting) {
-		List<String> tableNames = getTableNames();
-		for (Iterator<String> iter = tableNames.iterator(); iter.hasNext(); ) {
-			ORMGenTable table = getTable(iter.next());
-			addForeignKeyAssociations(table, checkExisting);
-		}
-	}
-	private void addForeignKeyAssociations(ORMGenTable table, boolean checkExisting) {
-		if(table==null)
-			return;
-		
-		
-		List<ForeignKeyInfo> fKeys = null;
-		
-		try{
-			fKeys = DTPUtil.getForeignKeys(table.getDbTable());
-		}catch(Exception ise){
-			//workaround Dali bug for now
-			return;
-		}
-		
-		if( fKeys.size()==0 )
-			return;
-		
-		List<Association> addedAssociations = new java.util.ArrayList<Association>();
-		for (Iterator<ForeignKeyInfo> iter = fKeys.iterator(); iter.hasNext(); ) {
-			ForeignKeyInfo fki = iter.next();
-			ORMGenTable referencedTable = getTable(fki.getReferencedTableName());
-			if (referencedTable == null) {
-				continue;
-			}
-			Association association = new Association(this, table.getName(), fki.getReferrerColumnNames()
-						, referencedTable.getName(), fki.getReferencedColumnNames());
-			association.computeCardinality();
-			//Defer the check of similarAssociationExists after computeManyToMany()
-			//otherwise the MTM association will not computed correctly in some cases.
-			//if (checkExisting && similarAssociationExists(association)) {
-			//	continue;
-			//}
-			addedAssociations.add(association);
-		}
-		
-		Association m2m = computeManyToMany(table, addedAssociations);
-		if (m2m != null) {
-			/*do not generate the 2 many-to-one*/
-			addedAssociations.clear();
-			addedAssociations.add(0, m2m);
-		}
-		//remove the association if already existing
-		Iterator<Association> it =  addedAssociations.iterator(); 
-		while( it.hasNext() ){
-			Association newAssociation = it.next();
-			for( Association association : mAssociations ){
-				if( newAssociation.equals( association )){
-					it.remove();
-					break;
-				}
-			}
-		}
-		mAssociations.addAll(addedAssociations);
-	}
-	private Association computeManyToMany(ORMGenTable table, List<Association> addedAssociations) {
-		/** many-to-many associations if:
-		 * - addedAssociations contains 2 many-to-one associations
-		 * - tables t1 and t2 does NOT have to be different( for self-MTM-self situation)
-		 * - <code>table</code> contains only the foreign key columns.
-		 * 
-		 * Note: following restrictions have been removed:
-		 * -table has only two columns
-		 * -t1 and t2 must be different
-		 * -the primary key of <code>table</code> is the concatenation of its foreign 
-		 * 	keys to t1 and t2.*/
-		
-		if (addedAssociations.size() != 2) {
-			return null;
-		}
-		
-		//MTM table should have two MTO relations to orginal tables
-		Association assoc1 = addedAssociations.get(0);
-		Association assoc2 = addedAssociations.get(1);
-		if (assoc1.getCardinality() != Association.MANY_TO_ONE
-				|| assoc2.getCardinality() != Association.MANY_TO_ONE) {
-			return null;
-		}
-
-		//MTM table should only include foreign key columns
-		for( ORMGenColumn col : table.getColumns()){
-			if( !col.isForeignKey())
-				return null;
-		}
-		
-
-		ORMGenTable t1 = assoc1.getReferencedTable();
-		ORMGenTable t2 = assoc2.getReferencedTable();
-
-		if( t1.getName().equals(table.getName()) || t2.getName().equals(table.getName()) ) {
-			return null;
-		}
-
-		//Make a guess which table is the owning side of the MTM relation
-		//See https://bugs.eclipse.org/bugs/show_bug.cgi?id=268445
-		//Logic borrowed from DTPTableWrapper.getJoinTableOwningForeignKey()
-		if( !table.getName().equals(t1.getName() + "_" + t2.getName() ) ) {
-			//swap t1 and t2  
-			ORMGenTable t3 = t1;
-			t1=t2;
-			t2=t3;
-			//swap assoc1 and assoc2
-			Association assoc3=assoc1;
-			assoc1=assoc2;
-			assoc2=assoc3;
-		}
-		
-//Commented out because the assumption is too restrictive: 
-//this check will prevent generating MTM mapping table not having 
-//primary key defined 		
-//		List pkNames = DTPUtil.getPrimaryKeyColumnNames(table.getDbTable());
-//		if (pkNames.size() != table.getColumnNames().size()) {
-//			return null;
-//		}
-//		List fkNames = new java.util.ArrayList(assoc1.getReferrerColumnNames()); //clone because we modify by addAll below
-//		fkNames.addAll(assoc2.getReferrerColumnNames());
-//		if (!CollectionUtil.equalsIgnoreOrder(pkNames, fkNames)) {
-//			return null;
-//		}
-		Association m2m = new Association(this, t1.getName()/*referrerTableName*/, assoc1.getReferencedColumnNames()/*referrerColNames*/
-				, t2.getName()/*referencedTableName*/, assoc2.getReferencedColumnNames()/*referencedColNames*/
-				, table.getName(), assoc1.getReferrerColumnNames()/*referrerJoinColNames*/, assoc2.getReferrerColumnNames()/*referencedJoinColNames*/);
-		m2m.setCustom(false);
-		return m2m;
-	}
-
-	//---------------------------------------------------
-	//---- FileHeader class -----------------------------
-	//---------------------------------------------------
-	/**
-	 * The header of the customization file.
-	 */
-	private static class FileHeader implements java.io.Serializable
-	{
-		private static final long serialVersionUID = 1L;
-		/**
-		 * Should be argument-less because it is used in 
-		 * the de-serialization process.
-		 */
-		public FileHeader() {
-			mVersion = FILE_VERSION;
-		}
-		int mVersion;
-	}
-	
-	private void sortAssociations( List< Association > list ) {
-	   Collections.sort( list, new Comparator< Association >() {
-	      public int compare( Association lhs, Association rhs ) {
-	         // sort by referrer table name first...
-	         int test = lhs.getReferrerTableName().compareTo( rhs.getReferrerTableName() );
-            if( test != 0 )
-               return test;
-            // then by referenced table name...
-            test = lhs.getReferencedTableName().compareTo( rhs.getReferencedTableName() );
-            if( test != 0 )
-               return test;
-            // if referrer and referenced tables are the same, they should
-            // appear next to each other
-            return 0;
-	      }
-	   } );
-	}
-	public boolean updatePersistenceXml() {
-		return mUpdatePersistenceXml;
-	}
-	public void setUpdatePersistenceXml(boolean updatePersistenceXml) {
-		this.mUpdatePersistenceXml = updatePersistenceXml;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java
deleted file mode 100644
index bcca94d..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java
+++ /dev/null
@@ -1,1037 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jpt.common.utility.JavaType;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.jpt.jpa.gen.internal.util.DTPUtil;
-import org.eclipse.jpt.jpa.gen.internal.util.EntityGenTools;
-import org.eclipse.jpt.jpa.gen.internal.util.StringUtil;
-
-/**
- * Represents the ORM generation properties for a database table.
- * 
- * <p>
- * This is designed to be created/changed by the generation wizard, and
- * generated using Velocity templates. The modified properties (if any) are
- * persisted/retrieved using <code>ORMGenCustomizer</code>.
- * 
- */
-public class ORMGenTable
-{
-	private ORMGenCustomizer mCustomizer;
-	private List<ORMGenColumn> mColumns;
-	private Table mDbTable;
-	private HashMap<String, String> columnTypesMap =  null;
-	/**
-	 * @param table
-	 *            The database table or null if this table is used to get/set
-	 *            the default table properties (properties that apply to all
-	 *            tables unless overriden).
-	 */
-	public ORMGenTable(Table table, ORMGenCustomizer customizer) {
-		super();
-		mDbTable = table;
-		mCustomizer = customizer;
-	}
-
-	public ORMGenCustomizer getCustomizer() {
-		return mCustomizer;
-	}
-
-	/**
-	 * Returns true if this table is is used to get/set the default table
-	 * properties.
-	 */
-	public boolean isDefaultsTable() {
-		return mDbTable == null;
-	}
-
-	protected String customized(String propName) {
-		return getCustomizer().getProperty(propName, getTableName(), null);
-	}
-
-	protected boolean customizedBoolean(String propName) {
-		return getCustomizer().getBooleanProperty(propName, getTableName(), null);
-	}
-
-	protected void setCustomized(String propName, String value) {
-		if (value != null && value.length() == 0) {
-			value = null;
-		}
-		getCustomizer().setProperty(propName, value, getTableName(), null);
-	}
-
-	protected void setCustomizedBoolean(String propName, boolean value, boolean defaultValue) {
-		if (defaultValue == value) {
-			setCustomized(propName, null); // remove the property
-		}
-		else {
-			getCustomizer().setBooleanProperty(propName, value, getTableName(), null);
-		}
-	}
-
-	public Table getDbTable() {
-		return mDbTable;
-	}
-
-	/**
-	 * Returns the table name.
-	 */
-	public String getTableName() {
-		return mDbTable != null ? mDbTable.getName() : ORMGenCustomizer.ANY_TABLE;
-	}
-	
-	public String getName() {
- 		if (mDbTable == null)
- 			return ORMGenCustomizer.ANY_TABLE;
-		String tableName = getTableName();
-		String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().buildTableAnnotationName(tableName, mDbTable);
-		return annotationName != null ? annotationName : tableName;
-	}
-
-	public String getJoinTableAnnotationName() {
-		if (mDbTable == null)
-			return ORMGenCustomizer.ANY_TABLE;
-		String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().buildJoinTableAnnotationName(mDbTable);
-		return annotationName != null ? annotationName : mDbTable.getName();
-	}
-
-	/**
-	 * Returns the database schema containing the table.
-	 */
-	public String getSchema() {
-		if (DTPUtil.isDefaultSchema(mDbTable) || mDbTable.getSchema()==null)
-			return ""; //$NON-NLS-1$
-		String schemaName = mDbTable.getSchema().getName();
-		return schemaName;
-	}
-
-	public void setSourceFolder(String srcFolder){
-		setCustomized(SRC_FOLDER, srcFolder);
-	}
-	
-	public String getSourceFolder(){
-		String srcFolder = customized(SRC_FOLDER);
-		return srcFolder == null ? "" : srcFolder;
-	}
-	
-	public String getImportStatements(){
-		buildColumnTypesMap();
-		Collection<String> packages = columnTypesMap.keySet();
-		StringBuilder ret = new StringBuilder();
-		for ( String s : packages ) {
-			ret.append( "import " + s + ";\n"); //$NON-NLS-1$
-		}
-
-		List<AssociationRole> associationRoles = getAssociationRoles();
-		for ( AssociationRole role :  associationRoles ) {
-			if ( role.getCardinality().equals( Association.ONE_TO_MANY )
-					|| role.getCardinality().equals( Association.MANY_TO_MANY ) ) {
-				ret.append( "import " + getDefaultCollectionType() + ";\n"); //$NON-NLS-1$
-				break;
-			}
-		}
-		
-		return ret.toString();
-	}
-	
-	/**
-	 * Construct import statements for types from javax.persistence package
-	 * @return
-	 */
-	private String getJavaxPersistenceImportStatements() {
-		StringBuilder ret = new StringBuilder();
-		ret.append( "import javax.persistence.Entity;\n"); //$NON-NLS-1$
-		//TODO: only if @Columns is needed
-		ret.append( "import javax.persistence.Column;\n");//$NON-NLS-1$
-		//TODO: only if there is @Id
-		ret.append( "import javax.persistence.Id;\n");//$NON-NLS-1$
-		if( !this.isDefaultname() )
-			ret.append( "import javax.persistence.Table;\n");//$NON-NLS-1$
-		if( this.isCompositeKey() )
-			ret.append( "import javax.persistence.EmbeddedId;\n"); //$NON-NLS-1$
-		// append javax.persistence package imports
-		HashSet<String> jpaImports = new HashSet<String>(); 
-		List<AssociationRole> associationRoles = getAssociationRoles();
-		for( AssociationRole role :  associationRoles ){
-			if( role.getCardinality().equals( Association.ONE_TO_ONE ) ){
-				jpaImports.add( "import javax.persistence.OneToOne;" );//$NON-NLS-1$
-			}else{
-				if( role.getCardinality().equals( Association.ONE_TO_MANY ) ){
-					jpaImports.add( "import javax.persistence.OneToMany;\n" );//$NON-NLS-1$
-				}else if( role.getCardinality().equals( Association.MANY_TO_ONE ) ){
-					jpaImports.add( "import javax.persistence.ManyToOne;\n" );//$NON-NLS-1$
-					jpaImports.add( "import javax.persistence.JoinColumn;\n" ); //$NON-NLS-1$
-				}else if( role.getCardinality().equals( Association.MANY_TO_MANY ) ){
-					jpaImports.add( "import javax.persistence.ManyToMany;\n" );//$NON-NLS-1$
-					jpaImports.add( "import javax.persistence.JoinTable;\n" );//$NON-NLS-1$
-					jpaImports.add( "import javax.persistence.JoinColumns;\n");//$NON-NLS-1$
-					jpaImports.add( "import javax.persistence.JoinColumn;\n" );//$NON-NLS-1$
-				}
-			}
-		}
-		for( String s: jpaImports){
-			ret.append(s);
-		}
-		return ret.toString();
-	}
-
-	public HashMap<String, String> buildColumnTypesMap(){
-		if ( columnTypesMap != null) {
-			return columnTypesMap;
-		}
-		columnTypesMap = new HashMap<String, String>();
-		for ( ORMGenColumn col : this.getColumns() ) {
-			String type = col.getPropertyType();
-			if ( !col.isPartOfCompositePrimaryKey()
-					&& !col.isForeignKey()
-					&& !type.startsWith("java.lang") && type.indexOf('.')>0 ) {
-				String simpleType= type.substring( type.lastIndexOf('.')+1 );
-				columnTypesMap.put(type, simpleType);
-			}
-		}
-		return columnTypesMap;
-	}
-	
-	public String getSimplifiedColType(String fqtn ) {
-		HashMap<String, String> map = buildColumnTypesMap();
-		String typeName = map.get(fqtn);
-		if (  typeName != null ) {
-			return typeName;
-		}
-		return fqtn;
-	}
-	
-	/**
-	 * Sets the package for the generated class (empty string for the default
-	 * package)
-	 */
-	public void setPackage(String pkg) {
-		getCustomizer().setProperty(PACKAGE, pkg, getName(), null); 
-		// not calling setCustomized so that empty strings do not get nulled out.
-	}
-
-	/**
-	 * Returns the Java package (empty string for the default package).
-	 */
-	public String getPackage() {
-		String packageName = customized(PACKAGE);
-		return packageName == null ? "" : packageName; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the generated Java class name (not qualified).
-	 */
-	public String getClassName() {
-		String name = customized(CLASS_NAME);
-		if (name == null) {
-			// name = StringUtil.tableNameToVarName(getName());
-			// name = StringUtil.initUpper(name);
-			name = EntityGenTools.convertToUniqueJavaStyleClassName(getTableName(), new ArrayList<String>());
-			name = StringUtil.singularise(name);
-		}
-		return name;
-	}
-
-	public void setClassName(String className) {
-		/*
-		 * if the class name is the same as the (possibly computed) class name
-		 * then nothing to do
-		 */
-		if (!StringUtil.equalObjects(className, getClassName())) {
-			setCustomized(CLASS_NAME, className);
-		}
-	}
-
-	/**
-	 * Returns a name suitable to be used as a variable or class name. This is
-	 * computed based on the table name.
-	 * 
-	 * @param singular
-	 *            Whether the name should be singular or plural.
-	 */
-	public String getVarName(boolean singular) {
-		String name = StringUtil.tableNameToVarName(getTableName());
-		if (singular) {
-			name = StringUtil.singularise(name);
-		}
-		else {
-			name = StringUtil.pluralise(name);
-		}
-		return name;
-	}
-
-	/**
-	 * Returns the fully qualified generated Java class name.
-	 */
-	public String getQualifiedClassName() {
-		return qualify(getClassName());
-	}
-
-	/**
-	 * Returns the composite key Java class name (not qualified).
-	 */
-	public String getCompositeKeyClassName() {
-		String name = customized(COMPOSITE_KEY_CLASS_NAME);
-		if (name == null) {
-			name = getClassName() + "PK"; //$NON-NLS-1$
-		}
-		return name;
-	}
-
-	/**
-	 * Returns the fully qualified composite key Java class name.
-	 */
-	public String getQualifiedCompositeKeyClassName() {
-		return qualify(getCompositeKeyClassName());
-	}
-
-	/**
-	 * Returns the composite key property name.
-	 */
-	public String getCompositeKeyPropertyName() {
-		return "id"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the <code>ORMGenColumn</code> objects to be generated for this
-	 * table.
-	 */
-	public List<ORMGenColumn> getColumns() {
-		if (mColumns == null) {
-			mColumns = new ArrayList<ORMGenColumn>();
-			for (Column c : mDbTable.getColumns()) {
-				ORMGenColumn genColumn = getCustomizer().createGenColumn(c);
-				genColumn.setGenTable(this);
-				mColumns.add(genColumn);
-			}
-		}
-		return mColumns;
-	}
-
-	public List<String> getColumnNames() {
-		List<String> ret = new ArrayList<String>();
-		for (Column c : mDbTable.getColumns()) {
-			ret.add(c.getName());
-		}
-		return ret;
-	}
-
-	/**
-	 * Returns the <code>ORMGenColumn</code> objects representing the table's
-	 * primary key.
-	 */
-	public List<ORMGenColumn> getPrimaryKeyColumns() {
-		List<ORMGenColumn> ret = new ArrayList<ORMGenColumn>();
-		for (Column column : mDbTable.getPrimaryKeyColumns()) {
-			ret.add(new ORMGenColumn(column, this.mCustomizer));
-		}
-		return ret;
-	}
-
-	/**
-	 * Returns the primary key column or null if there is no or many primary key
-	 * columns.
-	 */
-	public ORMGenColumn getPrimaryKeyColumn() {
-		ORMGenColumn pkCol = null;
-		List<ORMGenColumn> pkColumns = getPrimaryKeyColumns();
-		if (pkColumns.size() == 1) {
-			// Column dbCol = (Column)pkColumns.get(0);
-			pkCol = pkColumns.get(0); // (ORMGenColumn)
-										// mCustomizer.createGenColumn(dbCol);
-		}
-		else {
-			/*
-			 * if no pk column then look for the first column with id mapping
-			 * kind. This is so that the wizard can be used with tables not
-			 * having primary keys.
-			 */
-			List<ORMGenColumn> columns = getColumns();
-			for (int i = 0, n = columns.size(); i < n; ++i) {
-				ORMGenColumn column = columns.get(i);
-				if (column.getMappingKind().equals(mCustomizer.getIdMappingKind())) {
-					pkCol = column;
-					break;
-				}
-			}
-		}
-		return pkCol;
-	}
-
-	/**
-	 * Returns true if there is more than 1 pk column.
-	 */
-	public boolean isCompositeKey() {
-		return mDbTable.getPrimaryKeyColumnsSize() > 1;
-	}
-
-	/**
-	 * Returns the <code>ORMGenColumn</code> objects for the the columns that
-	 * are not part of any association.
-	 * 
-	 * @param genOnly
-	 *            Whether to include only the columns marked for generation.
-	 * 
-	 * @param includePk
-	 *            Whether to include the primary kley column(s).
-	 * 
-	 * @param includeInherited
-	 *            Whether to include the columns associated with Java properties
-	 *            that exist in the super class (if any).
-	 */
-	public List<ORMGenColumn> getSimpleColumns(boolean genOnly, boolean includePk, boolean includeInherited) {
-		List<ORMGenColumn> result = new java.util.ArrayList<ORMGenColumn>();
-		List<ORMGenColumn> columns = getColumns();
-		List<AssociationRole> roles = getAssociationRoles();
-		for (int i = 0, n = columns.size(); i < n; ++i) {
-			ORMGenColumn column = columns.get(i);
-			if (genOnly && !column.isGenerated()) {
-				continue;
-			}
-			if (column.isPrimaryKey()) {
-				if (!includePk || isCompositeKey()) {
-					continue;
-				} else {
-					result.add(0, column);
-					continue;
-				}
-			}
-			else if (isColumnInAsscociation(column, roles)) {
-				continue;
-			}
-			result.add(column);
-		}
-		return result;
-	}
-
-	public List<ORMGenColumn> getSimpleColumns() {
-		return getSimpleColumns(true/* genOnly */, true/* includePk */, true/* includeInherited */);
-	}
-
-	/**
-	 * Returns false if the given column should be generated with false
-	 * updatable/insertable. This is the case when the column is mapped more
-	 * than once, this usually happen with columns in composite keys and
-	 * many-to-one associations.
-	 * 
-	 * <br>
-	 * Note that for Hibernate the column param is null because the
-	 * insert/update attributes are specified for the many-to-one tag itself
-	 * instead of the nested column tags (bogus obviously).
-	 */
-	public boolean isColumnUpdateInsert(AssociationRole role, ORMGenColumn column) {
-		if (column == null) {
-			for (Iterator<ORMGenColumn> iter = role.getReferrerColumns().iterator(); iter.hasNext();) {
-				ORMGenColumn c = iter.next();
-				if (!isColumnUpdateInsert(role, c)) {
-					return false;
-				}
-			}
-			return true;
-		}
-		if (column.isPrimaryKey()) {
-			return false;
-		}
-		/*
-		 * should look if there are multiple associations using the same column
-		 * and return false, but this is probably an unusual case.
-		 */
-		return true;
-	}
-
-	/**
-	 * Returns the <code>ORMGenColumn</code> objects corresponding to the given
-	 * column names.
-	 */
-	public List<ORMGenColumn> getColumnsByNames(List<String> names) {
-		List<ORMGenColumn> result = new java.util.ArrayList<ORMGenColumn>();
-		for (String name : names) {
-			ORMGenColumn column = getColumnByName(name);
-			assert (column != null);
-			if (column != null) {
-				result.add(column);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the columns having the given name, or null if none.
-	 */
-	public ORMGenColumn getColumnByName(String name) {
-		List<ORMGenColumn> columns = getColumns();
-		for (int i = 0, n = columns.size(); i < n; ++i) {
-			ORMGenColumn column = columns.get(i);
-			if (column.getName().equals(name)) {
-				return column;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the <code>AssociationRole</code> objects for this table. Only the
-	 * association marked for generation are returned.
-	 */
-	public List<AssociationRole> getAssociationRoles() {
-		/*
-		 * this is not cached intentionally because invalidating the cache with
-		 * wizard changes is kinda tricky.
-		 */
-		List<AssociationRole> associationRoles = new ArrayList<AssociationRole>();
-		String name = getName();
-		List<Association> associations = mCustomizer.getAssociations();
-		for (Iterator<Association> iter = associations.iterator(); iter.hasNext();) {
-			Association association = iter.next();
-			if (!association.isGenerated()) {
-				continue;
-			}
-			/*
-			 * check both referrerand referenced because an association could be
-			 * from-to the same table (employee/manager)
-			 */
-			if (association.getReferrerTable().getName().equals(name)) {
-				AssociationRole role = association.getReferrerRole();
-				if (role != null) {
-					associationRoles.add(role);
-				}
-			}
-			if (association.getReferencedTable().getName().equals(name)) {
-				AssociationRole role = association.getReferencedRole();
-				if (role != null) {
-					associationRoles.add(role);
-				}
-			}
-		}
-		return associationRoles;
-	}
-
-	public String getClassDescription() {
-		return customized(CLASS_DESC);
-	}
-
-	/**
-	 * Returns the generated class scope, one of {@link #PUBLIC_SCOPE}|
-	 * {@link #PROTECTED_SCOPE} |{@link #PRIVATE_SCOPE}. This method never
-	 * returns null (defaults to public).
-	 */
-	public String getClassScope() {
-		String scope = customized(CLASS_SCOPE);
-		if (scope == null) {
-			scope = PUBLIC_SCOPE;
-		}
-		return scope;
-	}
-
-	public String getExtends() {
-		return customized(EXTENDS);
-	}
-
-	public void setExtends(String baseClass) {
-		setCustomized(EXTENDS, baseClass);
-	}
-
-	public List<String> getImplements() {
-		String str = customized(IMPLEMENTS);
-		List<String> result = StringUtil.strToList(str, ',', true/* trim */);
-		if (result == null) {
-			result = Collections.emptyList();
-		}
-		return result;
-	}
-
-	public void setImplements(List<String> interfaces) {
-		setCustomized(IMPLEMENTS, StringUtil.listToStr(interfaces, ','));
-	}
-
-	/**
-	 * Returns the string that should be generated in the Java class for extends
-	 * and implements.
-	 */
-	public String generateExtendsImplements() {
-		StringBuffer buffer = new StringBuffer();
-		String extendsClass = getExtends();
-		if (extendsClass != null && !extendsClass.equals("java.lang.Object") && !extendsClass.equals("Object")) {
-			buffer.append("extends " + simplifyClassName(extendsClass) + " "); //fix for bug 278626
-		}
-		buffer.append("implements Serializable"); // assuming that the Java
-													// file template imports the
-													// java.io.Serializable
-		for (Iterator<String> iter = getImplements().iterator(); iter.hasNext();) {
-			buffer.append(", " + simplifyClassName(iter.next()));
-		}
-		return buffer.toString();
-	}
-
-	private String simplifyClassName(String fullClassName) {
-		final String JAVA_LANG = "java.lang.";
-		if (fullClassName.startsWith(JAVA_LANG)) {
-			return fullClassName.substring(JAVA_LANG.length());
-		}
-		String pkg = StringUtil.getPackageName(fullClassName);
-		if (pkg != null && StringUtil.equalObjects(pkg, getPackage())) {
-			return StringUtil.getClassName(fullClassName);
-		}
-		return fullClassName;
-	}
-
-	/**
-	 * Returns the id generator scheme (assigned, sequence, etc). Does not
-	 * return null, defaults to "assigned" or "identity" depending on whether
-	 * the table has an identity column.
-	 */
-	public String getIdGenerator() {
-		String generator = customized(ID_GENERATOR);
-		String noneGenerator = getCustomizer().getNoIdGenerator();
-		if (!isDefaultsTable()) {
-			/*
-			 * This is done mainly because there might be cases where some
-			 * tables have autoinctement pk and others are assigned. In this
-			 * case this makes it so that it is possible to have a "none"
-			 * default value that is interpreted depending on the case.
-			 */
-			if (generator == null || generator.equals(noneGenerator)) {
-				ORMGenColumn pkColumn = getPrimaryKeyColumn();
-				if (pkColumn != null && DTPUtil.isAutoIncrement(pkColumn.getDbColumn())) {
-					generator = getCustomizer().getIdentityIdGenerator();
-				}
-			}
-		}
-		if (generator == null) {
-			generator = noneGenerator;
-		}
-		return generator;
-	}
-
-	/**
-	 * Changes the id generator scheme (assigned, sequence, etc).
-	 */
-	public void setIdGenerator(String scheme) {
-		setCustomized(ID_GENERATOR, scheme);
-	}
-
-	/**
-	 * Returns the sequence name for the given table, or null if none (makes
-	 * sense only when the scheme is native, sequence, ..).
-	 */
-	public String getSequence() {
-		return customized(SEQUENCE);
-	}
-
-	public void setSequence(String name) {
-		setCustomized(SEQUENCE, name);
-	}
-
-	/**
-	 * Returns the sequence name after replacing the ${table} and ${pk} by their
-	 * values, or null if none.
-	 */
-	public String getFormattedSequence() {
-		String sequence = getSequence();
-		if (sequence != null) {
-			/* resolve the ${table} and ${pk} patterns */
-			sequence = StringUtil.strReplace(sequence, TABLE_SEQ_PATTERN, getName());
-			if (sequence.indexOf(PK_SEQ_PATTERN) >= 0) {
-				Iterator<Column> pkCols = getDbTable().getPrimaryKeyColumns().iterator();
-				String pkName = pkCols.hasNext() ? pkCols.next().getName() : null;
-				sequence = StringUtil.strReplace(sequence, PK_SEQ_PATTERN, pkName);
-			}
-		}
-		return sequence != null ? sequence.toUpperCase() : "";
-	}
-
-	public boolean isImplementEquals() {
-		return !"true".equals(customized(IMPLEMENT_EQUALS)); // defaults to
-																// false
-	}
-
-	public void setImplementEquals(boolean value) {
-		setCustomizedBoolean(IMPLEMENT_EQUALS, value, true);
-	}
-
-	/**
-	 * Returns true if there is any column participating in equals/hashcode.
-	 */
-	public boolean hasColumnsInEquals() {
-		List<ORMGenColumn> columns = getSimpleColumns();
-		for (int i = 0, n = columns.size(); i < n; ++i) {
-			ORMGenColumn column = columns.get(i);
-			if (column.isUseInEquals()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns {@link #GENERATE_DDL_ANNOTATION} indicating whether the optional
-	 * DDL parameters like length, nullable, unqiue, etc should be generated in @Column
-	 * annotation. defaults to false.
-	 */
-	public boolean isGenerateDDLAnnotations() {
-		return "true".equals(customized(ORMGenCustomizer.GENERATE_DDL_ANNOTATION)); // defaults
-																					// to
-																					// false
-	}
-
-	public void setGenerateDDLAnnotations(boolean generate) {
-		setCustomizedBoolean(ORMGenCustomizer.GENERATE_DDL_ANNOTATION, generate, false);
-	}
-
-	/**
-	 * Returns one of {@link #PROPERTY_ACCESS}|{@link #FIELD_ACCESS} indicating
-	 * how the entity properties are mapped. Does not return null (defaults to
-	 * {@link #FIELD_ACCESS}).
-	 */
-	public String getAccess() {
-		String name = customized(ACCESS);
-		if (name == null) {
-			name = FIELD_ACCESS;
-		}
-		return name;
-	}
-
-	public void setAccess(String access) {
-		assert (access == null || access.equals(PROPERTY_ACCESS) || access.equals(FIELD_ACCESS));
-		if (!StringUtil.equalObjects(access, getAccess())) {
-			setCustomized(ACCESS, access);
-		}
-	}
-
-	/**
-	 * Returns one of {@link #LAZY_FETCH}|{@link #EAGER_FETCH} indicating how
-	 * the table associations are feched. Returns null if the provider defaults
-	 * should be used.
-	 */
-	public String getDefaultFetch() {
-		return customized(DEFAULT_FETCH);
-	}
-
-	public void setDefaultFetch(String fetch) {
-		assert (fetch == null || fetch.equals(LAZY_FETCH) || fetch.equals(EAGER_FETCH));
-		setCustomized(DEFAULT_FETCH, fetch);
-	}
-
-	public String[] getSupportedCollectionTypes() {
-		return new String[] {
-			SET_COLLECTION_TYPE, LIST_COLLECTION_TYPE
-		};
-	}
-
-	/**
-	 * Returns one of {@link #LIST_COLLECTION_TYPE}|{@link #SET_COLLECTION_TYPE}
-	 * indicating the Java type (full class name) used for properties of
-	 * collection types. This does not return null (defaults to list).
-	 */
-	public String getDefaultCollectionType() {
-		String cType = customized(DEFAULT_COLLECTION_TYPE);
-		if (cType == null) {
-			cType = SET_COLLECTION_TYPE;
-		}
-		return cType;
-	}
-	
-	public String getSimpleCollectionType(){
-		 String type = getDefaultCollectionType();
-		return type.substring( type.lastIndexOf('.') +1 );
-	}
-
-	public void setDefaultCollectionType(String cType) {
-		assert (cType.equals(LIST_COLLECTION_TYPE) || cType.equals(SET_COLLECTION_TYPE));
-		setCustomized(DEFAULT_COLLECTION_TYPE, cType);
-	}
-
-	/**
-	 * Returns true if the primary key is compound and any of its columns should
-	 * be included in the <code>equals</code> method implementation.
-	 */
-	public boolean isCompoundKeyUseInEquals() {
-		if (isCompositeKey()) {
-			for (Iterator<ORMGenColumn> iter = getPrimaryKeyColumns().iterator(); iter.hasNext();) {
-				ORMGenColumn column = iter.next();
-				if (column.isUseInEquals()) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public boolean isRoleUseInEquals(AssociationRole role) {
-		for (Iterator<ORMGenColumn> iter = role.getReferrerColumns().iterator(); iter.hasNext();) {
-			ORMGenColumn column = iter.next();
-			if (column.isUseInEquals()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if the values of name element in the @Table is default so we
-	 * can skip generating the annotation
-	 * 
-	 * @return true
-	 */
-	public boolean isDefaultname() {
-		String entityName = getClassName();
-		String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().buildTableAnnotationName(entityName, mDbTable);
-		return annotationName == null;
-	}
-
-	/**
-	 * Qualifies a class name if there is a package.
-	 */
-	private String qualify(String className) {
-		String pkg = getPackage();
-		if (pkg != null && pkg.length() != 0) {
-			className = pkg + '.' + className;
-		}
-		return className;
-	}
-
-	/**
-	 * Returns true if the given column is part of any association.
-	 */
-	private boolean isColumnInAsscociation(ORMGenColumn column, List<AssociationRole> roles) {
-		for (int i = 0, n = roles.size(); i < n; ++i) {
-			AssociationRole role = roles.get(i);
-			List<ORMGenColumn> cols = role.getReferrerColumns();
-			for (ORMGenColumn col : cols) {
-				if (col.getName().equals(column.getName())) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Print the clause to be used in the generated equals() method
-	 * 
-	 * @return String
-	 */
-	public String getPrimaryKeyEqualsClause() {
-		StringBuilder buf = new StringBuilder();
-		Iterator<ORMGenColumn> columns = this.getPrimaryKeyColumns().iterator();
-		while (columns.hasNext()) {
-			this.printPrimaryKeyEqualsClauseOn(columns.next(), buf);
-			if (columns.hasNext()) {
-				buf.append("\n");
-				buf.append("\t\t\t");
-				buf.append("&& ");
-			}
-		}
-		buf.append(";");
-		return buf.toString();
-	}
-
-	private void printPrimaryKeyEqualsClauseOn(ORMGenColumn column, StringBuilder buf) {
-		String fieldName = column.getPropertyName();
-		JavaType javaType = column.getDbColumn().getPrimaryKeyJavaType();
-		if (javaType.isPrimitive()) {
-			this.printPrimitiveEqualsClauseOn(fieldName, buf);
-		}
-		else {
-			this.printReferenceEqualsClauseOn(fieldName, buf);
-		}
-	}
-
-	private void printPrimitiveEqualsClauseOn(String fieldName, StringBuilder buf) {
-		buf.append("(this.");
-		buf.append(fieldName);
-		buf.append(" == castOther.");
-		buf.append(fieldName);
-		buf.append(')');
-	}
-
-	private void printReferenceEqualsClauseOn(String fieldName, StringBuilder buf) {
-		buf.append("this.");
-		buf.append(fieldName);
-		buf.append(".equals(castOther.");
-		buf.append(fieldName);
-		buf.append(')');
-	}
-
-	/**
-	 * Print the clause to be used in the generated hasCode() method
-	 * 
-	 * @return String
-	 */
-	public String getPrimaryKeyHashCodeClause() {
-		StringBuilder buf = new StringBuilder();
-		Iterator<ORMGenColumn> columns = this.getPrimaryKeyColumns().iterator();
-		while (columns.hasNext()) {
-			buf.append("hash = hash * prime + ");
-			this.printPrimaryKeyHashCodeClauseOn(columns.next(), buf);
-			buf.append(';');
-			buf.append('\n');
-			buf.append("\t\t");
-		}
-		return buf.toString();
-	}
-
-	private void printPrimaryKeyHashCodeClauseOn(ORMGenColumn column, StringBuilder buf) {
-		String fieldName = column.getPropertyName();
-		JavaType javaType = column.getDbColumn().getPrimaryKeyJavaType();
-		if (javaType.isPrimitive()) {
-			this.printPrimitiveHashCodeClauseOn(javaType.getElementTypeName(), fieldName, buf);
-		}
-		else {
-			this.printReferenceHashCodeClauseOn(fieldName, buf);
-		}
-	}
-
-	private void printPrimitiveHashCodeClauseOn(String primitiveName, String fieldName, StringBuilder buf) {
-		if (primitiveName.equals("int")) {
-			// this.value
-			buf.append("this.");
-			buf.append(fieldName);
-		}
-		else if (primitiveName.equals("short") || primitiveName.equals("byte") || primitiveName.equals("char")) { // explicit
-																													// cast
-			// ((int) this.value)
-			buf.append("((int) this.");
-			buf.append(fieldName);
-			buf.append(')');
-		}
-		else if (primitiveName.equals("long")) { // cribbed from Long#hashCode()
-			// ((int) (this.value ^ (this.value >>> 32)))
-			buf.append("((int) (this.");
-			buf.append(fieldName);
-			buf.append(" ^ (this.");
-			buf.append(fieldName);
-			buf.append(" >>> 32)))");
-		}
-		else if (primitiveName.equals("float")) { // cribbed from
-													// Float#hashCode()
-			// java.lang.Float.floatToIntBits(this.value)
-			buf.append("java.lang.Float");
-			buf.append(".floatToIntBits(this.");
-			buf.append(fieldName);
-			buf.append(')');
-		}
-		else if (primitiveName.equals("double")) { // cribbed from
-													// Double#hashCode()
-			// ((int) (java.lang.Double.doubleToLongBits(this.value) ^
-			// (java.lang.Double.doubleToLongBits(this.value) >>> 32)))
-			buf.append("((int) (");
-			buf.append("java.lang.Double");
-			buf.append(".doubleToLongBits(this.");
-			buf.append(fieldName);
-			buf.append(") ^ (");
-			buf.append("java.lang.Double");
-			buf.append(".doubleToLongBits(this.");
-			buf.append(fieldName);
-			buf.append(") >>> 32)))");
-		}
-		else if (primitiveName.equals("boolean")) {
-			// (this.value ? 1 : 0)
-			buf.append("(this.");
-			buf.append(fieldName);
-			buf.append(" ? 1 : 0)");
-		}
-		else {
-			throw new IllegalArgumentException(primitiveName);
-		}
-	}
-
-	private void printReferenceHashCodeClauseOn(String fieldName, StringBuilder buf) {
-		buf.append("this.");
-		buf.append(fieldName);
-		buf.append(".hashCode()");
-	}
-
-	@Override
-	public String toString() {
-		return "name=" + this.getName() + "; columns=" + Arrays.toString(this.getColumnNames().toArray());
-	}
-
-	/* class scopes */
-	public static final String PUBLIC_SCOPE = "public";
-
-	public static final String PROTECTED_SCOPE = "protected";
-
-	public static final String PRIVATE_SCOPE = "private";
-
-	/* access constants. Note that these strings are used in the ui */
-	public static final String PROPERTY_ACCESS = "property";
-
-	public static final String FIELD_ACCESS = "field";
-
-	/*
-	 * default fech constants. Note that these strings are used in the gen
-	 * velocity templates.
-	 */
-	public static final String DEFAULT_FETCH = "defaultFetch";
-
-	public static final String LAZY_FETCH = "lazy";
-
-	public static final String EAGER_FETCH = "eager";
-
-	/*
-	 * default collection type constants. Note that these strings are used in
-	 * the gen velocity templates.
-	 */
-	public static final String LIST_COLLECTION_TYPE = "java.util.List";
-
-	public static final String SET_COLLECTION_TYPE = "java.util.Set";
-
-	/**
-	 * The pattern replaced by the table name in the id generator sequence name
-	 * param.
-	 */
-	public static final String TABLE_SEQ_PATTERN = "$table";
-
-	/**
-	 * The pattern replaced by the primary key in the id generator sequence name
-	 * param.
-	 */
-	public static final String PK_SEQ_PATTERN = "$pk";
-
-	/* customization properties */
-	private static final String PACKAGE = "package";
-
-	private static final String SRC_FOLDER = "srcFolder";
-
-	private static final String CLASS_NAME = "className";
-
-	private static final String CLASS_DESC = "classDesc";
-
-	private static final String CLASS_SCOPE = "classScope";
-
-	private static final String EXTENDS = "extends";
-
-	private static final String IMPLEMENTS = "implements";
-
-	private static final String ID_GENERATOR = "idGenerator";
-
-	private static final String SEQUENCE = "sequence";
-
-	private static final String COMPOSITE_KEY_CLASS_NAME = "compositeKeyClassName";
-
-	private static final String IMPLEMENT_EQUALS = "implementEquals";
-
-	private static final String ACCESS = "access";
-
-	private static final String DEFAULT_COLLECTION_TYPE = "defaultCollectionType";
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/OverwriteConfirmer.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/OverwriteConfirmer.java
deleted file mode 100644
index c4192ec..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/OverwriteConfirmer.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-public interface OverwriteConfirmer {
-	/**
-	 * Return whether the entity generator should overwrite the specified
-	 * file.
-	 */
-	boolean overwrite(String className);
-
-
-	final class Always
-		implements OverwriteConfirmer
-	{
-		public static final OverwriteConfirmer INSTANCE = new Always();
-
-		public static OverwriteConfirmer instance() {
-			return INSTANCE;
-		}
-
-		// ensure single instance
-		private Always() {
-			super();
-		}
-
-		// everything will be overwritten
-		public boolean overwrite(String className) {
-			return true;
-		}
-
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-	}
-
-
-	final class Never
-		implements OverwriteConfirmer
-	{
-		public static final OverwriteConfirmer INSTANCE = new Never();
-
-		public static OverwriteConfirmer instance() {
-			return INSTANCE;
-		}
-
-		// ensure single instance
-		private Never() {
-			super();
-		}
-
-		// nothing will be overwritten
-		public boolean overwrite(String className) {
-			return false;
-		}
-
-		@Override
-		public String toString() {
-			return StringTools.buildSingletonToString(this);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/PackageGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/PackageGenerator.java
deleted file mode 100644
index 99905e1..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/PackageGenerator.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jpt.jpa.gen.internal;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.VelocityEngine;
-import org.apache.velocity.runtime.log.JdkLogChute;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.persistence.Persistence;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource;
-import org.eclipse.jpt.jpa.gen.internal.util.CompilationUnitModifier;
-import org.eclipse.jpt.jpa.gen.internal.util.FileUtil;
-import org.eclipse.jpt.jpa.gen.internal.util.UrlUtil;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-
-/**
- * This generator will generate a package of entities for a set of tables.
- */
-public class PackageGenerator { 
-
-	private static final String LOGGER_NAME = "org.eclipse.jpt.entities.gen.log"; //$NON-NLS-1$
-	private final JpaProject jpaProject;
-	private final ORMGenCustomizer customizer;
-	private final OverwriteConfirmer overwriteConfirmer;
-
-	public static void generate(JpaProject jpaProject, ORMGenCustomizer customizer, OverwriteConfirmer overwriteConfirmer, IProgressMonitor monitor) throws CoreException {
-		SubMonitor sm = SubMonitor.convert(monitor, 20);
-		PackageGenerator generator = new PackageGenerator(jpaProject, customizer, overwriteConfirmer);
-		sm.worked(1);
-		try {
-			generator.doGenerate(sm.newChild(19));
-		} catch (Exception e) {
-			throw new CoreException(new Status(IStatus.ERROR, JptJpaGenPlugin.PLUGIN_ID, JptGenMessages.Error_Generating_Entities, e));
-		}
-	}
-	
-	private PackageGenerator(JpaProject jpaProject, ORMGenCustomizer customizer, OverwriteConfirmer confirmer) {
-		super();
-		this.jpaProject = jpaProject;
-		this.customizer = customizer;
-		this.overwriteConfirmer = confirmer;
-	}
-
-	private Object getCustomizer() {
-		return this.customizer;
-	}
-
-	private IJavaProject getJavaProject(){
-		return this.jpaProject.getJavaProject();
-	}
-
-	
-	protected void doGenerate(IProgressMonitor monitor) throws Exception {
-		generateInternal(monitor);
-	}
-
-	protected void generateInternal(IProgressMonitor monitor) throws Exception {
-		File templDir = prepareTemplatesFolder();
-
-		List<String> genClasses = new java.util.ArrayList<String>();
-		List<String> tableNames = this.customizer.getGenTableNames();
-
-		/* .java per table, persistence.xml, refresh package folder */
-		SubMonitor sm = SubMonitor.convert(monitor, tableNames.size() + 2);
-
-
-		for (Iterator<String> iter = tableNames.iterator(); iter.hasNext();) {
-			if (sm.isCanceled()) {
-				return;
-			}
-			String tableName = iter.next();
-			ORMGenTable table = this.customizer.getTable(tableName);
-
-			String className = table.getQualifiedClassName();
-
-			generateClass(table, templDir.getAbsolutePath(), sm.newChild(1, SubMonitor.SUPPRESS_NONE));
-
-			genClasses.add(className);
-			/*
-			 * add the composite key class to persistence.xml because some 
-			 * JPA provider(e.g. Kodo) requires it. Hibernate doesn't seem to care). 
-			 */
-			if (table.isCompositeKey()) {
-				genClasses.add(table.getQualifiedCompositeKeyClassName());
-			}
-		}
-		if (sm.isCanceled()) {
-			return;
-		}
-		
-		//update persistence.xml
-		if (this.customizer.updatePersistenceXml()) {
-			updatePersistenceXml(genClasses);
-		}
-		sm.worked(2);
-	}
-	
-	private void updatePersistenceXml(final List<String> genClasses) {
-		JpaXmlResource resource = this.jpaProject.getPersistenceXmlResource();
-		if (resource == null) {
-			//the resource would only be null if the persistence.xml file had an invalid content type,
-			//do not attempt to update
-			return;
-		}
-
-		Persistence persistence = this.jpaProject.getRootContextNode().getPersistenceXml().getPersistence();
-		if (persistence == null) {
-			// invalid content, do not attempt to update
-			return;
-		}
-		PersistenceUnit persistenceUnit;
-		// create a persistence unit if one doesn't already exist
-		if (persistence.getPersistenceUnitsSize() == 0) {
-			persistenceUnit = persistence.addPersistenceUnit();
-			persistenceUnit.setName(PackageGenerator.this.jpaProject.getName());
-		} else {
-			// we only support one persistence unit - take the first one
-			persistenceUnit = persistence.getPersistenceUnit(0);
-		}
-		for (String className : genClasses) {
-			if (CollectionTools.isEmpty(persistenceUnit.getMappingFileRefsContaining(className)) && !persistenceUnit.specifiesPersistentType(className)) {
-				persistenceUnit.addSpecifiedClassRef(className);
-			}
-		}
-		resource.save();
-	}
-
-	private File prepareTemplatesFolder() throws IOException, Exception,
-			CoreException {
-		//Prepare the Velocity template folder:
-		//If the plug-in is packaged as a JAR, we need extract the template 
-		//folder into the plug-in state location. This is required by Velocity
-		//since we use included templates.
-		Bundle bundle = Platform.getBundle(JptJpaGenPlugin.PLUGIN_ID);
-		String templatesPath = "templates/entities/";  //$NON-NLS-1$
-		Path path = new Path( templatesPath);
-		URL url = FileLocator.find(bundle, path, null);
-		if (url == null) {
-			throw new CoreException(new Status(IStatus.ERROR, JptJpaGenPlugin.PLUGIN_ID,  JptGenMessages.Templates_notFound + " "+  JptJpaGenPlugin.PLUGIN_ID + "/" + templatesPath) );//$NON-NLS-1$
-		}		
-		URL templUrl = FileLocator.resolve(url);
-		
-		//Have this check so that the code would work in both PDE and JARed plug-in at runtime
-		File templDir = null;
-		if (UrlUtil.isJarUrl(templUrl)) {
-			templDir = FileUtil.extractFilesFromBundle( templUrl, bundle, templatesPath );
-		} else {
-			templDir = UrlUtil.getUrlFile(templUrl);
-		}
-		
-
-		if (templDir == null || !templDir.exists()) {
-			throw new CoreException(new Status(IStatus.ERROR, JptJpaGenPlugin.PLUGIN_ID,  JptGenMessages.Templates_notFound + " "+  JptJpaGenPlugin.PLUGIN_ID ) );//$NON-NLS-1$
-		}
-		return templDir;
-	}
-	
-	/**
-	 * Saves/Creates the .java file corresponding to a database table 
-	 * with the given content.
-	 * 
-	 * @param templDir The velocity template file directory. It is assumed 
-	 * that this directory contains the 2 files <em>main.java.vm</em> 
-	 * and <em>pk.java.vm</em> 
-	 * @param progress 
-	 */
-	protected void generateClass(ORMGenTable table, String templateDirPath, IProgressMonitor monitor) throws Exception {
-
-		String subTaskName = NLS.bind(JptGenMessages.EntityGenerator_taskName, table.getName());
-		SubMonitor sm = SubMonitor.convert(monitor, subTaskName, 10);
-
-		try {
-			IFolder javaPackageFolder = getJavaPackageFolder(table, monitor);
-			IFile javaFile = javaPackageFolder.getFile( table.getClassName() + ".java"); //$NON-NLS-1$
-			
-			if (javaFile.exists()) {
-				if (this.overwriteConfirmer != null && !this.overwriteConfirmer.overwrite(javaFile.getName())) {
-					return;
-				}
-			}
-			//JdkLogChute in this version of Velocity not allow to set log level
-			//Workaround by preset the log level before Velocity is initialized
-			Logger logger = Logger.getLogger( LOGGER_NAME );
-			logger.setLevel( Level.SEVERE );
-			
-			Properties vep = new Properties();
-			vep.setProperty("file.resource.loader.path", templateDirPath); //$NON-NLS-1$
-			vep.setProperty( JdkLogChute.RUNTIME_LOG_JDK_LOGGER, LOGGER_NAME );
-			VelocityEngine ve = new VelocityEngine();
-		    ve.init(vep);
-		    sm.worked(2);
-		    
-		    generateJavaFile(table, javaFile, ve, "main.java.vm", true/*isDomainClass*/, sm.newChild(6)); //$NON-NLS-1$
-		    
-		    if (table.isCompositeKey()) {
-		    	IFile compositeKeyFile = javaPackageFolder.getFile( table.getCompositeKeyClassName()+".java"); //$NON-NLS-1$
-		    	generateJavaFile(table, compositeKeyFile, ve, "pk.java.vm", false/*isDomainClass*/, sm.newChild(1)); //$NON-NLS-1$
-		    }
-		    else {
-		    	sm.setWorkRemaining(1);
-		    }
-			javaFile.refreshLocal(1, sm.newChild(1));
-			
-		} catch (Throwable e) {
-			CoreException ce = new CoreException(new Status(IStatus.ERROR, JptJpaGenPlugin.PLUGIN_ID, JptGenMessages.Templates_notFound + "" + JptJpaGenPlugin.PLUGIN_ID , e) );//$NON-NLS-1$
-			JptJpaGenPlugin.logException( ce );
-		}
-	}
-	
-	private void generateJavaFile(ORMGenTable table, IFile javaFile, VelocityEngine ve
-			, String templateName, boolean isDomainClass, IProgressMonitor monitor) throws Exception {
-		VelocityContext context = new VelocityContext();
-        context.put("table", table); //$NON-NLS-1$
-        context.put("customizer", getCustomizer()); //$NON-NLS-1$
-        
-		StringWriter w = new StringWriter();
-		ve.mergeTemplate(templateName, context, w);
-		
-		String fileContent = w.toString();
-		if (javaFile.exists()) {
-			if (isDomainClass) {
-				updateExistingDomainClass(table.getQualifiedClassName(), javaFile, fileContent);
-			} else {
-				byte[] content = fileContent.getBytes(javaFile.getCharset());
-				javaFile.setContents(new ByteArrayInputStream(content), true, true, monitor);
-			}
-		} else {
-			byte[] content = fileContent.getBytes(javaFile.getCharset());
-			createFile(javaFile, new ByteArrayInputStream(content));
-		}		
-	}
-	
-	
-	/**
-	 * Updates the (existing) Java file corresponding to the given class.
-	 * 
-	 * @param className The qualified class name.
-	 * 
-	 * @param javaFile The existing Java file of the class to update.
-	 * 
-	 * @param fileContent The new file content.
-	 */
-	protected void updateExistingDomainClass(String className, IFile javaFile, String fileContent) throws Exception {
-		/*use CompilationUnitModifier instead of calling WideEnv.getEnv().setFileContent 
-		 * so that if the unit is up to date if it is used before file change 
-		 * notifications are delivered (see EJB3ImportSchemaWizard.updateExistingDomainClass for example)*/
-		CompilationUnitModifier modifier = new CompilationUnitModifier(this.getJavaProject(), className);
-		modifier.setJavaSource(fileContent);
-		modifier.save();
-	}
-	
-	public void createFile(IFile file, java.io.InputStream contents) throws CoreException {		
-		file.create(contents, false, null/*monitor*/);
-	}
-	
-	public IFolder getJavaPackageFolder(ORMGenTable table, IProgressMonitor monitor) throws CoreException {
-		IPackageFragmentRoot root = getDefaultJavaSourceLocation(this.getJavaProject(), table.getSourceFolder());
-		String packageName = table.getPackage();
-		if (packageName == null) packageName = ""; //$NON-NLS-1$
-		IPackageFragment packageFragment = root.getPackageFragment(packageName);
-		if( !packageFragment.exists()){
-			root.createPackageFragment(packageName, true, monitor);
-		}		
-		return (IFolder) packageFragment.getResource();
-	}
-
-	private IPackageFragmentRoot getDefaultJavaSourceLocation(IJavaProject jproject, String sourceFolder){
-		IPackageFragmentRoot defaultSrcPath = null;
-		if (jproject != null && jproject.exists()) {
-			try {
-				IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots();
-				for (int i = 0; i < roots.length; i++) {
-					if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE ){
-						if (defaultSrcPath == null) {
-							defaultSrcPath = roots[i];
-						}
-						String path = roots[i].getPath().toString(); 
-						if (path.equals('/' + sourceFolder)) {
-							return roots[i] ; 
-						}
-					}
-				}
-			} catch (JavaModelException e) {
-				JptJpaGenPlugin.logException(e);
-			}
-		}
-		return defaultSrcPath;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/TagNames.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/TagNames.java
deleted file mode 100644
index daeecd6..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/TagNames.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal;
-
-/**
- * TODO: merge with JPA class ?
- * The JPA mapping tag and attribute names.
- * 
- */
-public class TagNames
-{
-	public static final String BASIC_TAG = "basic";
-	public static final String CASCADE_TAG = "cascade";
-	public static final String COLUMN_TAG = "column";
-	public static final String EMBEDDED_TAG = "embedded";
-	public static final String EMBEDDED_ID_TAG = "embedded-id";
-	public static final String GENERATED_VALUE_TAG = "generated-value";
-	public static final String ID_TAG = "id";
-	public static final String ID_CLASS_TAG = "id";
-	public static final String JOIN_COLUMN_TAG = "join-column";
-	public static final String INVERSE_JOIN_COLUMN_TAG = "inverse-join-column";
-	public static final String LOB_TAG = "lob";
-	public static final String MANY_TO_MANY_TAG = "many-to-many";
-	public static final String MANY_TO_ONE_TAG = "many-to-one";
-	public static final String MAPPED_BY_TAG = "mapped-by";
-	public static final String ONE_TO_MANY_TAG = "one-to-many";
-	public static final String ONE_TO_ONE_TAG = "one-to-one";
-	public static final String PK_JOIN_COLUMN_TAG = "primary-key-join-column";
-	public static final String TABLE_TAG = "table";
-	public static final String VERSION_TAG = "version";
-	public static final String JOIN_TABLE_TAG = "join-table";
-
-	/*cascade tags*/
-	public static final String ALL_CASCADE = "all";
-	public static final String PERSIST_CASCADE = "persist";
-	public static final String MERGE_CASCADE = "merge";
-	public static final String REMOVE_CASCADE = "remove";
-	public static final String REFRESH_CASCADE = "refresh";
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/CompilationUnitModifier.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/CompilationUnitModifier.java
deleted file mode 100644
index 4ca46e1..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/CompilationUnitModifier.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal.util;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jface.text.Document;
-import org.eclipse.text.edits.TextEdit;
-
-
-/**
- * Performs the grunt work needed for modifying a compilation 
- * unit and performs the modified compilation unit save.
- * 
- * The typical usage is as follows:
- * <ol><li>Create an instance.
- * 
- * <li>Modify the compilation unit using AST operations performed 
- * 	on the node returned by {@link #getCompilationUnitNode()}.
- *  Alternatively you can call <code>setJavaSource</code> to change the entire source code. 
- * 
- * <li>Call the {@link #save()} method.
- * 
- */
-public class CompilationUnitModifier
-{
-	private IJavaProject mProject;
-	private ICompilationUnit mCompilationUnit;
-	private CompilationUnit mCompilationUnitNode;
-	private Document mDocument;
-	
-	public CompilationUnitModifier(IJavaProject project, String className) throws Exception {
-		super();
-		
-		mProject = project;
-		
-		IType type = project.findType(className);
-		if (type == null) {
-			throw new Exception("The class " + className + " does not exist.");
-		}
-		mCompilationUnit = type.getCompilationUnit();
-		if (mCompilationUnit == null) {
-			throw new Exception("The source code for " + className + " does not exist.");
-		}
-	}
-	public CompilationUnitModifier(IJavaProject project, ICompilationUnit cu) throws Exception {
-		super();
-		
-		mProject = project;
-		mCompilationUnit = cu;
-	}
-	public CompilationUnitModifier(IJavaProject project, ICompilationUnit cu, CompilationUnit cuNode) throws Exception {
-		super();
-		
-		mProject = project;
-		mCompilationUnit = cu;
-		mCompilationUnitNode = cuNode;
-		
-		getCompilationUnitNode(); //to create mDocument (the caller in this case does not have to call getCompilationUnitNode)
-	}
-	public ICompilationUnit getCompilationUnit() {
-		return mCompilationUnit;
-	}
-	/**
-	 * Returns the compilation unit node that should be used for 
-	 * tyhe modification AST operations.
-	 */
-	public CompilationUnit getCompilationUnitNode() {
-		if (mCompilationUnitNode == null) {
-			ASTParser c = ASTParser.newParser(AST.JLS3);
-			c.setSource(mCompilationUnit);
-			c.setResolveBindings(true);
-			mCompilationUnitNode = (CompilationUnit)c.createAST(null);
-		}
-		if (mDocument == null) {
-			try {
-				mDocument = new Document(mCompilationUnit.getBuffer().getContents());
-			} catch (JavaModelException e) {
-				e.printStackTrace();
-			}
-			
-			mCompilationUnitNode.recordModifications();
-		}
-		
-		return mCompilationUnitNode;
-	}
-	/**
-	 * Changes the entire Java source code of the compilation unit.
-	 */
-	public void setJavaSource(String newSource) {
-		try {
-			mCompilationUnit.getBuffer().setContents(newSource);
-		} catch (JavaModelException e) {
-			e.printStackTrace();
-		}
-	}
-	/**
-	 * Saves the compilation unit modifications.
-	 */
-	public void save() throws Exception {
-		if (mCompilationUnitNode != null) {
-			assert(mDocument != null); //see getCompilationUnitNode
-			
-			//computation of the text edits
-			TextEdit edits = mCompilationUnitNode.rewrite(mDocument, mProject.getOptions(true));
-			//computation of the new source code
-			edits.apply(mDocument);
-			String newSource = mDocument.get();
-			// update of the compilation unit
-			mCompilationUnit.getBuffer().setContents(newSource);
-		}
-		
-		if (mCompilationUnit.isWorkingCopy()) {
-			mCompilationUnit.commitWorkingCopy(true/*force*/, null/*monitor*/);
-		} else {
-			mCompilationUnit.save(null/*monitor*/, true/*force*/);
-		}
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/DTPUtil.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/DTPUtil.java
deleted file mode 100644
index ec2280a..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/DTPUtil.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.jpt.jpa.db.ForeignKey.ColumnPair;
-
-/**
- * Collection of utility methods to access DTP and other jpt.db APIs 
- *
- */
-public class DTPUtil {
-
-	public static boolean isAutoIncrement(Column c){
-		//@ TODO
-		//Blocked by DTP bug
-		//https://bugs.eclipse.org/bugs/show_bug.cgi?id=250023
-		//The Dali bug is
-		//https://bugs.eclipse.org/bugs/show_bug.cgi?id=249658
-		//
-		return false;
-	}
-
-	/**
-	 * Return list of fk
-	 * @param dbTable
-	 * @return
-	 */
-	public static List<ForeignKeyInfo> getForeignKeys(Table dbTable) {
-		List<ForeignKeyInfo> ret = new ArrayList<ForeignKeyInfo>();
-		if(dbTable!=null){
-			for (ForeignKey fk : dbTable.getForeignKeys()) {
-				Iterator<ColumnPair> columnPaires = fk.getColumnPairs().iterator();
-				ForeignKeyInfo fkInfo = null;
-				while( columnPaires.hasNext() ){
-					ColumnPair columnPair = columnPaires.next();
-					if( fkInfo == null){
-						String tableName = dbTable.getName();
-						String referencedTableName = "";
-						Table referencedTable = fk.getReferencedTable();
-						referencedTableName = referencedTable.getName();
-						fkInfo = new ForeignKeyInfo(fk, tableName, referencedTableName );
-					}
-					String baseColName = columnPair.getBaseColumn().getName();
-					String referencedColName = columnPair.getReferencedColumn().getName();
-					fkInfo.addColumnMapping( baseColName,  referencedColName );
-				} 
-				if( fkInfo !=null )
-					ret.add( fkInfo );
-			}
-		}
-		return ret;
-	}
-
-	public static String getJavaType(Column dbColumn) {
-		return dbColumn.isPartOfPrimaryKey() ?
-				dbColumn.getPrimaryKeyJavaTypeDeclaration() :
-				dbColumn.getJavaTypeDeclaration();
-	}
-
-	public static boolean isDefaultSchema(Table dbTable){
-		String schemaName = dbTable.getSchema().getName();
-		Schema defaultSchema = dbTable.getSchema().getDatabase().getDefaultSchema();
-		return defaultSchema.getName() == schemaName;
-	}	
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/EntityGenTools.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/EntityGenTools.java
deleted file mode 100644
index faa48c3..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/EntityGenTools.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal.util;
-
-import java.util.Collection;
-import org.eclipse.jpt.common.utility.internal.NameTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-
-/**
- * Utility methods for entity generation.
- */
-public class EntityGenTools {
-
-	/**
-	 * Convert the specified (database) identifier to a unique "Java style"
-	 * class name.
-	 * @see #convertToUniqueJavaStyleIdentifier(String, boolean, Collection)
-	 */
-	public static String convertToUniqueJavaStyleClassName(String identifier, Collection<String> classNames) {
-		return convertToUniqueJavaStyleIdentifier(identifier, true, classNames);
-	}
-
-	/**
-	 * Convert the specified (database) identifier to a unique "Java style"
-	 * attribute (field/property) name.
-	 * @see #convertToUniqueJavaStyleIdentifier(String, boolean, Collection)
-	 */
-	public static String convertToUniqueJavaStyleAttributeName(String identifier, Collection<String> attributeNames) {
-		return convertToUniqueJavaStyleIdentifier(identifier, false, attributeNames);
-	}
-
-	/**
-	 * Convert the specified (database) identifier to a unique "Java style"
-	 * identifier:
-	 *     - if the identifier is all-caps, convert underscores to "camel case"
-	 *     - if the identifier is not all-caps, leave it unchanged (except, possibly, for the first letter)
-	 *     - convert to a legal Java identifier
-	 *         - eliminate illegal characters
-	 *         - if the result is a reserved word, modify it slightly
-	 * If the result is already one of the specified existing identifiers
-	 * (ignoring case so we don't have filename collisions on Windows),
-	 * modify it slightly again.
-	 *     "FOO" => "Foo" or "foo"
-	 *     "FOO_BAR" => "FooBar" or "fooBar"
-	 *     "PACKAGE" => "Package" or "package_"
-	 */
-	public static String convertToUniqueJavaStyleIdentifier(String identifier, boolean capitalizeFirstLetter, Collection<String> identifiers) {
-		String result = identifier;
-		if (StringTools.stringIsUppercase(result) || StringTools.stringIsLowercase(result)) {
-			// leave mixed case identifiers alone?
-			result = StringTools.convertUnderscoresToCamelCase(result, capitalizeFirstLetter);
-		} else {
-			result = capitalizeFirstLetter ? StringTools.capitalize(result) : StringTools.uncapitalize(result);
-		}
-		result = NameTools.convertToJavaIdentifier(result);
-		// assume that converting to a unique name will not result in a Java reserved word
-		// (since no Java reserved words end with a number)
-		result = NameTools.uniqueNameForIgnoreCase(result, identifiers);
-		return result;
-	}
-
-
-	// ********** constructor **********
-
-	/**
-	 * Suppress default constructor, ensuring non-instantiability.
-	 */
-	private EntityGenTools() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/FileUtil.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/FileUtil.java
deleted file mode 100644
index 8cab904..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/FileUtil.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.jar.JarInputStream;
-import java.util.jar.Manifest;
-import java.util.zip.ZipEntry;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.jpt.jpa.gen.internal.JptGenMessages;
-
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-
-/**
- * Collections of utility methods handling files.
- * 
- */
-public class FileUtil
-{
-	
-	public static void deleteFolder(File folder)
-		throws IOException
-	{
-		File[] files = folder.listFiles();
-		//empty the folder first (java.io.file.delete requires it empty)
-		if (files != null) {
-			for (int i = 0; i < files.length; ++i) {
-				File f = files[i];
-				if (f.isDirectory())
-					deleteFolder(f);
-				else
-					deletePath(f);
-			}
-		}
-		deletePath(folder);
-	}
-
-	public static void deletePath(File f)
-		throws IOException
-	{
-		if (!f.delete()) {
-			String msgId = f.isDirectory() ?  JptGenMessages.Delete_Folder_Error :  JptGenMessages.Delete_File_Error;
-			throw new IOException( NLS.bind(msgId,f.getPath()));
-		}
-	}
-	
-	public static byte[] readFile(File src)
-		throws IOException
-	{
-		java.io.FileInputStream fin = new java.io.FileInputStream(src);
-		try {
-			long fileLen = src.length();
-			if (fileLen > Integer.MAX_VALUE)
-				throw new IOException("file length too big to be read by FileUtil.readFile: " + fileLen);
-		
-			byte[] bytes = new byte[(int)fileLen];
-			fin.read(bytes);
-			return bytes;
-		}
-		finally {
-			fin.close();
-		}
-	}
-
-	public static void writeFile(File dest, byte[] bytes)
-		throws IOException
-	{
-		if (dest.exists() && !dest.canWrite())
-			throw new IOException( NLS.bind(JptGenMessages.File_Read_Only_Error, dest.getPath()));  //throw with a clear error because otherwise FileOutputStream throws FileNotFoundException!
-		java.io.FileOutputStream fout = new java.io.FileOutputStream(dest.getPath(), false/*append*/);
-		try {
-			fout.write(bytes);
-		}
-		finally {
-			fout.flush();
-			fout.close();
-		}
-	}
-
-	/**
-	 * Returns the url for a file.
-	 * This basically the same as file.toUrl() but without the non-sense exception.
-	 */
-	public static URL getFileUrl(File file) {
-		try {
-			return file.toURI().toURL();
-		} catch (MalformedURLException e) {
-			return null; //should not happen as file.toURL() does not really throw an exception
-		}
-	}
-
-	public static void setFileContent(File file, java.io.InputStream contents) throws java.io.IOException {
-		Path path = new Path(file.getAbsolutePath());
-		try {
-			IFile iFile = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
-			if (iFile == null) {
-				throw new IOException("The path " + file + " does not seem to be a valid file path.");
-			}
-			iFile.setContents(contents, true/*force*/, true/*keepHistory*/, null/*monitor*/);
-		} catch (CoreException ex) {
-			throw new IOException(ex.getMessage());
-		}
-	}	
-	
-    /**
-     * Extract the contents of a Jar archive to the specified destination.
-     */
-    public static void unjar(InputStream in, File dest) throws IOException {
-        if (!dest.exists()) {
-            dest.mkdirs();
-        }
-        if (!dest.isDirectory()) {
-            throw new IOException("Destination must be a directory.");//$NON-NLS-1$
-        }
-        JarInputStream jin = new JarInputStream(in);
-        byte[] buffer = new byte[1024];
-
-        ZipEntry entry = jin.getNextEntry();
-        while (entry != null) {
-            String fileName = entry.getName();
-            if (fileName.charAt(fileName.length() - 1) == '/') {
-                fileName = fileName.substring(0, fileName.length() - 1);
-            }
-            if (fileName.charAt(0) == '/') {
-                fileName = fileName.substring(1);
-            }
-            if (File.separatorChar != '/') {
-                fileName = fileName.replace('/', File.separatorChar);
-            }
-            File file = new File(dest, fileName);
-            if (entry.isDirectory()) {
-                // make sure the directory exists
-                file.mkdirs();
-                jin.closeEntry();
-            } else {
-                // make sure the directory exists
-                File parent = file.getParentFile();
-                if (parent != null && !parent.exists()) {
-                    parent.mkdirs();
-                }
-
-                // dump the file
-                OutputStream out = new FileOutputStream(file);
-                int len = 0;
-                while ((len = jin.read(buffer, 0, buffer.length)) != -1) {
-                    out.write(buffer, 0, len);
-                }
-                out.flush();
-                out.close();
-                jin.closeEntry();
-                file.setLastModified(entry.getTime());
-            }
-            entry = jin.getNextEntry();
-        }
-        /* Explicitly write out the META-INF/MANIFEST.MF so that any headers such
-         as the Class-Path are seen for the unpackaged jar
-         */
-        Manifest mf = jin.getManifest();
-        if (mf != null) {
-            File file = new File(dest, "META-INF/MANIFEST.MF");//$NON-NLS-1$
-            File parent = file.getParentFile();
-            if (parent.exists() == false) {
-                parent.mkdirs();
-            }
-            OutputStream out = new FileOutputStream(file);
-            mf.write(out);
-            out.flush();
-            out.close();
-        }
-        jin.close();
-    }
-    
-	//Used to Unzip the a specific folder packed inside a plug-in bundle to the plug-in state location
-	public static File extractFilesFromBundle( URL url, Bundle bundle, String path ) throws Exception {
-		URL jarUrl = UrlUtil.getJarFileUrl(url);
-		File jarFile = new File(jarUrl.getFile() );
-		Location configLocation = Platform.getConfigurationLocation();
-		String pluginId = bundle.getSymbolicName();
-		File configFolder = new File( configLocation.getURL().getFile(), pluginId);
-		File templDir = new File( configFolder, path );
-		if( !templDir.exists() ){
-			FileUtil.unjar( new FileInputStream( jarFile ), configFolder );
-			//Delete un-related files and folders
-			File[] files = configFolder.listFiles();
-			for( File f : files ){
-				if( f.isFile() )
-					f.delete();
-				else if(  templDir.getPath().indexOf( f.getPath() ) !=0  ){
-					FileUtil.deleteFolder(f);
-				}
-			}
-		}
-		return templDir ;
-	}	
-}
-
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/ForeignKeyInfo.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/ForeignKeyInfo.java
deleted file mode 100644
index 70f5eb8..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/ForeignKeyInfo.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal.util;
-
-import java.util.List;
-
-import org.eclipse.jpt.jpa.db.ForeignKey;
-
-/**
- * Represents the metadata for a particular foreign key relationship 
- * in a relational database schema.
- * <p/>
- * The referrer column is one which actually contains a foreign 
- * key constraint, and is equivalent to the "foreign key" column.
- * <p/>
- * The referenced column is one which a referrer or foreign key 
- * column references, and is equivalent to the "primary key" column.
- * 
- */
-public class ForeignKeyInfo
-{
-	private transient ForeignKey mForeignKey ;
-    private String mName;
-    private String mReferrerTableName;
-    private String mReferencedTableName;
-    private List<String> mReferrerColNames = new java.util.ArrayList<String>();
-    private List<String> mReferencedColNames = new java.util.ArrayList<String>();
-    
-    /**
-     * @param fk The name of the constraint backing 
-     * this foreign key metadata instance.
-     */
-    public ForeignKeyInfo(ForeignKey fk, String referrerTableName, String referencedTableName) {
-    	mForeignKey = fk;
-    	mName = fk.getName();
-    	mReferrerTableName = referrerTableName;
-    	mReferencedTableName = referencedTableName;
-	}
-    /**
-     * Obtain the constraint name for this foreign key specification.
-     * The name for a Foreign Key may, as per the JDBC specification,
-     * be <code>null</code> where the constraint is not named.
-     * In addition, it may be hardly recognizable to the user,
-     * particularly for DB/2 constraints.
-     * 
-     * @return The name of the constraint backing
-     *         this foreign key metadata instance.
-     */
-    public String getName()
-    {
-        return mName;
-    }
-    
-    public ForeignKey getForeignKey(){
-    	return mForeignKey;
-    }
-    /**
-     * Add another pair of foreign key mappings for this foreign key
-     * definition.
-     * 
-     * @param referrerColumn The referrer column name for this mapping.
-     * 
-     * @param referencedColumn The referenced column name for this mapping.
-     */
-    public void addColumnMapping(String referrerColName, String referencedColName) {
-    	mReferrerColNames.add(referrerColName);
-    	mReferencedColNames.add(referencedColName);
-    }
-    /**
-     * Returns the referrer table name of this foreign key
-     * relationship.
-     */
-    public String getReferrerTableName() {
-        return mReferrerTableName;
-    }
-    /**
-     * Returns the referrer column names for this
-     * foreign key.
-     * The size of this list is always the same as the size of 
-     * the list retured from <code>getReferencedColumnNames</code>
-     */
-    public List<String> getReferrerColumnNames() {
-        return mReferrerColNames;
-    }
-    /**
-     * Returns the referenced table name of this foreign key
-     * relationship.
-     */
-    public String getReferencedTableName() {
-    	 return mReferencedTableName;
-    }
-    /**
-     * Returns the referenced column names for this
-     * foreign key.
-     * The size of this list is always the same as the size of 
-     * the list retured from <code>getReferrerColumnNames</code>
-     */
-    public List<String> getReferencedColumnNames() {
-        return mReferencedColNames;
-    }
-    /* (non-Javadoc)
-     * @see java.lang.Object#toString()
-     */
-    public String toString() {
-    	return "name=" + mName
-		+ ", referrerTable=" + mReferrerTableName
-		+ ", referencedTable=" + mReferencedTableName
-		+ ", referrerColumns=" + mReferrerColNames
-		+ ", referencedColumns=" + mReferencedColNames
-			;
-    }
-}
-
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/StringUtil.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/StringUtil.java
deleted file mode 100644
index 99f2291..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/StringUtil.java
+++ /dev/null
@@ -1,648 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.internal.util;
-
-import java.beans.Introspector;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-public class StringUtil
-{
-	/**
-	 * Pads a string by adding a sequence of an arbitrary character at the beginning.
-	 * @param padChar The character to be used for padding.
-	 * @param len The desired length after padding.
-	 * @return The padded string. For example if <code>str</code> is "f4e" and <code>padChar</code> is '0' 
-	 * and <code>len</code> is 6 then this method returns "000f4e"
-	 */
-	public static String padLeft(String str, char padChar, int len) {
-		if(str == null) {
-			return null;
-		}
-		int strLen = str.length();
-		if (strLen < len) {
-			StringBuffer buffer = new StringBuffer(len);
-			int count = len-strLen;
-			for (int i = 0; i < count; ++i)
-				buffer.append(padChar);
-			buffer.append(str);
-			str = buffer.toString();
-		}
-		return str;
-	}
-	/**
-	 * Inserts a given character at the beginning and at the end of the specified string.
-	 * For example if the string is <tt>extreme</tt> and the char is <tt>'</tt> then 
-	 * the returned string is <tt>'exterme'</tt>.
-	 */
-	public static String quote(String str, char c) {
-		assert(str != null);
-		StringBuffer buffer = new StringBuffer(str.length()+2);
-		buffer.append(c);
-		buffer.append(str);
-		buffer.append(c);
-		return buffer.toString();
-	}
-	public static String doubleQuote(String str) {
-		return quote(str, '"');
-	}
-	/**
-	 * Removes the first and last single or double quotes (if they exist).
-	 */
-	public static String unquote(String quoted) {
-		if (quoted != null && quoted.length() >= 2){
-			int len = quoted.length();
-			char firstChar = quoted.charAt(0);
-			char lastChar = quoted.charAt(len-1);
-			if (firstChar == lastChar && (firstChar == '\'' || firstChar == '"')) {
-				return quoted.substring(1, len-1);
-			}
-		}
-		return quoted;
-	}
-	/**
-	 * Truncates a string and adds "..." in the result string.
-	 * If the string length is less or equal to the max len then 
-	 * the original string is returned.
-	 */
-	public static String truncate(String s, int maxLen) {
-		if (s == null) {
-			return null;
-		}
-		int len = s.length();
-		if (len > maxLen) {
-			int segmentLen = maxLen/2;
-			s = s.substring(0, segmentLen) + "..." + s.substring(len-segmentLen);
-		}
-		return s;
-	}
-	/**
-	 * Returns a string containing the same character repeated.
-	 */
-	public static String repeat(char c, int count) {
-		StringBuffer buffer = new StringBuffer(count);
-		for (int i = 0; i < count; ++i) {
-			buffer.append(c);
-		}
-		return buffer.toString();
-	}
-	/**
-	 * Returns the given string unless it is emtpty where it returns null.
-	 */
-	public static String nullIfEmpty(String s) {
-		if (s != null && s.length() == 0) {
-			s = null;
-		}
-		return s;
-	}
-	/**
-     * Returns a string containing the same characters as the argument string 
-	 * except that the control characters are replaced by the their hex code.
-	 * For example if the string is "ab\nc" the returned string is "ab{0xA}c".
-	 */
-	public static String getVisibleString(String s) {
-		if (s == null)
-			return null;
-		int len = s.length();
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < len; ++i) {
-			char c = s.charAt(i);
-			if (c <= 0x1F || (c == 0x20 && (i == 0 || i == len-1))) {
-				buffer.append("(0x" + Integer.toHexString((int)c).toUpperCase() + ")");
-			}
-			else buffer.append(c);
-		}
-		return buffer.toString();
-	}
-	/**
-	 * Replaces a portion of string.
-	 * @param str The original string.
-	 * @param offset The offset in the original string where the replace starts
-	 * @param len The replace length the original string
-	 * @param replaceStr The replacement string
-	 */
-	public static String strReplace(String str, int offset, int len, String replaceStr) {
-		StringBuffer buffer = new StringBuffer(str.length()-len+replaceStr.length());
-		buffer.append(str.substring(0, offset));
-		buffer.append(replaceStr);
-		buffer.append(str.substring(offset+len));
-		
-		return buffer.toString();
-	}
-	public static String strReplace(String str, String pattern, String replaceStr)
-	{
-		if(str == null) {
-			return null;
-		}
-		if(pattern == null || pattern.equals("")) {
-			return str;
-		}
-		int index = str.indexOf(pattern);
-		if (index < 0)
-			return str;
-		
-		if (replaceStr == null)
-			replaceStr = "";
-		return str.substring(0, index) + replaceStr + str.substring(index + pattern.length());
-	}
-	public static String strReplaceAll(String str, String pattern, String replaceStr)
-	{
-		if(str == null) {
-			return null;
-		}
-		if (replaceStr == null)
-			replaceStr = "";
-		if(pattern == null || pattern.equals("")) {
-			return str;
-		}
-		int index = str.indexOf(pattern);
-		while (index >= 0) {
-			str = str.substring(0, index) + replaceStr + str.substring(index + pattern.length());
-			index = str.indexOf(pattern, index+replaceStr.length());
-		}
-		return str;
-	}
-	public static String strInsert(String str, int index, String insertStr)
-	{
-		return str.substring(0, index)
-				+ insertStr
-				+ str.substring(index);
-	}
-    /**
-     * Tokenize the specified string into a <code>List</code> of
-     * words.
-     * If the string specified is <code>null</code> or empty, this
-     * method will return <code>null</code>.
-     * 
-     * @param s      The string to tokenize into a <code>List</code>.
-     * @param sep    The separator character to use to split
-     *               the string.
-     * @param trim   If <code>true</code>, run <code>trim</code> on
-     *               each element in the result <code>List</code>.
-     * 
-     * @return A <code>List</code> containing all tokenized words
-     *         in the parameter string.
-     *         Each element is of type <code>String</code>.
-     */
-	public static List<String> strToList(String s, char sep, boolean trim)
-	{
-	//ex: if sep is ';' then s should be someting like "Red;Black"
-		if (s == null || s.length() == 0)
-			return null;
-			
-		ArrayList<String> result = new ArrayList<String>();
-		
-		char delimiters[] = {sep};
-		java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(s, new String(delimiters), true/*returnDelimiters*/);
-		String lastTok=null;
-		while (tokenizer.hasMoreTokens()) {
-			String tok = tokenizer.nextToken();
-			if (tok.length()==1 && tok.charAt(0)==sep){//delimiter
-			    if (tok.equals(lastTok)||lastTok==null/*first element is empty*/)
-			        result.add("");
-			}
-			else{
-			    if (trim)
-			        tok = tok.trim();
-			    result.add(tok);
-			}
-			lastTok=tok;
-		}
-		if(lastTok.length()==1 && lastTok.charAt(0)==sep)//last element is empty
-		    result.add("");
-		result.trimToSize();
-		return result;
-	}
-	public static List<String> strToList(String s, char sep)
-	{
-		return strToList(s, sep, false/*trim*/);
-	}
-	
-	@SuppressWarnings("unchecked")
-	public static String listToStr(Collection a, char sep)
-	{
-		return listToStr(a, String.valueOf(sep));
-	}
-	
-	public static String listToStr(Collection<Object> a, String sep) {
-		//reverse of strToList
-		if (a == null)
-			return null;
-		int count = a.size();
-		if (count == 0)
-			return null;
-		
-		StringBuffer buffer = null;
-		for (Iterator<Object> iter = a.iterator(); iter.hasNext(); )
-		{
-			Object obj = iter.next();
-			if (obj == null)
-				continue;
-			
-			if (buffer == null)
-				buffer = new StringBuffer();
-			else
-				buffer.append(sep);
-			if (obj instanceof String)
-				buffer.append((String)obj);
-			else
-				buffer.append(obj);
-		}
-		return (buffer != null) ? buffer.toString() : null;
-	}
-	/**
-	 * Convert the text of a String into a Map of Strings, where each
-	 * key and value in the Map is of type String.
-	 * 
-	 * @param s      The string to be converted to a Map.
-	 * @param sep1   The separator between keys and their
-	 *               values.
-	 * @param sep2   The separator between key-value pairs.
-	 * 
-	 * @return The string converted to a Map.
-	 */
-	public static java.util.Map<String, String> strToMap(String s, char sep1, char sep2)
-	{
-		return strToMap(s, sep1, sep2, false/*lowercaseKeys*/);
-	}
-	/**
-	 * Convert the text of a String into a Map of Strings, where each
-	 * key and value in the Map is of type String.
-	 * This form also allows you to specify that all keys will be
-	 * converted to lower-case before adding to the Map.
-	 * 
-	 * @param s      The string to be converted to a Map.
-	 * @param sep1   The separator between keys and their
-	 *               values.
-	 * @param sep2   The separator between key-value pairs.
-	 * @param lowercaseKeys
-	 *               Whether to convert keys to lower case
-	 *               before adding to the Map.
-	 * 
-	 * @return The string converted to a Map.
-	 */
-	public static java.util.Map<String, String> strToMap(String s, char sep1, char sep2, boolean lowercaseKeys)
-	{
-		//ex: if sep1 is ':' and sep2 is ',' then s should be something like "color:Red,size:XL"
-		
-		if (s == null || s.length() == 0) {
-			return Collections.emptyMap();
-		}
-			
-		java.util.List<String> a = strToList(s, sep2);
-		if (a == null) {
-			return Collections.emptyMap();
-		}
-		
-		java.util.HashMap<String, String> hm = new java.util.HashMap<String, String>();
-		int count = a.size();
-		for (int i = 0; i < count; ++i)
-		{
-			String s2 = (String)a.get(i); //ex: color:Red
-			int pos = s2.indexOf(sep1);
-			if (pos >= 0)
-			{
-				String name = s2.substring(0, pos);
-				String val = s2.substring(pos+1);
-				if (lowercaseKeys)
-					name = name.toLowerCase();
-				hm.put(name, val);
-			}
-		}
-		return hm;
-	}
-	
-	@SuppressWarnings("unchecked")
-	public static String mapToStr(java.util.Map hm, char sep1, char sep2)
-	//reverse of strToMap
-	{
-		if (hm == null || hm.isEmpty())
-			return null;
-		
-		StringBuffer buffer = new StringBuffer();
-		java.util.Iterator<java.util.Map.Entry> iter = hm.entrySet().iterator();
-		while (iter.hasNext()) {
-			java.util.Map.Entry entry = (java.util.Map.Entry)iter.next();
-			buffer.append(entry.getKey());
-			buffer.append(sep1);
-			buffer.append(entry.getValue());
-			if (iter.hasNext()) {
-				buffer.append(sep2);
-			}
-		}
-		return buffer.toString();
-	}
-    /**
-     * Perform a <em>case insensitive</em> comparison between
-     * the string representations of two objects.
-     * 
-     * @param obj1   The first object to compare.
-     * @param obj2   The second object to compare.
-     * 
-     * @return <code>true</code> if both objects have the
-     *         same case-insensitive string representation.
-     */
-	public static boolean compareAsStrings(Object obj1, Object obj2)
-	{	
-		if (obj1 == null || obj2 == null)
-			return obj1 == obj2;
-		
-		String s1, s2;
-		if (obj1 instanceof String) {
-			s1 = (String)obj1;
-        } else {
-			s1 = obj1.toString();
-        }
-		if (obj2 instanceof String) {
-			s2 = (String)obj2;
-        }
-        else {
-			s2 = obj2.toString();
-        }
-		
-		return s1.equalsIgnoreCase(s2);
-	}
-	/**
-	 * Tests whether a string starts with any of a list of strings.
-	 */
-	public static boolean startsWithAny(String s, List<String> prefixes) {
-		int count = prefixes.size();
-		for (int i = 0; i < count; ++i) {
-			if (s.startsWith((String)prefixes.get(i))) {
-				return true;
-			}
-		}
-		return false;
-	}
-	/**
-	 * Returns the argument string with the first char upper-case.
-	 */
-	public static String initUpper(String str) {
-		if (str == null || str.length() == 0) {
-			return str;
-		}
-		return Character.toUpperCase(str.charAt(0)) + str.substring(1);
-	}
-	/**
-	 * Returns the argument string with the first char lower-case.
-	 */
-	public static String initLower(String str) {
-		if (str == null || str.length() == 0) {
-			return str;
-		}
-		return Character.toLowerCase(str.charAt(0)) + str.substring(1);
-	}
-	/**
-	 * Tests whether all characters in the given string are upper
-	 * case.
-	 */
-	public static boolean isUpperCase(String s) {
-		return s.toUpperCase().equals(s);
-	}
-	/**
-	 * Returns the first non-white char index starting from the 
-	 * specified index.
-	 */
-	public static int skipWhiteSpaces(String str, int index) {
-		int len = str.length();
-		while (index < len) {
-			if (!Character.isWhitespace(str.charAt(index))) {
-				break;
-			}
-			++index;
-		}
-		return index;
-	}
-	/**
-	 * Collapses consecutive white spaces into one space.
-	 */
-	public static String collapseWhiteSpaces(String str){
-	    String result=null;
-	    if (str!=null){
-	        StringBuffer buffer=new StringBuffer();
-	        boolean isInWhiteSpace=false;
-	        for (int i=0;i<str.length();i++){
-	            char c=str.charAt(i);
-	            if (Character.isWhitespace(c)){
-	                isInWhiteSpace=true;
-	            }
-	            else {
-	                if (isInWhiteSpace)
-	                    buffer.append(" ");
-	                isInWhiteSpace=false;   
-	                buffer.append(c);
-	            }
-	        }
-	        result=buffer.toString();
-	    }
-	    return result;
-	}
-	
-	/**
-	 * Utility methods used to convert DB object names to  
-	 * appropriate Java type and field name 
-	 */
-	public static String pluralise(String name) {
-		String result = name;
-		if (name.length() == 1) {
-			result += 's';
-		} else if (!seemsPluralised(name)) {
-			String lower = name.toLowerCase();
-			if (!lower.endsWith("data")) { //orderData --> orderDatas is dumb
-				char secondLast = lower.charAt(name.length() - 2);
-				if (!isVowel(secondLast) && lower.endsWith("y")) {
-					// city, body etc --> cities, bodies
-					result = name.substring(0, name.length() - 1) + "ies";
-				} else if (lower.endsWith("ch") || lower.endsWith("s")) {
-					// switch --> switches  or bus --> buses
-					result = name + "es";
-				} else {
-					result = name + "s";
-				}
-			}
-		}
-		return result;
-	}
-
-	public static String singularise(String name) {
-		String result = name;
-		if (seemsPluralised(name)) {
-			String lower = name.toLowerCase();
-			if (lower.endsWith("ies")) {
-				// cities --> city
-				result = name.substring(0, name.length() - 3) + "y";
-			} else if (lower.endsWith("ches") || lower.endsWith("ses")) {
-				// switches --> switch or buses --> bus
-				result = name.substring(0, name.length() - 2);
-			} else if (lower.endsWith("s")) {
-				// customers --> customer
-				result = name.substring(0, name.length() - 1);
-			}
-		}
-		return result;
-	}
-	private final static boolean isVowel(char c) {
-		boolean vowel = false;
-		vowel |= c == 'a';
-		vowel |= c == 'e';
-		vowel |= c == 'i';
-		vowel |= c == 'o';
-		vowel |= c == 'u';
-		vowel |= c == 'y';
-		return vowel;
-	}
-	private static boolean seemsPluralised(String name) {
-		name = name.toLowerCase();
-		boolean pluralised = false;
-		pluralised |= name.endsWith("es");
-		pluralised |= name.endsWith("s");
-		pluralised &= !(name.endsWith("ss") || name.endsWith("us"));
-		return pluralised;
-	}
-	
-	/**
-	 * Returns the package name of a class name.
-	 * For example if given <code>oracle.util.ObjectUtil</code> it would return 
-	 * <code>oracle.util</code>. If the class is not in a package then null is returned.
-	 */
-	public static String getPackageName(String className) {
-		if(className == null) {
-			return null;
-		}
-		int lastDotIndex = className.lastIndexOf('.');
-		if (lastDotIndex < 0)
-			return null;
-		return className.substring(0, lastDotIndex);
-	}
-	/**
-	 * Returns the class name given a full class name.
-	 * For example if given <code>oracle.util.ObjectUtil</code> it would return 
-	 * <code>ObjectUtil</code>
-	 */
-	public static String getClassName(String fullClassName) {
-		if(fullClassName == null) {
-			return null;
-		}
-		int lastDotIndex = fullClassName.lastIndexOf('.');
-		if (lastDotIndex < 0)
-			return fullClassName;
-		return fullClassName.substring(lastDotIndex+1);
-	}
-
-	
-	/**
-	 * Converts a database column name to a Java variable name (<em>first letter
-	 * not capitalized</em>).
-	 */
-	public static String columnNameToVarName(String columnName) {
-		return dbNameToVarName(columnName);
-	}
-	/**
-	 * Converts a database table name to a Java variable name (<em>first letter
-	 * not capitalized</em>).
-	 */
-	public static String tableNameToVarName(String tableName) {
-		return dbNameToVarName(tableName);
-	}
-	/**
-	 * Converts a database name (table or column) to a java name (<em>first letter
-	 * not capitalized</em>). employee_name or employee-name -> employeeName
-	 */
-	private static String dbNameToVarName(String s) {
-		if ("".equals(s)) {
-			return s;
-		}
-		StringBuffer result = new StringBuffer();
-
-		boolean capitalize = true;
-		boolean lastCapital = false;
-		boolean lastDecapitalized = false;
-		String p = null;
-		for (int i = 0; i < s.length(); i++) {
-			String c = s.substring(i, i + 1);
-			if ("_".equals(c) || " ".equals(c)) {
-				capitalize = true;
-				continue;
-			}
-
-			if (c.toUpperCase().equals(c)) {
-				if (lastDecapitalized && !lastCapital) {
-					capitalize = true;
-				}
-				lastCapital = true;
-			} else {
-				lastCapital = false;
-			}
-
-			if (capitalize) {
-				if (p == null || !p.equals("_")) {
-					result.append(c.toUpperCase());
-					capitalize = false;
-					p = c;
-				} else {
-					result.append(c.toLowerCase());
-					capitalize = false;
-					p = c;
-				}
-			} else {
-				result.append(c.toLowerCase());
-				lastDecapitalized = true;
-				p = c;
-			}
-
-		}
-		/*this was using StringUtil.initLower. Changed to Introspector.decapitalize so that 
-		 * it returns the correct bean property name when called from columnNameToVarName.
-		 * This is necessary because otherwise URL would be uRL which would cause 
-		 * an "The property uRL is undefined for the type xx" error because 
-		 * Introspector.getBeanInfo (used by JavaTypeIntrospector) returns 
-		 * the property name as URL.*/
-		String resultStr = Introspector.decapitalize(result.toString());
-		if (resultStr.equals("class")) {
-			// "class" is illegal becauseOf Object.getClass() clash
-			resultStr = "clazz";
-		}
-		return resultStr;
-	}
-	
-	/**
-	 * Compare two objects. If both String, ignore case
-	 * @param o1
-	 * @param o2
-	 * @param ignoreCaseIfStr
-	 * @return
-	 */
-	public static boolean equalObjects(Object o1, Object o2, boolean ignoreCaseIfStr)
-	{
-		if (o1 == o2) {
-			return true;
-		}
-	    boolean result;
-	    if (o1 == null || o2 == null) {
-	    	return false; //we already checked o1 == o2 above
-	    }
-	    if (ignoreCaseIfStr && o1 instanceof String && o2 instanceof String)
-	        result = ((String)o1).equalsIgnoreCase((String)o2);
-	    else
-	        result = o1.equals(o2);
-	
-	    return result;
-	}
-
-	public static boolean equalObjects(Object o1, Object o2)
-	{
-	    return equalObjects(o1, o2, false/*ignoreCaseIfStr*/);
-	}
-	
-}
-
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/UrlUtil.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/UrlUtil.java
deleted file mode 100644
index db4f13b..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/util/UrlUtil.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jpt.jpa.gen.internal.util;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.osgi.framework.Bundle;
-
-/**
- * Collections of utility methods handling URLs.
- * 
- */
-public class UrlUtil
-{
-	/**
-	 * The <code>file</code> string indicating a url file protocol.
-	 */
-	public static final String FILE_PROTOCOL = "file";
-	/**
-	 * The <code>file</code> string indicating a url http protocol.
-	 */
-	public static final String HTTP_PROTOCOL = "http";
-	/**
-	 * The <code>file</code> string indicating a url http protocol.
-	 */
-	public static final String HTTPS_PROTOCOL = "https";
-	/**
-	 * The <code>file</code> string indicating a url file protocol.
-	 */
-	public static final String JAR_PROTOCOL = "jar";
-
-	
-	/**
-	 * Returns true if the specified url is to a file, i.e its protocol is <code>file</code>.
-	 */
-	public static boolean isFileUrl(URL url) {
-		return url != null && FILE_PROTOCOL.equals(url.getProtocol());
-	}
-	/**
-	 * Returns true if the specified url is to a jar, i.e its protocol is <code>jar</code>.
-	 * For example <code>jar:file:/C:/testapps/example/WEB-INF/lib/struts.jar!/META-INF/tlds/struts-bean.tld</code>.
-	 */
-	public static boolean isJarUrl(URL url) {
-		return url != null && JAR_PROTOCOL.equals(url.getProtocol());
-	}
-	/**
-	 * Returns true if the specified url protocol is http.
-	 */
-	public static boolean isHttpUrl(URL url) {
-		String protocol =  url.getProtocol();
-		return url != null && (HTTP_PROTOCOL.equals(protocol) || HTTPS_PROTOCOL.equals(protocol));
-	}
-	/**
-	 * Returns the <code>File</code> corresponding to a url, or null if the url 
-	 * protocol is not file.
-	 */
-	public static java.io.File getUrlFile(URL url) {
-		if (isFileUrl(url) && !isJarUrl( url ) ){
-			File ret = new java.io.File(url.getFile());
-			return ret ;
-		}
-		return null;
- 	}
-
-	
-	/**
-	 * Returns the url to a jar file given a url to a file inside 
-	 * the jar.
-	 * For example if given 
-	 * <code>jar:file:/C:/testapps/example/WEB-INF/lib/struts.jar!/META-INF/tlds/struts-bean.tld</code>
-	 * this method returns <code>file:/C:/testapps/example/WEB-INF/lib/struts.jar</code>.
-	 * 
-	 * <p>Returns null if the given url is not recognized as a url to a file 
-	 * inside a jar.
-	 */
-	public static URL getJarFileUrl(URL url) {
-		if (!isJarUrl(url)) {
-			return null;
-		}
-		String file = url.getFile(); //file:/C:/testapps/example/WEB-INF/lib/struts.jar!/META-INF/tlds/struts-bean.tld
-		int index = file.indexOf('!');
-		if (index < 0) {
-			return null;
-		}
-		String jarFileUrlStr = file.substring(0, index);
-		try {
-			return new URL(jarFileUrlStr);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-	
-	public static boolean isRemote(String url){
-		return url.startsWith("http:")||url.startsWith("https:")||url.startsWith("www.");
-	}
-	
-	public static File getTemplateFolder(String plugId , String strPath ){
-		Bundle bundle = Platform.getBundle( plugId );
-		Path path = new Path( strPath );
-		URL url = FileLocator.find(bundle, path, null);
-		try {
-			URL templUrl;
-			templUrl = FileLocator.resolve(url);
-			File templDir = UrlUtil.getUrlFile(templUrl);
-			return templDir ;
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/column.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/column.vm
deleted file mode 100644
index b8b19a4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/column.vm
+++ /dev/null
@@ -1,54 +0,0 @@
-##included template. Generates the @Column annotation.

-##Assumes that the context has a "column" and a "table" object

-##generate annotation only the parameters for the column NOT default

-##and the generateDLLAnnotation property is not set on the table

-###------------------------------------------------

-#macro( append $members $parameters )

-#if( $members == "")

-#set( $members = $parameters )

-#else

-#set( $members = "$members, $parameters" ) 

-#end	

-#end

-###------------------------------------------------

-#if ( $column.dataTypeLOB)

-    @Lob()

-#end

-#if ( $column.needMapTemporalType)

-    @Temporal( TemporalType.$column.temporalType)

-#end

-#set ($members = "")

-#if ( !$column.default || $customizer.generateDDLAnnotations )

-#if ( !${column.defaultname} )

-#append($members "name=$customizer.convertToJavaStringLiteral($column.name)" )

-#end

-#if (!$column.insertable)

-#append(${members} "insertable=false")

-#end

-#if (!$column.updateable)

-#append(${members} "updatable=false")

-#end

-#end

-#if( $customizer.generateDDLAnnotations )

-#if ($column.unique)

-#append($members  "unique=true")

-#end

-#if (!$column.nullable)

-#append($members  "nullable=false")

-#end

-#if ($column.size > 0)

-#if ($column.numeric)

-#append($members "precision=$column.size")

-#if ($column.decimalDigits != 0 && $column.decimalDigits != -1)

-#append($members "scale=$column.decimalDigits")

-#end

-#else

-#if ( !$column.dataTypeLOB)

-#append($members "length=$column.size")

-#end

-#end

-#end

-#end

-#if( $members !="" )

-	@Column($members)

-#end

diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/join.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/join.vm
deleted file mode 100644
index a98f873..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/join.vm
+++ /dev/null
@@ -1,81 +0,0 @@
-##included template. Generates the @JoinTable, @JoinColumn or @JoinColumns annotation.

-##Assumes that the context has a "role" object representing the generated AssociationRole

-##

-##macro joinColumn uses $column, $referencedColumn

-#macro (joinColumn $column $referencedColumn)

-#set ($members = "name=$customizer.convertToJavaStringLiteral($column.joinColumnName)")

-#if( !$referencedColumn.primaryKey || $referencedColumn.partOfCompositePrimaryKey )

-#set ($members = "$members, referencedColumnName=$customizer.convertToJavaStringLiteral($referencedColumn.name)")

-#end

-#if( $customizer.generateDDLAnnotations )

-#if ($column.unique && !$column.primaryKey)

-#set ($members = "$members, unique=true")

-#end

-#if (!$column.nullable)

-#set ($members = "$members, nullable=false")

-#end

-#end

-#if ($customizer.generateDDLAnnotations && !$role.association.joinTable && !$role.referrerTable.isColumnUpdateInsert($role, $column))

-#set ($members = "$members, insertable=false, updatable=false")

-#end

-@JoinColumn($members)#end

-##

-##

-##

-#if ($role.association.joinTable)

-#set ($joinTable = $role.association.joinTable)

-	@JoinTable(

-		name=$customizer.convertToJavaStringLiteral(${joinTable.joinTableAnnotationName})

-		, joinColumns={

-#foreach ($column in $role.referrerColumns)

-#set ($referencedColumn = $role.getReferencedColumn(${column.name}))

-##$referencedColumn is the column in the join table

-			#joinColumn($referencedColumn $column)

-#if ($velocityCount < $role.referrerColumns.size() )

-,

-#end			

-#end

-

-			}

-		, inverseJoinColumns={

-#foreach ($column in $role.referencedColumns)

-#set ($referencedColumn = $role.getReferrerColumn(${column.name})

-)

-##$referencedColumn is the column in the join table

-			#joinColumn($referencedColumn $column)

-#if ($velocityCount < $role.referencedColumns.size() )

-,

-#end			

-#end

-

-			}

-		)

-#else

-#if ($role.referrerColumns.size() == 1)

-#set ($column = $role.referrerColumns.get(0))

-#set ($referencedColumn = $role.getReferencedColumn(${column.name}))

-#set ($referencedTableName = $customizer.convertToJavaStringLiteral($role.getReferencedTable().getName()) )

-#set( $referencedTablePkName = $customizer.convertToJavaStringLiteral($role.getReferencedTable().getPrimaryKeyColumn().name) )

-#set( $computedJoinColumnName = $customizer.convertToJavaStringLiteral("${role.propertyName}_${referencedTablePkName}") )

-#set( $isDefaultJoinColumnName =  $column.isDefaultJoinColumnName( ${role.propertyName}) )

-#if( ! $isDefaultJoinColumnName )

-	#joinColumn($column $referencedColumn)

-

-#elseif( $customizer.generateDDLAnnotations )

-	#joinColumn($column $referencedColumn)

-

-#end

-#else

-	@JoinColumns({

-#foreach ($column in $role.referrerColumns)

-#set ($referencedColumn = $role.getReferencedColumn(${column.name}))

-		#joinColumn($column $referencedColumn)

-#if ($velocityCount < $role.referrerColumns.size() )

-,

-#else

-

-#end

-#end		

-		})

-#end

-#end
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm
deleted file mode 100644
index 1a45857..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm
+++ /dev/null
@@ -1,134 +0,0 @@
-#if ($table.package != "")

-package ${table.package};

-#end

-

-import java.io.Serializable;

-import javax.persistence.*;

-${table.importStatements}

-

-/**

- * The persistent class for the ${table.name} database table.

- * 

- */

-@Entity

-#if( !${table.defaultname} || $customizer.generateDDLAnnotations)

-@Table(name=$customizer.convertToJavaStringLiteral(${table.name}))

-#end

-public class ${table.className} ${table.generateExtendsImplements()} {

-	private static final long serialVersionUID = 1L;

-#####

-##### fields

-#####

-#if ($table.compositeKey)

-#if ($table.access == "field")

-

-	@EmbeddedId

-#end

-	private ${table.compositeKeyClassName} ${table.compositeKeyPropertyName};

-#end

-#foreach ($column in $table.getSimpleColumns(true, true, false))

-#if ($table.access == "field")

-

-#parse("mappingKind.vm")

-#parse("column.vm")

-#end

-	${column.fieldScope} ${column.simplePropertyType} ${column.propertyName};

-#end

-#foreach ($role in $table.associationRoles)

-#####

-##### field annotations

-#####

-#if ($table.access == "field")

-

-	//${role.description}

-#if ($role.cardinality == "many-to-one")

-#parse("manyToOne.vm")

-#elseif ($role.cardinality == "many-to-many")

-#parse("manyToMany.vm")

-#elseif ($role.cardinality == "one-to-many")

-#parse("oneToMany.vm")

-#elseif ($role.cardinality == "one-to-one")

-#parse("oneToOne.vm")

-#end

-#end

-#####

-##### field declaration

-#####

-#if ($role.cardinality == "many-to-one" || $role.cardinality == "one-to-one")

-#set ($propertyType = ${role.referencedTable.className})

-#elseif ($role.cardinality == "many-to-many" || $role.cardinality == "one-to-many")

-#set ($propertyType = "${role.referencedTable.simpleCollectionType}<${role.referencedTable.className}>")

-#end

-	private $propertyType $role.propertyName;

-#end

-

-    public ${table.className}() {

-    }

-

-#####

-##### simple properties getters and setters

-#####

-#if ($table.compositeKey)

-#if ($table.access == "property")

-

-	@EmbeddedId

-#end

-	public $table.compositeKeyClassName $customizer.propertyGetter($table.compositeKeyPropertyName)() {

-		return this.${table.compositeKeyPropertyName};

-	}

-

-	public void $customizer.propertySetter($table.compositeKeyPropertyName)($table.compositeKeyClassName $table.compositeKeyPropertyName) {

-		this.${table.compositeKeyPropertyName} = ${table.compositeKeyPropertyName};

-	}

-	

-#end

-#foreach ($column in $table.getSimpleColumns(true, true, false))

-#if ($table.access == "property")

-

-#parse("mappingKind.vm")

-#parse("column.vm")

-#end

-	$column.propertyGetScope $column.simplePropertyType $customizer.propertyGetter($column.propertyName)() {

-		return this.${column.propertyName};

-	}

-

-	$column.propertySetScope void $customizer.propertySetter($column.propertyName)($column.simplePropertyType $column.propertyName) {

-		this.${column.propertyName} = ${column.propertyName};

-	}

-

-#end

-#####

-##### associations getters and setters

-#####

-#foreach ($role in $table.associationRoles)

-#if ($table.access == "property")

-

-	//${role.description}

-#if ($role.cardinality == "many-to-one")

-#parse("manyToOne.vm")

-#elseif ($role.cardinality == "many-to-many")

-#parse("manyToMany.vm")

-#elseif ($role.cardinality == "one-to-many")

-#parse("oneToMany.vm")

-#elseif ($role.cardinality == "one-to-one")

-#parse("oneToOne.vm")

-#end

-#end

-##

-#if ($role.cardinality == "many-to-one" || $role.cardinality == "one-to-one")

-#set ($propertyType = $role.referencedTable.className)

-#elseif ($role.cardinality == "many-to-many" || $role.cardinality == "one-to-many")

-#set ($propertyType = "${role.referencedTable.simpleCollectionType}<${role.referencedTable.className}>")

-#end

-	public $propertyType $customizer.propertyGetter($role.propertyName)() {

-		return this.${role.propertyName};

-	}

-

-	public void ${customizer.propertySetter($role.propertyName)}($propertyType $role.propertyName) {

-		this.${role.propertyName} = $role.propertyName;

-	}

-	

-##

-#end

-##

-}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/manyToMany.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/manyToMany.vm
deleted file mode 100644
index aed48c6..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/manyToMany.vm
+++ /dev/null
@@ -1,26 +0,0 @@
-##included template. Generates the @ManyToMany annotation.

-##Assumes that the context has a "role" object representing the generated AssociationRole

-##

-#if ($role.association.bidirectional && !$role.isReferrerRole())##the owning side (either side for many-to-many)

-#set ($members = $customizer.appendAnnotation("", "mappedBy", $role.oppositeRole.propertyName, true))

-#set ($members = $customizer.appendAnnotation($members, "cascade", $customizer.genCascades($role), false))

-#if($customizer.genFetch($role.referrerTable)!="" && $customizer.genFetch($role.referrerTable)!="FetchType.LAZY")

-#set ($members = $customizer.appendAnnotation($members, "fetch", $customizer.genFetch($role.referrerTable), false))

-#end

-#if($members!="")

-	@ManyToMany($members)

-#else	

-    @ManyToMany

-#end    

-#else

-#set ($members = $customizer.appendAnnotation("", "cascade", $customizer.genCascades($role), false))

-#if($customizer.genFetch($role.referrerTable)!="" && $customizer.genFetch($role.referrerTable)!="FetchType.LAZY")

-#set ($members = $customizer.appendAnnotation($members, "fetch", $customizer.genFetch($role.referrerTable), false))

-#end

-#if($members!="")

-	@ManyToMany($members)

-#else	

-    @ManyToMany

-#end    

-#parse("join.vm")

-#end
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/manyToOne.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/manyToOne.vm
deleted file mode 100644
index e4b1608..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/manyToOne.vm
+++ /dev/null
@@ -1,13 +0,0 @@
-##included template. Generates the @ManyToOne annotation.

-##Assumes that the context has a "role" object representing the generated AssociationRole

-##

-#set ($members = $customizer.appendAnnotation("", "cascade", $customizer.genCascades($role), false))

-#if( $customizer.genFetch($role.referrerTable)!= "" && $customizer.genFetch($role.referrerTable)!= "FetchType.EAGER")

-#set ($members = $customizer.appendAnnotation($members, "fetch", $customizer.genFetch($role.referrerTable), false))

-#end

-#if($members!="")

-	@ManyToOne($members)

-#else

-    @ManyToOne

-#end

-#parse("join.vm")
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/mappingKind.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/mappingKind.vm
deleted file mode 100644
index c43f187..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/mappingKind.vm
+++ /dev/null
@@ -1,34 +0,0 @@
-##included template. Generates the @Basic, @Id, @Version annotations.

-##Assumes that the context has a "column" object

-##

-#set ($mappingKind = $column.mappingKind)

-#if ($mappingKind == "id")

-	@Id

-#set ($idGenerator = $table.idGenerator)

-#if ($idGenerator == "auto")

-#set ($generationType = "GenerationType.AUTO")

-#elseif ($idGenerator == "identity")

-#set ($generationType = "GenerationType.IDENTITY")

-#elseif ($idGenerator == "sequence")

-#set ($generationType = "GenerationType.SEQUENCE")

-#elseif ($idGenerator == "table")

-#set ($generationType = "GenerationType.TABLE")

-#else

-#set ($generationType = "")

-#end

-#if ($idGenerator == "sequence" )

-#set ($generatorName = "${table.name.toUpperCase()}_${column.propertyName.toUpperCase()}_GENERATOR")

-#if( $table.formattedSequence != "" )

-	@SequenceGenerator(name="$generatorName", sequenceName="$table.formattedSequence")

-#else

-	@SequenceGenerator(name="$generatorName" )

-#end	

-	@GeneratedValue(strategy=$generationType, generator="$generatorName")

-#elseif ($generationType != "")

-	@GeneratedValue(strategy=$generationType)

-#end      

-#elseif ($mappingKind == "version")

-	@Version

-#else

-##DEFAULT is @Basic, no need to generate

-#end
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToMany.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToMany.vm
deleted file mode 100644
index 647bb3c..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToMany.vm
+++ /dev/null
@@ -1,18 +0,0 @@
-##included template. Generates the @OneToMany annotation.

-##Assumes that the context has a "role" object representing the generated AssociationRole

-##

-#if ($role.association.bidirectional)

-#set ($members = $customizer.appendAnnotation("", "mappedBy", $role.oppositeRole.propertyName, true))

-#set ($members = $customizer.appendAnnotation($members, "cascade", $customizer.genCascades($role), false))

-#if($customizer.genFetch($role.referrerTable)!="" && $customizer.genFetch($role.referrerTable) !="FetchType.LAZY")

-#set ($members = $customizer.appendAnnotation($members, "fetch", $customizer.genFetch($role.referrerTable), false))

-#end

-	@OneToMany($members)

-#else

-#set ($members = $customizer.appendAnnotation("", "cascade", $customizer.genCascades($role), false))

-#if($customizer.genFetch($role.referrerTable)!="" && $customizer.genFetch($role.referrerTable) !="FetchType.LAZY")

-#set ($members = $customizer.appendAnnotation($members, "fetch", $customizer.genFetch($role.referrerTable), false))

-#end

-	@OneToMany($members)

-#parse("join.vm")

-#end
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToOne.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToOne.vm
deleted file mode 100644
index 39849b4..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/oneToOne.vm
+++ /dev/null
@@ -1,22 +0,0 @@
-##included template. Generates the @OneToOne annotation.

-##Assumes that the context has a "role" object representing the generated AssociationRole

-##

-#if ($role.association.bidirectional && !$role.isReferrerRole())##the owning side (either side for one-to-one)

-#set ($members = $customizer.appendAnnotation("", "mappedBy", $role.oppositeRole.propertyName, true))

-#set ($members = $customizer.appendAnnotation($members, "cascade", $customizer.genCascades($role), false))

-#if( $customizer.genFetch($role.referrerTable)!="" && $customizer.genFetch($role.referrerTable)!="FetchType.EAGER" )

-#set ($members = $customizer.appendAnnotation($members, "fetch", $customizer.genFetch($role.referrerTable), false))

-#end

-	@OneToOne($members)

-#else

-#set ($members = $customizer.appendAnnotation("", "cascade", $customizer.genCascades($role), false))

-#if( $customizer.genFetch($role.referrerTable)!="" && $customizer.genFetch($role.referrerTable)!="FetchType.EAGER" )

-#set ($members = $customizer.appendAnnotation($members, "fetch", $customizer.genFetch($role.referrerTable), false))

-#end

-#if($members!="")

-	@OneToOne($members)

-#else

-	@OneToOne

-#end

-#parse("join.vm")

-#end
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/pk.java.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/pk.java.vm
deleted file mode 100644
index 4874f68..0000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/pk.java.vm
+++ /dev/null
@@ -1,66 +0,0 @@
-#if ($table.package != "")

-package ${table.package};

-#end

-

-import java.io.Serializable;

-import javax.persistence.*;

-

-/**

- * The primary key class for the ${table.name} database table.

- * 

- */

-@Embeddable

-public class ${table.compositeKeyClassName} implements Serializable {

-	//default serial version id, required for serializable classes.

-	private static final long serialVersionUID = 1L;

-#####

-##### fields

-#####

-#foreach ($column in $table.primaryKeyColumns)

-#if ($table.access == "field")

-

-#parse("column.vm")

-#end

-	${column.fieldScope} ${column.propertyType} ${column.propertyName};

-#end

-

-    public ${table.compositeKeyClassName}() {

-    }

-#####

-##### simple properties getters and setters

-#####

-#foreach ($column in $table.primaryKeyColumns)

-#if ($table.access == "property")

-

-#parse("column.vm")

-#end

-	$column.propertyGetScope $column.propertyType $customizer.propertyGetter($column.propertyName)() {

-		return this.${column.propertyName};

-	}

-	$column.propertySetScope void $customizer.propertySetter($column.propertyName)($column.propertyType $column.propertyName) {

-		this.${column.propertyName} = ${column.propertyName};

-	}

-#end

-##

-## equals/hashCode

-

-	public boolean equals(Object other) {

-		if (this == other) {

-			return true;

-		}

-		if (!(other instanceof ${table.compositeKeyClassName})) {

-			return false;

-		}

-		${table.compositeKeyClassName} castOther = (${table.compositeKeyClassName})other;

-		return 

-			${table.primaryKeyEqualsClause}

-

-    }

-    

-	public int hashCode() {

-		final int prime = 31;

-		int hash = 17;

-		${table.primaryKeyHashCodeClause}

-		return hash;

-    }

-}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/.project b/jpa/plugins/org.eclipse.jpt.ui/.project
deleted file mode 100644
index 254a17a..0000000
--- a/jpa/plugins/org.eclipse.jpt.ui/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.ui</name>
-	<comment>renamed to org.eclipse.jpt.jpa.ui</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.utility/.project b/jpa/plugins/org.eclipse.jpt.utility/.project
deleted file mode 100644
index 417751d..0000000
--- a/jpa/plugins/org.eclipse.jpt.utility/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.utility</name>
-	<comment>renamed to org.eclipse.jpt.common.utility and moved to common component</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.core.tests.extension.resource/.project b/jpa/tests/org.eclipse.jpt.core.tests.extension.resource/.project
deleted file mode 100644
index 5eca35f..0000000
--- a/jpa/tests/org.eclipse.jpt.core.tests.extension.resource/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.core.tests.extension.resource</name>
-	<comment>renamed to org.eclipse.jpt.jpa.core.tests.extension.resource</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/.project b/jpa/tests/org.eclipse.jpt.core.tests/.project
deleted file mode 100644
index 5652fd4..0000000
--- a/jpa/tests/org.eclipse.jpt.core.tests/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.core.tests</name>
-	<comment>renamed to rg.eclipse.jpt.jpa.core.tests</comment>
-</projectDescription>
diff --git a/jpa/tests/org.eclipse.jpt.db.tests/.project b/jpa/tests/org.eclipse.jpt.db.tests/.project
deleted file mode 100644
index a1ffb1d..0000000
--- a/jpa/tests/org.eclipse.jpt.db.tests/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.db.tests</name>
-	<comment>renamed to org.eclipse.jpt.jpa.db.tests</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/.project b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/.project
deleted file mode 100644
index baaef71..0000000
--- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.eclipselink.core.tests</name>
-	<comment>renamed to org.eclipse.jpt.jpa.eclipselink.core.tests</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.gen.tests/.project b/jpa/tests/org.eclipse.jpt.gen.tests/.project
deleted file mode 100644
index 633d887..0000000
--- a/jpa/tests/org.eclipse.jpt.gen.tests/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.gen.tests</name>
-	<comment>renamed to org.eclipse.jpt.jpa.gen.tests</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.classpath b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.classpath
deleted file mode 100644
index fe3e03b..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jpa/ui/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jpa/core/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.cvsignore b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.project b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.project
deleted file mode 100644
index b7783a5..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.core.tests.extension.resource</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.settings/org.eclipse.jdt.core.prefs b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 839a8ce..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:08:34 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/META-INF/MANIFEST.MF b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/META-INF/MANIFEST.MF
deleted file mode 100644
index cb9a741..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.core.tests.extension.resource;singleton:=true
-Bundle-Version: 3.1.0.qualifier
-Bundle-Activator: org.eclipse.jpt.jpa.core.tests.extension.resource.ExtensionTestPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.jdt.core,
- org.eclipse.wst.common.project.facet.core,
- org.eclipse.wst.validation,
- org.eclipse.jpt.common.utility,
- org.eclipse.jpt.common.core,
- org.eclipse.jpt.jpa.core,
- org.eclipse.jpt.jpa.gen,
- org.eclipse.jpt.jpa.db,
- org.eclipse.persistence.jpa.jpql,
- org.eclipse.swt,
- org.eclipse.jpt.common.ui,
- org.eclipse.jpt.jpa.ui
-Export-Package: org.eclipse.jpt.jpa.core.tests.extension.resource;x-internal:=true
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/about.html b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/build.properties b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/build.properties
deleted file mode 100644
index 6a1163b..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html
-jars.compile.order = .
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/plugin.properties b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/plugin.properties
deleted file mode 100644
index 0558789..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 2009 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Dali Java Persistence Tools - Extension Tests
-providerName = Eclipse Web Tools Platform
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/plugin.xml b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/plugin.xml
deleted file mode 100644
index 747a8d1..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/plugin.xml
+++ /dev/null
Binary files differ
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/ExtensionTestPlugin.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/ExtensionTestPlugin.java
deleted file mode 100644
index ae5cd6e..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/ExtensionTestPlugin.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 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:
- *     Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class ExtensionTestPlugin extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.jpt.jpa.core.tests.extension.resource"; //$NON-NLS-1$
-
-	// The shared instance
-	private static ExtensionTestPlugin plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public ExtensionTestPlugin() {
-		super();
-	}
-
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static ExtensionTestPlugin getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestAttributeMapping.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestAttributeMapping.java
deleted file mode 100644
index ead0994..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestAttributeMapping.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaAttributeMapping;
-
-public class JavaTestAttributeMapping
-	extends AbstractJavaAttributeMapping<Annotation>
-{
-	public static final String TEST_ATTRIBUTE_MAPPING_KEY = "testAttribute"; //$NON-NLS-1$
-	public static final String TEST_ATTRIBUTE_ANNOTATION_NAME = "test.TestAttribute"; //$NON-NLS-1$
-
-
-	public JavaTestAttributeMapping(JavaPersistentAttribute parent) {
-		super(parent);
-	}
-
-	public String getKey() {
-		return JavaTestAttributeMapping.TEST_ATTRIBUTE_MAPPING_KEY;
-	}
-
-	@Override
-	protected String getAnnotationName() {
-		return JavaTestAttributeMapping.TEST_ATTRIBUTE_ANNOTATION_NAME;
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestAttributeMappingDefinition.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestAttributeMappingDefinition.java
deleted file mode 100644
index 00ba8dc..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestAttributeMappingDefinition.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFactory;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-
-public class JavaTestAttributeMappingDefinition
-	implements JavaAttributeMappingDefinition
-{
-	// singleton
-	private static final JavaAttributeMappingDefinition INSTANCE = new JavaTestAttributeMappingDefinition();
-
-	/**
-	 * Return the singleton.
-	 */
-	public static JavaAttributeMappingDefinition instance() {
-		return INSTANCE;
-	}
-
-
-	/**
-	 * Enforce singleton usage
-	 */
-	private JavaTestAttributeMappingDefinition() {
-		super();
-	}
-
-	public String getKey() {
-		return JavaTestAttributeMapping.TEST_ATTRIBUTE_MAPPING_KEY;
-	}
-
-	public String getAnnotationName() {
-		return JavaTestAttributeMapping.TEST_ATTRIBUTE_ANNOTATION_NAME;
-	}
-
-	public boolean isSpecified(JavaPersistentAttribute persistentAttribute) {
-		return persistentAttribute.getResourceAttribute().getAnnotation(this.getAnnotationName()) != null;
-	}
-
-	public Iterable<String> getSupportingAnnotationNames() {
-		return EmptyIterable.instance();
-	}
-
-	public JavaAttributeMapping buildMapping(JavaPersistentAttribute persistentAttribute, JpaFactory factory) {
-		return ((TestJpaFactory) factory).buildJavaTestAttributeMapping(persistentAttribute);
-	}
-
-	@Override
-	public String toString() {
-		return this.getClass().getSimpleName();
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMapping.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMapping.java
deleted file mode 100644
index f60da33..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMapping.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.context.Query;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaTypeMapping;
-
-public class JavaTestTypeMapping
-	extends AbstractJavaTypeMapping<Annotation>
-{
-	public static final String TEST_TYPE_MAPPING_KEY = "test"; //$NON-NLS-1$
-	public static final String TEST_TYPE_ANNOTATION_NAME = "test.Test"; //$NON-NLS-1$
-
-
-	public JavaTestTypeMapping(JavaPersistentType parent) {
-		super(parent, null);
-	}
-
-	public String getKey() {
-		return TEST_TYPE_MAPPING_KEY;
-	}
-
-	public JavaPersistentType getIdClass() {
-		return null;
-	}
-
-	public boolean isMapped() {
-		return true;
-	}
-
-	public boolean tableNameIsInvalid(String tableName) {
-		return false;
-	}
-
-	public Iterable<Query> getQueries() {
-		return EmptyIterable.instance();
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMappingDefinition.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMappingDefinition.java
deleted file mode 100644
index 6b0be26..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/JavaTestTypeMappingDefinition.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFactory;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaTypeMappingDefinition;
-
-public class JavaTestTypeMappingDefinition
-	implements JavaTypeMappingDefinition
-{
-	// singleton
-	private static final JavaTestTypeMappingDefinition INSTANCE = new JavaTestTypeMappingDefinition();
-
-	/**
-	 * Return the singleton
-	 */
-	public static JavaTypeMappingDefinition instance() {
-		return INSTANCE;
-	}
-
-
-	/**
-	 * Enforce singleton usage
-	 */
-	private JavaTestTypeMappingDefinition() {
-		super();
-	}
-
-	public String getKey() {
-		return JavaTestTypeMapping.TEST_TYPE_MAPPING_KEY;
-	}
-
-	public String getAnnotationName() {
-		return JavaTestTypeMapping.TEST_TYPE_ANNOTATION_NAME;
-	}
-
-	public Iterable<String> getSupportingAnnotationNames() {
-		return EmptyIterable.instance();
-	}
-
-	public JavaTestTypeMapping buildMapping(JavaPersistentType persistentType, Annotation annotation, JpaFactory factory) {
-		return ((TestJpaFactory) factory).buildJavaTestTypeMapping(persistentType);
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJavaBasicMapping.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJavaBasicMapping.java
deleted file mode 100644
index c4ade40..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJavaBasicMapping.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaBasicMapping;
-
-public class TestJavaBasicMapping
-	extends AbstractJavaBasicMapping
-{
-	public TestJavaBasicMapping(JavaPersistentAttribute parent) {
-		super(parent);
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJavaEntity.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJavaEntity.java
deleted file mode 100644
index 2aee63a..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJavaEntity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaEntity;
-import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaCacheable2_0;
-import org.eclipse.jpt.jpa.core.resource.java.EntityAnnotation;
-
-public class TestJavaEntity
-	extends AbstractJavaEntity
-{
-	protected TestJavaEntity(JavaPersistentType parent, EntityAnnotation mappingAnnotation) {
-		super(parent, mappingAnnotation);
-	}
-
-	public JavaCacheable2_0 getCacheable() {
-		return null;
-	}
-	
-	public boolean calculateDefaultCacheable() {
-		return false;
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaFactory.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaFactory.java
deleted file mode 100644
index 1fb3e08..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.internal.AbstractJpaFactory;
-import org.eclipse.jpt.jpa.core.resource.java.EntityAnnotation;
-
-public class TestJpaFactory
-	extends AbstractJpaFactory
-{
-	@Override
-	public JavaEntity buildJavaEntity(JavaPersistentType parent, EntityAnnotation entityAnnotation) {
-		return new TestJavaEntity(parent, entityAnnotation);
-	}
-	
-	@Override
-	public JavaBasicMapping buildJavaBasicMapping(JavaPersistentAttribute parent) {
-		return new TestJavaBasicMapping(parent);
-	}
-	
-	public JavaTestTypeMapping buildJavaTestTypeMapping(JavaPersistentType parent) {
-		return new JavaTestTypeMapping(parent);
-	}
-	
-	public JavaTestAttributeMapping buildJavaTestAttributeMapping(JavaPersistentAttribute parent) {
-		return new JavaTestAttributeMapping(parent);
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformFactory.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformFactory.java
deleted file mode 100644
index d148ddc..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.common.core.JptResourceType;
-import org.eclipse.jpt.jpa.core.JpaFacet;
-import org.eclipse.jpt.jpa.core.JpaPlatform;
-import org.eclipse.jpt.jpa.core.JpaPlatformFactory;
-import org.eclipse.jpt.jpa.core.JpaPlatformVariation;
-import org.eclipse.jpt.jpa.core.context.AccessType;
-import org.eclipse.jpt.jpa.core.internal.GenericJpaAnnotationDefinitionProvider;
-import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform;
-import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatformFactory.SimpleVersion;
-import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider;
-import org.eclipse.persistence.jpa.jpql.parser.DefaultJPQLGrammar;
-
-/**
- * All the state in the JPA platform should be "static" (i.e. unchanging once
- * it is initialized).
- */
-@SuppressWarnings("nls")
-public class TestJpaPlatformFactory
-	implements JpaPlatformFactory
-{
-	/**
-	 * zero-argument constructor
-	 */
-	public TestJpaPlatformFactory() {
-		super();
-	}
-
-	public JpaPlatform buildJpaPlatform(String id) {
-		return new GenericJpaPlatform(
-			id,
-			buildJpaVersion(),
-			new TestJpaFactory(),
-			new JpaAnnotationProvider(GenericJpaAnnotationDefinitionProvider.instance()),
-			TestJpaPlatformProvider.instance(),
-			buildJpaPlatformVariation(),
-			DefaultJPQLGrammar.instance());
-	}
-
-	private JpaPlatform.Version buildJpaVersion() {
-		return new SimpleVersion(JpaFacet.VERSION_1_0.getVersionString()) {
-			@Override
-			public String getVersion() {
-				return "BOOOYAH!";
-			}
-		};
-	}
-
-	protected JpaPlatformVariation buildJpaPlatformVariation() {
-		return new JpaPlatformVariation() {
-			public Supported getTablePerConcreteClassInheritanceIsSupported() {
-				return Supported.MAYBE;
-			}
-			public boolean isJoinTableOverridable() {
-				return false;
-			}
-			public AccessType[] getSupportedAccessTypes(JptResourceType resourceType) {
-				return GENERIC_SUPPORTED_ACCESS_TYPES;
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformProvider.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformProvider.java
deleted file mode 100644
index 5a072bf..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformProvider.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import java.util.ArrayList;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jpt.common.core.JptCommonCorePlugin;
-import org.eclipse.jpt.common.core.JptResourceType;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.jpa.core.JpaPlatformProvider;
-import org.eclipse.jpt.jpa.core.JpaResourceModelProvider;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.ResourceDefinition;
-import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition;
-import org.eclipse.jpt.jpa.core.context.java.JavaTypeMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.AbstractJpaPlatformProvider;
-import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider;
-import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider;
-import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider;
-import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaBasicMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddableDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddedIdMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddedMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaEntityDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaIdMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaManyToManyMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaManyToOneMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaMappedSuperclassDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaOneToManyMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaOneToOneMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaVersionMappingDefinition;
-import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition;
-import org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.GenericPersistenceXmlDefinition;
-
-public class TestJpaPlatformProvider extends AbstractJpaPlatformProvider
-{
-	public static final String ID = "core.testJpaPlatform"; //$NON-NLS-1$
-
-	// singleton
-	private static final JpaPlatformProvider INSTANCE = new TestJpaPlatformProvider();
-
-
-	/**
-	 * Return the singleton.
-	 */
-	public static JpaPlatformProvider instance() {
-		return INSTANCE;
-	}
-
-
-	/**
-	 * Enforce singleton usage
-	 */
-	private TestJpaPlatformProvider() {
-		super();
-	}
-
-
-	// ********** resource models **********
-
-	public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) {
-		if (contentType.equals(JptCommonCorePlugin.JAVA_SOURCE_CONTENT_TYPE)) {
-			return JptCommonCorePlugin.JAVA_SOURCE_RESOURCE_TYPE;
-		}
-		else if (contentType.equals(JptCommonCorePlugin.JAR_CONTENT_TYPE)) {
-			return JptCommonCorePlugin.JAR_RESOURCE_TYPE;
-		}
-		else if (contentType.equals(JptJpaCorePlugin.PERSISTENCE_XML_CONTENT_TYPE)) {
-			return JptJpaCorePlugin.PERSISTENCE_XML_1_0_RESOURCE_TYPE;
-		}
-		else if (contentType.equals(JptJpaCorePlugin.ORM_XML_CONTENT_TYPE)) {
-			return JptJpaCorePlugin.ORM_XML_1_0_RESOURCE_TYPE;
-		}
-		else {
-			throw new IllegalArgumentException(contentType.toString());
-		}
-	}
-
-	@Override
-	protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) {
-		CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS);
-	}
-
-	// order should not be important here
-	protected static final JpaResourceModelProvider[] RESOURCE_MODEL_PROVIDERS = new JpaResourceModelProvider[] {
-		JavaResourceModelProvider.instance(),
-		JarResourceModelProvider.instance(),
-		PersistenceResourceModelProvider.instance(),
-		OrmResourceModelProvider.instance()
-	};
-
-
-	// ********** Java type mappings **********
-
-	@Override
-	protected void addJavaTypeMappingDefinitionsTo(ArrayList<JavaTypeMappingDefinition> definitions) {
-		CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS);
-	}
-
-	// order matches that used by the Reference Implementation (EclipseLink)
-	protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS = new JavaTypeMappingDefinition[] {
-		JavaEntityDefinition.instance(),
-		JavaEmbeddableDefinition.instance(),
-		JavaMappedSuperclassDefinition.instance(),
-		JavaTestTypeMappingDefinition.instance()  // added
-	};
-
-
-	// ********** Java attribute mappings **********
-
-	@Override
-	protected void addDefaultJavaAttributeMappingDefinitionsTo(ArrayList<DefaultJavaAttributeMappingDefinition> definitions) {
-		CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS);
-	}
-
-	// order matches that used by the Reference Implementation (EclipseLink)
-	protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new DefaultJavaAttributeMappingDefinition[] {
-		JavaEmbeddedMappingDefinition.instance(),
-		JavaBasicMappingDefinition.instance()
-	};
-	@Override
-	protected void addSpecifiedJavaAttributeMappingDefinitionsTo(ArrayList<JavaAttributeMappingDefinition> definitions) {
-		CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS);
-	}
-
-	// order matches that used by the Reference Implementation (EclipseLink)
-	protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new JavaAttributeMappingDefinition[] {
-		JavaTransientMappingDefinition.instance(),
-		JavaIdMappingDefinition.instance(),
-		JavaVersionMappingDefinition.instance(),
-		JavaBasicMappingDefinition.instance(),
-		JavaEmbeddedMappingDefinition.instance(),
-		JavaEmbeddedIdMappingDefinition.instance(),
-		JavaManyToManyMappingDefinition.instance(),
-		JavaManyToOneMappingDefinition.instance(),
-		JavaOneToManyMappingDefinition.instance(),
-		JavaOneToOneMappingDefinition.instance(),
-		JavaTestAttributeMappingDefinition.instance() // added
-	};
-
-
-	// ********** resource definitions **********
-
-	@Override
-	protected void addResourceDefinitionsTo(ArrayList<ResourceDefinition> definitions) {
-		CollectionTools.addAll(definitions, RESOURCE_DEFINITIONS);
-	}
-
-	protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] {
-		GenericPersistenceXmlDefinition.instance(),
-		GenericOrmXmlDefinition.instance()
-	};
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformUiFactory.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformUiFactory.java
deleted file mode 100644
index 7bdf7f9..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource/src/org/eclipse/jpt/jpa/core/tests/extension/resource/TestJpaPlatformUiFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2012 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.core.tests.extension.resource;
-
-import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
-import org.eclipse.jpt.jpa.ui.JpaPlatformUiFactory;
-import org.eclipse.jpt.jpa.ui.internal.GenericJpaPlatformUiProvider;
-import org.eclipse.jpt.jpa.ui.internal.platform.generic.GenericJpaPlatformUi;
-import org.eclipse.jpt.jpa.ui.internal.platform.generic.GenericJpaPlatformUiFactory;
-
-public class TestJpaPlatformUiFactory
-	implements JpaPlatformUiFactory
-{
-	/**
-	 * Zero arg constructor for extension point
-	 */
-	public TestJpaPlatformUiFactory() {
-		super();
-	}
-
-	public JpaPlatformUi buildJpaPlatformUi() {
-		return new GenericJpaPlatformUi(
-					GenericJpaPlatformUiFactory.NAVIGATOR_FACTORY_PROVIDER,
-					GenericJpaPlatformUiProvider.instance()
-				);
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/.classpath b/jpa/tests/org.eclipse.jpt.jpa.db.tests/.classpath
deleted file mode 100644
index 5c128f3..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/.cvsignore b/jpa/tests/org.eclipse.jpt.jpa.db.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/.project b/jpa/tests/org.eclipse.jpt.jpa.db.tests/.project
deleted file mode 100644
index fdaecf7..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.db.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/.settings/org.eclipse.jdt.core.prefs b/jpa/tests/org.eclipse.jpt.jpa.db.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 486063b..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:08:49 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/META-INF/MANIFEST.MF b/jpa/tests/org.eclipse.jpt.jpa.db.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 1d7938b..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.db.tests
-Bundle-Version: 2.0.0.qualifier
-Bundle-Activator: org.eclipse.jpt.jpa.db.tests.internal.JptJpaDbTestsPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.datatools.connectivity;bundle-version="[1.1.0,1.3.0)",
- org.eclipse.datatools.connectivity.sqm.core;bundle-version="1.0.1",
- org.eclipse.datatools.modelbase.sql;bundle-version="1.0.0",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jpa.db;bundle-version="[2.0.0,3.0.0)",
- org.junit;bundle-version="3.8.0"
-Export-Package: org.eclipse.jpt.jpa.db.tests.internal;x-internal:=true,
- org.eclipse.jpt.jpa.db.tests.internal.platforms;x-internal:=true
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/about.html b/jpa/tests/org.eclipse.jpt.jpa.db.tests/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/build.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/build.properties
deleted file mode 100644
index d27ab8f..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-################################################################################
-# Copyright (c) 2007 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               plugin.properties
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/derby.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/derby.properties
deleted file mode 100644
index 242d156..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/derby.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-# Configure the workspace- and database server-specific settings here.
-
-# user and password are optional for Derby
-userID = 
-password = 
-
-# the JDBC driver JAR(s) must be specified;
-# if there are multiple JARs, separate the names with commas
-# jars = C:/derby/lib/derby.jar
-jars = 
-
-# the JDBC URL is required for Derby
-# url = jdbc:derby:C:/derby/data/testdb;create=true
-url = 
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/mysql.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/mysql.properties
deleted file mode 100644
index d6407de..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/mysql.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-# Configure the workspace- and database server-specific settings here.
-
-# user and password are optional, depending on the platform
-userID = 
-password = 
-
-# the JDBC driver JAR(s) must be specified;
-# if there are multiple JARs, separate the names with commas
-# jars = C:/mysql/mysql-connector-java-5.0.6-bin.jar
-jars = 
-
-# the JDBC URL is optional for MySQL
-# url = jdbc:mysql://localhost:3306
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle10g.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle10g.properties
deleted file mode 100644
index 4b911b4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle10g.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-# Configure the workspace- and database server-specific settings here.
-
-# user and password are optional, depending on the platform
-userID = scott
-password = tiger
-
-# the JDBC driver JAR(s) must be specified;
-# if there are multiple JARs, separate the names with commas
-# jars = C:/oracle/jdbc/lib/ojdbc5.jar
-jars = 
-
-# the JDBC URL is required
-# url = jdbc:oracle:thin:@localhost:1521:testdb
-url = 
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle10gXE.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle10gXE.properties
deleted file mode 100644
index e67c01a..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle10gXE.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-# Configure the workspace- and database server-specific settings here.
-
-# user and password are optional, depending on the platform
-userID = scott
-password = tiger
-
-# the JDBC driver JAR(s) must be specified;
-# if there are multiple JARs, separate the names with commas
-# jars = C:/oracle/jdbc/lib/ojdbc5.jar
-jars = 
-
-# the JDBC URL is required
-# url = jdbc:oracle:thin:@localhost:1521:XE
-url = 
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle9i.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle9i.properties
deleted file mode 100644
index 4b911b4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/oracle9i.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-# Configure the workspace- and database server-specific settings here.
-
-# user and password are optional, depending on the platform
-userID = scott
-password = tiger
-
-# the JDBC driver JAR(s) must be specified;
-# if there are multiple JARs, separate the names with commas
-# jars = C:/oracle/jdbc/lib/ojdbc5.jar
-jars = 
-
-# the JDBC URL is required
-# url = jdbc:oracle:thin:@localhost:1521:testdb
-url = 
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/postgresql.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/postgresql.properties
deleted file mode 100644
index 32fafe4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/postgresql.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-# Configure the workspace- and database server-specific settings here.
-
-# user and password are optional, depending on the platform
-userID = 
-password = 
-
-# the JDBC driver JAR(s) must be specified;
-# if there are multiple JARs, separate the names with commas
-# jars = C:/postgresql/jdbc/postgresql-8.2-505.jdbc3.jar
-jars = 
-
-# the JDBC URL is optional for PostgreSQL
-# url = jdbc:postgresql
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/sqlserver.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/sqlserver.properties
deleted file mode 100644
index f72b645..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/sqlserver.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-# Configure the workspace- and database server-specific settings here.
-
-# user and password are optional, depending on the platform
-userID = 
-password = 
-
-# the JDBC driver JAR(s) must be specified;
-# if there are multiple JARs, separate the names with commas
-# jars = C:/sqlserver/lib/sqljdbc.jar
-jars = 
-
-# the JDBC URL is required
-# url = jdbc:sqlserver://localhost:1433
-url = 
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/sybase.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/sybase.properties
deleted file mode 100644
index 493d5d4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/config/sybase.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 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:
-#     Oracle - initial API and implementation
-################################################################################
-
-# Configure the workspace- and database server-specific settings here.
-
-# user and password are optional, depending on the platform
-userID = 
-password = 
-
-# the JDBC driver JAR(s) must be specified;
-# if there are multiple JARs, separate the names with commas
-# jars = C:/sybase/lib/jconn3.jar
-jars = 
-
-# the JDBC URL is required
-# url = jdbc:sybase:Tds:localhost:5000
-url = 
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/plugin.properties b/jpa/tests/org.eclipse.jpt.jpa.db.tests/plugin.properties
deleted file mode 100644
index 2c98779..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-################################################################################
-# Copyright (c) 2007 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = JPA DB Tests
-providerName = Eclipse.org
-
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JDBCTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JDBCTests.java
deleted file mode 100644
index 9d2efa4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JDBCTests.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-
-import junit.framework.TestCase;
-
-/**
- * These aren't tests. They are just an easy way to dump JDBC metadata to the
- * console.
- */
-@SuppressWarnings("nls")
-public class JDBCTests extends TestCase {
-
-	public JDBCTests(String name) {
-		super(name);
-	}
-
-	public void testDerby() throws Exception {
-		this.dumpMetaData(DERBY);
-	}
-
-	public void testMySQL() throws Exception {
-		this.dumpMetaData(MYSQL);
-	}
-
-	public void testOracle() throws Exception {
-		this.dumpMetaData(ORACLE);
-	}
-
-	public void testPostgreSQL() throws Exception {
-		this.dumpMetaData(POSTGRESQL);
-	}
-
-	public void testSybase() throws Exception {
-		this.dumpMetaData(SYBASE);
-	}
-
-	protected void dumpMetaData(ConnectionConfig config) throws Exception {
-		System.out.println("***** PLATFORM: " + config.platformName + " *****");
-		System.out.println();
-		Class.forName(config.driverClassName);
-		Connection connection = DriverManager.getConnection(this.buildURL(config), config.user, config.password);
-		System.out.println("CATALOGS:");
-		JDBCTools.dump(connection.getMetaData().getCatalogs());
-		System.out.println();
-		System.out.println("SCHEMATA:");
-		JDBCTools.dump(connection.getMetaData().getSchemas());
-		connection.close();
-		System.out.println();
-	}
-
-	protected String buildURL(ConnectionConfig config) {
-		return "jdbc:" + config.databaseURL;
-	}
-
-	protected static final ConnectionConfig DERBY =
-		new ConnectionConfig(
-			"Derby",
-			"org.apache.derby.jdbc.EmbeddedDriver",
-			"derby:C:/derby/data/test",
-			null,
-			null
-		);
-
-	protected static final ConnectionConfig MYSQL =
-		new ConnectionConfig(
-			"MySQL",
-			"com.mysql.jdbc.Driver",
-			"mysql://localhost:3306",
-			"root",
-			"oracle"
-		);
-
-	protected static final ConnectionConfig ORACLE =
-		new ConnectionConfig(
-			"Oracle",
-			"oracle.jdbc.OracleDriver",
-			"oracle:thin:@localhost:1521:orcl",
-			"scott",
-			"tiger"
-		);
-
-	protected static final ConnectionConfig POSTGRESQL =
-		new ConnectionConfig(
-			"PostgreSQL",
-			"org.postgresql.Driver",
-			"postgresql:postgres",
-			"postgres",
-			"oracle"
-		);
-
-	// the Sybase server must be configured explicitly to "localhost"
-	// in the config file [SYBASE]/ini/sql.ini
-	protected static final ConnectionConfig SYBASE =
-		new ConnectionConfig(
-			"Sybase",
-			"com.sybase.jdbc3.jdbc.SybDriver",
-			"sybase:Tds:localhost:5000",
-			"sa",
-			"oracle"
-		);
-
-	protected static class ConnectionConfig {
-		protected final String platformName;
-		protected final String driverClassName;
-		protected final String databaseURL;
-		protected final String user;
-		protected final String password;
-		protected ConnectionConfig(
-				String platformName,
-				String driverClassName,
-				String databaseURL,
-				String user,
-				String password
-		) {
-			super();
-			this.platformName = platformName;
-			this.driverClassName = driverClassName;
-			this.databaseURL = databaseURL;
-			this.user = user;
-			this.password = password;
-		}
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JDBCTools.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JDBCTools.java
deleted file mode 100644
index 4f8d879..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JDBCTools.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal;
-
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jpt.common.utility.internal.iterators.ResultSetIterator;
-
-@SuppressWarnings("nls")
-public class JDBCTools {
-
-	public static void dump(Connection connection, String sql) throws SQLException {
-		dump(execute(connection, sql));
-	}
-
-	public static void dump(ResultSet resultSet) throws SQLException {
-		PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));
-		// synchronize the console so everything is contiguous
-		synchronized (System.out) {
-			dumpOn(resultSet, pw);
-		}
-		pw.flush();
-	}
-
-	public static void dumpOn(ResultSet resultSet, PrintWriter pw) throws SQLException {
-		ArrayList<HashMap<String, Object>> maps = convertToMaps(resultSet);
-		for (Iterator<HashMap<String, Object>> mapStream = maps.iterator(); mapStream.hasNext(); ) {
-			for (Iterator<Map.Entry<String, Object>> entryStream = mapStream.next().entrySet().iterator(); entryStream.hasNext(); ) {
-				Map.Entry<String, Object> entry = entryStream.next();
-				pw.print(entry.getKey());
-				pw.print(" = ");
-				pw.print(entry.getValue());
-				pw.println();
-			}
-			if (mapStream.hasNext()) {
-				pw.println();
-			}
-		}
-		pw.println("total rows: " + maps.size());
-	}
-
-	public static ArrayList<HashMap<String, Object>> convertToMaps(Connection connection, String sql) throws SQLException {
-		return convertToMaps(execute(connection, sql));
-	}
-
-	public static ResultSet execute(Connection connection, String sql) throws SQLException {
-		Statement statement = connection.createStatement();
-		statement.execute(sql);
-		ResultSet resultSet = statement.getResultSet();
-		statement.close();
-		return resultSet;
-	}
-
-	public static ArrayList<HashMap<String, Object>> convertToMaps(ResultSet resultSet) throws SQLException {
-		ArrayList<HashMap<String, Object>> rows = new ArrayList<HashMap<String, Object>>();
-		for (Iterator<HashMap<String, Object>> stream = buildMapIterator(resultSet); stream.hasNext(); ) {
-			rows.add(stream.next());
-		}
-		return rows;
-	}
-
-	public static Iterator<HashMap<String, Object>> buildMapIterator(ResultSet resultSet) throws SQLException {
-		return new ResultSetIterator<HashMap<String, Object>>(resultSet, new MapResultSetIteratorAdapter(buildColumnNames(resultSet)));
-	}
-
-	public static String[] buildColumnNames(ResultSet resultSet) throws SQLException {
-		String[] names = new String[resultSet.getMetaData().getColumnCount()];
-		for (int i = 0; i < names.length; i++) {
-			names[i] = resultSet.getMetaData().getColumnName(i + 1);  // NB: ResultSet index/subscript is 1-based
-		}
-		return names;
-	}
-
-	public static class MapResultSetIteratorAdapter implements ResultSetIterator.Adapter<HashMap<String, Object>> {
-		private final String[] columnNames;
-		public MapResultSetIteratorAdapter(String[] columnNames) {
-			super();
-			this.columnNames = columnNames;
-		}
-		public HashMap<String, Object> buildNext(ResultSet rs) throws SQLException {
-			HashMap<String, Object> map = new HashMap<String, Object>(this.columnNames.length);
-			for (int i = 0; i < this.columnNames.length; i++) {
-				map.put(this.columnNames[i], rs.getObject(i + 1));  // NB: ResultSet index/subscript is 1-based
-			}
-			return map;
-		}
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JptJpaDbTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JptJpaDbTests.java
deleted file mode 100644
index 937b8c2..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JptJpaDbTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.jpt.jpa.db.tests.internal.platforms.AllPlatformTests;
-
-/**
- *  JPT DB Tests
- */
-public class JptJpaDbTests {
-
-    public static Test suite() {
-		TestSuite suite = new TestSuite(JptJpaDbTests.class.getPackage().getName());
-    
-        suite.addTest( AllPlatformTests.suite());
-    
-        return suite;
-    }
-    
-    private JptJpaDbTests() {
-        super();
-        throw new UnsupportedOperationException();
-    }
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JptJpaDbTestsPlugin.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JptJpaDbTestsPlugin.java
deleted file mode 100644
index f42832e..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/JptJpaDbTestsPlugin.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- *  JptJpaDbTestsPlugin
- */
-public class JptJpaDbTestsPlugin extends Plugin {
-
-	// The shared instance
-	private static JptJpaDbTestsPlugin INSTANCE;
-
-	public static final String BUNDLE_ID = "org.eclipse.jpt.jpa.db.tests"; //$NON-NLS-1$
-
-	/**
-	 * Returns the shared instance
-	 */
-	public static JptJpaDbTestsPlugin instance() {
-		return INSTANCE;
-	}
-	
-	/**
-	 * The constructor
-	 */
-	public JptJpaDbTestsPlugin() {
-		super();
-		INSTANCE = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		INSTANCE = null;
-		super.stop(context);
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/AllPlatformTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/AllPlatformTests.java
deleted file mode 100644
index 042e954..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/AllPlatformTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllPlatformTests {
-
-    public static Test suite() {
-		TestSuite suite = new TestSuite(AllPlatformTests.class.getPackage().getName());
-
-		suite.addTestSuite(DerbyTests.class);
-		suite.addTestSuite(MySQLTests.class);
-		suite.addTestSuite(Oracle10gTests.class);
-//		suite.addTestSuite(Oracle10gXETests.class);
-//		suite.addTestSuite(Oracle9iTests.class);
-		suite.addTestSuite(PostgreSQLTests.class);
-//		suite.addTestSuite(SQLServerTests.class);
-		suite.addTestSuite(SybaseTests.class);
-
-        return suite;
-    }
-
-    private AllPlatformTests() {
-        super();
-        throw new UnsupportedOperationException();
-    }
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/DTPPlatformTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/DTPPlatformTests.java
deleted file mode 100644
index 6cb7b60..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/DTPPlatformTests.java
+++ /dev/null
@@ -1,1030 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.net.URL;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.datatools.connectivity.ConnectionProfileException;
-import org.eclipse.datatools.connectivity.IConnectionProfile;
-import org.eclipse.datatools.connectivity.ProfileManager;
-import org.eclipse.datatools.connectivity.drivers.IDriverMgmtConstants;
-import org.eclipse.datatools.connectivity.drivers.IPropertySet;
-import org.eclipse.datatools.connectivity.drivers.PropertySetImpl;
-import org.eclipse.datatools.connectivity.drivers.XMLFileManager;
-import org.eclipse.datatools.connectivity.drivers.jdbc.IJDBCDriverDefinitionConstants;
-import org.eclipse.datatools.connectivity.internal.ConnectivityPlugin;
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.common.utility.IndentingPrintWriter;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.iterators.ResultSetIterator;
-import org.eclipse.jpt.jpa.db.Catalog;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ConnectionListener;
-import org.eclipse.jpt.jpa.db.ConnectionProfile;
-import org.eclipse.jpt.jpa.db.ConnectionProfileFactory;
-import org.eclipse.jpt.jpa.db.ConnectionProfileListener;
-import org.eclipse.jpt.jpa.db.Database;
-import org.eclipse.jpt.jpa.db.DatabaseIdentifierAdapter;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.JptJpaDbPlugin;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.SchemaContainer;
-import org.eclipse.jpt.jpa.db.Sequence;
-import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.jpt.jpa.db.tests.internal.JptJpaDbTestsPlugin;
-
-/**
- * Base class for testing DTP wrappers on various databases.
- */
-@SuppressWarnings("nls")
-public abstract class DTPPlatformTests extends TestCase {
-
-	/**
-	 * The platform properties are loaded from a Java properties file in the
-	 * 'org.eclipse.jpt.jpa.db.tests/config' directory. Each database platform has
-	 * its own properties file (e.g. 'derby.properties').
-	 */
-	private Properties platformProperties;
-
-	/**
-	 * This is the Dali connection profile wrapper.
-	 */
-	protected ConnectionProfile connectionProfile;
-
-
-	// ********** constants **********
-
-	private static final String PLATFORM_CONFIG_DIRECTORY = "config";
-
-	private static final String DB_USER_ID_PROPERTY = "userID";
-		private static final String DB_USER_ID_DEFAULT = "user";
-
-	private static final String DB_PASSWORD_PROPERTY = "password";
-		private static final String DB_PASSWORD_DEFAULT = "";
-
-	private static final String DB_DRIVER_JARS_PROPERTY = "jars";
-		// required - no default
-
-	private static final String DB_URL_PROPERTY = "url";
-		// required - no default
-
-
-
-	// ********** constructor **********
-
-	protected DTPPlatformTests(String name) {
-		super(name);
-	}
-
-
-	// ********** set-up/tear-down **********
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-
-		this.platformProperties = this.loadPlatformProperties();
-		this.buildDTPDriverDefinitionFile();
-		this.buildDTPConnectionProfile();
-		this.connectionProfile = this.getConnectionProfileFactory().buildConnectionProfile(this.getProfileName(), DatabaseIdentifierAdapter.Default.instance());
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		this.connectionProfile = null;
-		this.platformProperties = null;
-
-		super.tearDown();
-	}
-
-	// ***** platform properties file
-	private Properties loadPlatformProperties() throws IOException {
-		Properties p = new Properties();
-		p.load(this.buildPlatformPropertiesFileURL().openStream());
-		return p;
-	}
-
-	private URL buildPlatformPropertiesFileURL() {
-		return Platform.getBundle(this.getTestPluginBundleID()).getEntry(this.getPlatformPropertiesFilePath());
-	}
-
-	private String getTestPluginBundleID() {
-		return JptJpaDbTestsPlugin.BUNDLE_ID;
-	}
-
-	private String getPlatformPropertiesFilePath() {
-		return this.getPlatformPropertiesDirectoryName() + '/' + this.getPlatformPropertiesFileName();
-	}
-
-	private String getPlatformPropertiesDirectoryName() {
-		return PLATFORM_CONFIG_DIRECTORY;
-	}
-
-	/**
-	 * Each database platform has a separate properties file in the 'config'
-	 * directory that must be customized by whomever is executing the tests.
-	 */
-	protected abstract String getPlatformPropertiesFileName();
-
-	// ***** driver definition file
-	private void buildDTPDriverDefinitionFile() throws CoreException {
-		XMLFileManager.setStorageLocation(this.getDTPDriverDefinitionLocation());
-		XMLFileManager.setFileName(this.getDTPDriverFileName());
-
-		IPropertySet[] sets = XMLFileManager.loadPropertySets();
-		for (IPropertySet set : sets) {
-			if (set.getID().equals(this.getDriverDefinitionID())) {
-				return;  // property sets live across tests
-			}
-		}
-
-		XMLFileManager.saveNamedPropertySet(this.buildDTPDriverDefinitionPropertySets());
-
-		// verify the file was created:
-		File driverDefinitioneFile = this.getDTPDriverDefinitionLocation().append(this.getDTPDriverFileName()).toFile();
-		assertTrue(driverDefinitioneFile.exists());
-	}
-
-	private IPath getDTPDriverDefinitionLocation() {
-		return ConnectivityPlugin.getDefault().getStateLocation();
-	}
-
-	private String getDTPDriverFileName() {
-		return IDriverMgmtConstants.DRIVER_FILE;
-	}
-
-	private IPropertySet[] buildDTPDriverDefinitionPropertySets() {
-		IPropertySet[] propertySets = new IPropertySet[1];
-		PropertySetImpl propertySet = new PropertySetImpl(this.getDriverName(), this.getDriverDefinitionID());
-		propertySet.setProperties(this.getDriverDefinitionID(), this.buildDTPDriverDefinitionProperties());
-		propertySets[0] = propertySet;
-		return propertySets;
-	}
-
-	protected abstract String getDriverName();
-
-	protected abstract String getDriverDefinitionID();
-
-	private Properties buildDTPDriverDefinitionProperties() {
-		Properties p = new Properties();
-		p.setProperty(ConnectionProfile.DRIVER_DEFINITION_TYPE_PROP_ID, this.getDriverDefinitionType());
-		p.setProperty(ConnectionProfile.DRIVER_JAR_LIST_PROP_ID, this.getJDBCDriverJarList());
-		p.setProperty(IJDBCDriverDefinitionConstants.DATABASE_VENDOR_PROP_ID, this.getDatabaseVendor());
-		p.setProperty(IJDBCDriverDefinitionConstants.DATABASE_VERSION_PROP_ID, this.getDatabaseVersion());
-		p.setProperty(IJDBCDriverDefinitionConstants.DRIVER_CLASS_PROP_ID, this.getDriverClass());
-		p.setProperty(IJDBCDriverDefinitionConstants.URL_PROP_ID, this.getJDBCURL());
-		p.setProperty(IJDBCDriverDefinitionConstants.USERNAME_PROP_ID, this.getUserID());
-		p.setProperty(IJDBCDriverDefinitionConstants.PASSWORD_PROP_ID, this.getPassword());
-		return p;
-	}
-
-	protected abstract String getDriverDefinitionType();
-
-	/**
-	 * The JAR list is workspace-specific and is set in the properties file.
-	 */
-	private String getJDBCDriverJarList() {
-		return this.getRequiredPlatformProperty(DB_DRIVER_JARS_PROPERTY);
-	}
-
-	protected abstract String getDatabaseVendor();
-
-	protected abstract String getDatabaseVersion();
-
-	protected abstract String getDriverClass();
-
-	/**
-	 * The database URL is workspace-specific and is set in the properties file
-	 * for some databases.
-	 */
-	private String getJDBCURL() {
-		return this.platformProperties.getProperty(DB_URL_PROPERTY, this.getDefaultJDBCURL());
-	}
-
-	protected String getDefaultJDBCURL() {
-		return "";
-	}
-
-	/**
-	 * The user ID is optional and can be set in the properties file.
-	 */
-	protected String getUserID() {
-		return this.platformProperties.getProperty(DB_USER_ID_PROPERTY, DB_USER_ID_DEFAULT);
-	}
-
-	/**
-	 * The password is optional and can be set in the properties file.
-	 */
-	private String getPassword() {
-		return this.platformProperties.getProperty(DB_PASSWORD_PROPERTY, DB_PASSWORD_DEFAULT);
-	}
-
-	// ***** DTP connection profile
-	private void buildDTPConnectionProfile() throws ConnectionProfileException {
-		if (this.getDTPProfileManager().getProfileByName(this.getProfileName()) != null) {
-			return;  // profiles live across tests
-		}
-		this.createProfile(this.getProfileName());
-		assertNotNull(this.getDTPProfileManager().getProfileByName(this.getProfileName()));
-	}
-
-	protected void createProfile(String profileName) throws ConnectionProfileException {
-		this.getDTPProfileManager().createProfile(
-				profileName,
-				this.getProfileDescription(),
-				this.getProviderID(),
-				this.buildDTPConnectionProfileProperties()
-		);
-	}
-
-	protected abstract String getProfileName();
-
-	protected abstract String getProfileDescription();
-
-	protected String getProviderID() {
-		return ConnectionProfile.CONNECTION_PROFILE_TYPE;
-	}
-	 
-	protected Properties buildDTPConnectionProfileProperties() {
-		Properties p = new Properties();
-		p.setProperty(IJDBCDriverDefinitionConstants.USERNAME_PROP_ID, this.getUserID());
-		p.setProperty(IJDBCDriverDefinitionConstants.PASSWORD_PROP_ID, this.getPassword());
-		p.setProperty(ConnectionProfile.DRIVER_DEFINITION_PROP_ID, this.getDriverDefinitionID());
-
-		p.setProperty(IJDBCDriverDefinitionConstants.DRIVER_CLASS_PROP_ID, this.getDriverClass());
-		p.setProperty(IJDBCDriverDefinitionConstants.URL_PROP_ID, this.getJDBCURL());
-		p.setProperty(IJDBCDriverDefinitionConstants.DATABASE_VENDOR_PROP_ID, this.getDatabaseVendor());
-		p.setProperty(IJDBCDriverDefinitionConstants.DATABASE_VERSION_PROP_ID, this.getDatabaseVersion());
-
-		p.setProperty(ConnectionProfile.DATABASE_SAVE_PWD_PROP_ID, this.passwordIsSaved());
-		return p;
-	}
-
-	private String passwordIsSaved() {
-		return "true";
-	}
-
-
-	// ********** tests **********
-
-	public void testConnectionProfileListener() throws ConnectionProfileException {
-		TestConnectionProfileListener listener = new TestConnectionProfileListener();
-		this.getConnectionProfileFactory().addConnectionProfileListener(listener);
-
-		String cpName1 = this.getProfileName() + "1";
-		this.createProfile(cpName1);
-		IConnectionProfile dtpCP = this.getDTPProfileManager().getProfileByName(cpName1);
-		assertNotNull(dtpCP);
-
-		assertEquals(cpName1, listener.addedName);
-		listener.clear();
-
-		String cpName2 = this.getProfileName() + "2";
-		this.getDTPProfileManager().modifyProfile(dtpCP, cpName2, null);
-		assertEquals(cpName1, listener.renamedOldName);
-		assertEquals(cpName2, listener.renamedNewName);
-		listener.clear();
-
-		ConnectionProfile cp = this.getConnectionProfileFactory().buildConnectionProfile(cpName2);
-		assertNotNull(cp);
-
-		this.getDTPProfileManager().deleteProfile(dtpCP);
-		assertEquals(cpName2, listener.removedName);
-		listener.clear();
-
-		cp = this.getConnectionProfileFactory().buildConnectionProfile(cpName2);
-		assertNull(cp);
-
-		this.getConnectionProfileFactory().removeConnectionProfileListener(listener);
-	}
-
-	public void testName() {
-		assertEquals(this.getProfileName(), this.connectionProfile.getName());
-	}
-
-	public void testConnection() throws Exception {
-		assertTrue(this.connectionProfile.isInactive());
-		assertTrue(this.connectionProfile.isDisconnected());
-		this.connectionProfile.connect();
-		assertTrue(this.connectionProfile.isActive());
-		assertTrue(this.connectionProfile.isConnected());
-
-		this.verifyDatabaseVersionNumber();
-		this.verifyDatabaseVendor();
-		this.verifyDatabaseContent();
-
-		this.connectionProfile.disconnect();
-		assertTrue(this.connectionProfile.isInactive());
-		assertTrue(this.connectionProfile.isDisconnected());
-	}
-
-	private void verifyDatabaseVersionNumber() {
-		Database database = this.connectionProfile.getDatabase();
-		assertNotNull(database);
-
-		String actual = database.getVersion();
-		String expected = this.getDatabaseVersion();
-		String errorMessage = "expected: " + expected + " - actual: " + actual;
-		// partial match is good enough
-		assertTrue(errorMessage, actual.indexOf(expected) != -1);
-	}
-
-	private void verifyDatabaseVendor() {
-		Database database = this.connectionProfile.getDatabase();
-		String actual = database.getVendorName();
-		String expected = this.getDatabaseVendor();
-		assertEquals(expected, actual);
-	}
-
-	private void verifyDatabaseContent() {
-		Database database = this.connectionProfile.getDatabase();
-		assertTrue(database.getSchemataSize() >= 0);
-
-		Schema schema = database.getDefaultSchema();
-		if (schema != null) {
-			if (schema.getTablesSize() > 0) {
-				Table table = schema.getTables().iterator().next();
-				assertTrue(table.getColumnsSize() >= 0);
-				assertTrue(table.getPrimaryKeyColumnsSize() >= 0);
-				assertTrue(table.getForeignKeysSize() >= 0);
-			}
-		}
-	}
-
-	protected abstract boolean executeOfflineTests();
-
-	public final void testOffline() {
-		if ( ! this.executeOfflineTests()) {
-			return;
-		}
-		if ( ! this.connectionProfile.supportsWorkOfflineMode()) {
-			return;
-		}
-
-		this.prepareForOfflineWork();
-
-		IStatus status = this.connectionProfile.workOffline();
-		assertTrue(status.isOK());
-		assertTrue(this.connectionProfile.isActive());
-		assertTrue(this.connectionProfile.isWorkingOffline());
-
-		this.connectionProfile.disconnect();
-		assertTrue(this.connectionProfile.isInactive());
-		assertTrue(this.connectionProfile.isDisconnected());
-	}
-
-	protected void prepareForOfflineWork() {
-		if ( ! this.connectionProfile.canWorkOffline()) {
-			this.connectionProfile.connect();
-			IStatus status = this.connectionProfile.saveWorkOfflineData();
-			assertTrue(status.isOK());
-			this.connectionProfile.disconnect();
-			assertTrue(this.connectionProfile.canWorkOffline());
-		}
-	}
-
-	public void testConnectionListenerConnect() {
-		assertTrue(this.connectionProfileHasNoListeners());
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-		assertTrue(this.connectionProfileHasAnyListeners());
-
-		this.connectionProfile.connect();
-		assertSame(this.connectionProfile, listener.openedProfile);
-		listener.clear();
-
-		this.connectionProfile.disconnect();
-		assertSame(this.connectionProfile, listener.okToCloseProfile);
-		assertSame(this.connectionProfile, listener.aboutToCloseProfile);
-		assertSame(this.connectionProfile, listener.closedProfile);
-
-		this.connectionProfile.removeConnectionListener(listener);
-		assertTrue(this.connectionProfileHasNoListeners());
-	}
-
-	public final void testConnectionListenerOffline() {
-		if ( ! this.executeOfflineTests()) {
-			return;
-		}
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.prepareForOfflineWork();
-		listener.clear();
-
-		this.connectionProfile.workOffline();
-		assertSame(this.connectionProfile, listener.openedProfile);
-		listener.clear();
-
-		this.connectionProfile.disconnect();
-		assertSame(this.connectionProfile, listener.okToCloseProfile);
-		assertSame(this.connectionProfile, listener.aboutToCloseProfile);
-		assertSame(this.connectionProfile, listener.closedProfile);
-		listener.clear();
-
-		this.connectionProfile.removeConnectionListener(listener);
-	}
-
-	public void testConnectionListenerDatabase() {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		assertSame(this.connectionProfile.getDatabase(), listener.changedDatabase);
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testConnectionListenerCatalog() {
-		this.connectionProfile.connect();
-		if ( ! this.connectionProfile.getDatabase().supportsCatalogs()) {
-			this.connectionProfile.disconnect();
-			return;
-		}
-			
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		// take the first catalog
-		org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog = this.getFirstDTPCatalog();
-		Catalog catalog = this.getCatalogNamed(dtpCatalog.getName());
-		((ICatalogObject) dtpCatalog).refresh();
-		assertSame(catalog, listener.changedCatalog);
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testConnectionListenerSchema() {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		List<org.eclipse.datatools.modelbase.sql.schema.Catalog> dtpCatalogs = this.getDTPCatalogs();
-		org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog = null;
-		org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema = null;
-		Schema schema = null;
-		if (this.connectionProfile.getDatabase().supportsCatalogs()) {
-			dtpCatalog = dtpCatalogs.get(0);
-			dtpSchema = (org.eclipse.datatools.modelbase.sql.schema.Schema) dtpCatalog.getSchemas().get(0);
-			schema = this.getCatalogNamed(dtpCatalog.getName()).getSchemaNamed(dtpSchema.getName());
-		} else {
-			if (dtpCatalogs.isEmpty()) {
-				dtpSchema = (org.eclipse.datatools.modelbase.sql.schema.Schema) this.getDTPDatabase().getSchemas().get(0);
-				schema = this.connectionProfile.getDatabase().getSchemaNamed(dtpSchema.getName());
-			} else {
-				dtpCatalog = dtpCatalogs.get(0);  // should be the "virtual" catalog
-				assertEquals("", dtpCatalog.getName());
-				dtpSchema = (org.eclipse.datatools.modelbase.sql.schema.Schema) dtpCatalog.getSchemas().get(0);
-				// the schemata are held directly by the database in this situation
-				schema = this.getDatabase().getSchemaNamed(dtpSchema.getName());
-			}
-		}
-		assertTrue(schema.getTablesSize() >= 0);  // force tables to be loaded
-		((ICatalogObject) dtpSchema).refresh();
-		assertSame(schema, listener.changedSchema);
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testSupportsCatalogs() {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		boolean supportsCatalogs = this.supportsCatalogs();
-		assertEquals(supportsCatalogs, this.connectionProfile.getDatabase().supportsCatalogs());
-		if (supportsCatalogs) {
-			assertTrue(this.connectionProfile.getDatabase().getCatalogsSize() > 0);
-			assertEquals(0, this.connectionProfile.getDatabase().getSchemataSize());
-		} else {
-			assertEquals(0, this.connectionProfile.getDatabase().getCatalogsSize());
-			assertTrue(this.connectionProfile.getDatabase().getSchemataSize() > 0);
-		}
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	protected abstract boolean supportsCatalogs();
-
-//	public void testDEBUG() throws Exception {
-//		this.connectionProfile.connect();
-//		this.dumpJDBCCatalogs();
-//		this.dumpJDBCSchemata();
-//		this.dumpDatabaseContainers();
-//		this.connectionProfile.disconnect();
-//	}
-
-
-	// ********** convenience methods **********
-
-	protected ConnectionProfileFactory getConnectionProfileFactory() {
-		return JptJpaDbPlugin.getConnectionProfileFactory();
-	}
-
-	protected ConnectionProfile getConnectionProfile() {
-		return this.connectionProfile;
-	}
-
-	protected Database getDatabase() {
-		return this.connectionProfile.getDatabase();
-	}
-
-	protected Catalog getDefaultCatalog() {
-		return this.getDatabase().getDefaultCatalog();
-	}
-
-	/**
-	 * only valid on databases that do not support catalogs
-	 */
-	protected Schema getDefaultSchema() {
-		return this.getDatabase().getDefaultSchema();
-	}
-
-	protected Catalog getCatalogNamed(String catalogName) {
-		return this.connectionProfile.getDatabase().getCatalogNamed(catalogName);
-	}
-
-	protected String getRequiredPlatformProperty(String propertyKey) {
-		String propertyValue = this.platformProperties.getProperty(propertyKey);
-		if (StringTools.stringIsEmpty(propertyValue)) {
-			throw new IllegalArgumentException("The database platform properties file '" + this.getPlatformPropertiesFilePath()
-					+ "' is missing a value for the property '" + propertyKey + "'.");
-		}
-		return propertyValue;
-	}
-
-	protected boolean connectionProfileHasAnyListeners() {
-		return connectionProfileHasAnyListeners(this.connectionProfile);
-	}
-
-	protected static boolean connectionProfileHasAnyListeners(ConnectionProfile cp) {
-		return ((Boolean) ReflectionTools.executeMethod(cp, "hasAnyListeners")).booleanValue();
-	}
-
-	protected boolean connectionProfileHasNoListeners() {
-		return connectionProfileHasNoListeners(this.connectionProfile);
-	}
-
-	protected static boolean connectionProfileHasNoListeners(ConnectionProfile cp) {
-		return ((Boolean) ReflectionTools.executeMethod(cp, "hasNoListeners")).booleanValue();
-	}
-
-
-	// ********** DTP model **********
-
-	protected ProfileManager getDTPProfileManager() {
-		return ProfileManager.getInstance();
-	}
-
-	protected IConnectionProfile getDTPConnectionProfile() {
-		return getDTPConnectionProfile(this.connectionProfile);
-	}
-
-	protected static IConnectionProfile getDTPConnectionProfile(ConnectionProfile cp) {
-		return (IConnectionProfile) ReflectionTools.getFieldValue(cp, "dtpConnectionProfile");
-	}
-
-	protected org.eclipse.datatools.modelbase.sql.schema.Database getDTPDatabase() {
-		return getDTPDatabase(this.connectionProfile.getDatabase());
-	}
-
-	protected static org.eclipse.datatools.modelbase.sql.schema.Database getDTPDatabase(Database database) {
-		return (org.eclipse.datatools.modelbase.sql.schema.Database) ReflectionTools.getFieldValue(database, "dtpDatabase");
-	}
-
-	@SuppressWarnings("unchecked")
-	protected List<org.eclipse.datatools.modelbase.sql.schema.Catalog> getDTPCatalogs() {
-		return this.getDTPDatabase().getCatalogs();
-	}
-
-	protected org.eclipse.datatools.modelbase.sql.schema.Catalog getFirstDTPCatalog() {
-		return this.getDTPCatalogs().get(0);
-	}
-
-	protected org.eclipse.datatools.modelbase.sql.schema.Catalog getDTPCatalogNamed(String name) {
-		return getDTPCatalog(this.getDatabase().getCatalogNamed(name));
-	}
-
-	protected static org.eclipse.datatools.modelbase.sql.schema.Catalog getDTPCatalog(Catalog catalog) {
-		return (org.eclipse.datatools.modelbase.sql.schema.Catalog) ReflectionTools.getFieldValue(catalog, "dtpCatalog");
-	}
-
-	protected org.eclipse.datatools.modelbase.sql.schema.Schema getDTPSchemaNamed(String name) {
-		return getDTPSchema(this.getDatabase().getSchemaNamed(name));
-	}
-
-	protected static org.eclipse.datatools.modelbase.sql.schema.Schema getDTPSchema(Schema schema) {
-		return (org.eclipse.datatools.modelbase.sql.schema.Schema) ReflectionTools.getFieldValue(schema, "dtpSchema");
-	}
-
-
-	// ********** execute SQL **********
-
-	/**
-	 * ignore any errors (useful for dropping database objects that might
-	 * not be there)
-	 */
-	protected void executeUpdateIgnoreErrors(String sql) {
-		try {
-			this.executeUpdate(sql);
-		} catch (Exception ex) {
-//			System.err.println("SQL: " + sql);
-//			ex.printStackTrace();
-		}
-	}
-
-	protected void executeUpdate(String sql) throws SQLException {
-		Statement jdbcStatement = this.createJDBCStatement();
-		try {
-			jdbcStatement.executeUpdate(sql);
-		} finally {
-			jdbcStatement.close();
-		}
-	}
-
-	protected void dump(String sql) throws SQLException {
-		this.dump(sql, 30);
-	}
-
-	protected void dump(String sql, int columnWidth) throws SQLException {
-		IndentingPrintWriter pw = new IndentingPrintWriter(new OutputStreamWriter(System.out));
-		// synchronize the console so everything is contiguous
-		synchronized (System.out) {
-			this.dumpOn(sql, pw, columnWidth);
-		}
-		pw.flush();
-	}
-
-	protected void dumpOn(String sql, IndentingPrintWriter pw, int columnWidth) throws SQLException {
-		pw.println(sql);
-		for (HashMap<String, Object> row : this.execute(sql)) {
-			for (Map.Entry<String, Object> field : row.entrySet()) {
-				StringTools.padOrTruncateOn(String.valueOf(field.getKey()), columnWidth/2, pw);
-				pw.print('=');
-				StringTools.padOrTruncateOn(String.valueOf(field.getValue()), columnWidth/2, pw);
-				pw.print(' ');
-			}
-			pw.println();
-		}
-	}
-
-	protected ArrayList<HashMap<String, Object>> execute(String sql) throws SQLException {
-		Statement jdbcStatement = this.createJDBCStatement();
-		jdbcStatement.execute(sql);
-		ArrayList<HashMap<String, Object>> rows = this.buildRows(jdbcStatement.getResultSet());
-		jdbcStatement.close();
-		return rows;
-	}
-
-	protected ArrayList<HashMap<String, Object>> buildRows(ResultSet resultSet) throws SQLException {
-		ArrayList<HashMap<String, Object>> rows = new ArrayList<HashMap<String, Object>>();
-		CollectionTools.addAll(rows, this.buildResultSetIterator(resultSet));
-		return rows;
-	}
-
-	protected Iterator<HashMap<String, Object>> buildResultSetIterator(ResultSet resultSet) throws SQLException {
-		return new ResultSetIterator<HashMap<String, Object>>(resultSet, new MapResultSetIteratorAdapter(resultSet.getMetaData()));
-	}
-
-	public static class MapResultSetIteratorAdapter
-		implements ResultSetIterator.Adapter<HashMap<String, Object>>
-	{
-		private final int columnCount;
-		private final String[] columnNames;
-		public MapResultSetIteratorAdapter(ResultSetMetaData rsMetaData) throws SQLException {
-			super();
-			this.columnCount = rsMetaData.getColumnCount();
-			this.columnNames = new String[this.columnCount + 1];  // leave zero slot empty
-			for (int i = 1; i <= this.columnCount; i++) {  // NB: ResultSet index/subscript is 1-based
-				this.columnNames[i] = rsMetaData.getColumnName(i);
-			}
-		}
-		public HashMap<String, Object> buildNext(ResultSet rs) throws SQLException {
-			HashMap<String, Object> row = new HashMap<String, Object>(this.columnCount);
-			for (int i = 1; i <= this.columnCount; i++) {  // NB: ResultSet index/subscript is 1-based
-				row.put(this.columnNames[i], rs.getObject(i));
-			}
-			return row;
-		}
-	}
-
-	protected Statement createJDBCStatement() throws SQLException {
-		return this.getJDBCConnection().createStatement();
-	}
-
-	protected Connection getJDBCConnection() {
-		return this.connectionProfile.getJDBCConnection();
-	}
-
-	protected DatabaseMetaData getDatabaseMetaData() throws SQLException {
-		return this.getJDBCConnection().getMetaData();
-	}
-
-
-	// ********** dump DTP metadata **********
-
-	/**
-	 * dump all the database metadata to the console
-	 */
-	protected void dumpDatabase() {
-		this.dumpDatabase(true);
-	}
-
-	/**
-	 * dump the database catalogs and schemata to the console
-	 */
-	protected void dumpDatabaseContainers() {
-		this.dumpDatabase(false);
-	}
-
-	protected void dumpDatabase(boolean deep) {
-		IndentingPrintWriter pw = new IndentingPrintWriter(new OutputStreamWriter(System.out));
-		// synchronize the console so everything is contiguous
-		synchronized (System.out) {
-			this.dumpDatabaseOn(pw, deep);
-		}
-		pw.flush();
-	}
-
-	protected void dumpDatabaseOn(IndentingPrintWriter pw, boolean deep) {
-		Database database = this.connectionProfile.getDatabase();
-		pw.print("database: ");
-		pw.println(database.getName());
-		if (database.supportsCatalogs()) {
-			for (Catalog catalog : database.getCatalogs()) {
-				this.dumpCatalogOn(catalog, pw, deep);
-			}
-		} else {
-			this.dumpSchemaContainerOn(database, pw, deep);
-		}
-	}
-
-	protected void dumpCatalogOn(Catalog catalog, IndentingPrintWriter pw, boolean deep) {
-		pw.print("catalog: ");
-		pw.println(catalog.getName());
-		pw.indent();
-			this.dumpSchemaContainerOn(catalog, pw, deep);
-		pw.undent();
-	}
-
-	protected void dumpSchemaContainerOn(SchemaContainer schemaContainer, IndentingPrintWriter pw, boolean deep) {
-		for (Schema schema : schemaContainer.getSchemata()) {
-			this.dumpSchemaOn(schema, pw, deep);
-		}
-	}
-
-	protected void dumpSchema(Schema schema) {
-		this.dumpSchema(schema, true);
-	}
-
-	protected void dumpSchema(Schema schema, boolean deep) {
-		IndentingPrintWriter pw = new IndentingPrintWriter(new OutputStreamWriter(System.out));
-		// synchronize the console so everything is contiguous
-		synchronized (System.out) {
-			this.dumpSchemaOn(schema, pw, deep);
-		}
-		pw.flush();
-	}
-
-	protected void dumpSchemaOn(Schema schema, IndentingPrintWriter pw, boolean deep) {
-		pw.print("schema: ");
-		pw.println(schema.getName());
-		if (deep) {
-			pw.indent();
-				for (Table table : schema.getTables()) {
-					this.dumpTableOn(table, pw);
-				}
-				for (Sequence sequence : schema.getSequences()) {
-					this.dumpSequenceOn(sequence, pw);
-				}
-			pw.undent();
-		}
-	}
-
-	protected void dumpTableOn(Table table, IndentingPrintWriter pw) {
-		pw.print("table: ");
-		pw.println(table.getName());
-		pw.indent();
-			for (Column column : table.getColumns()) {
-				this.dumpColumnOn(column, pw);
-			}
-			for (ForeignKey foreignKey : table.getForeignKeys()) {
-				this.dumpForeignKeyOn(foreignKey, pw);
-			}
-		pw.undent();
-	}
-
-	protected void dumpColumnOn(Column column, IndentingPrintWriter pw) {
-		pw.print("column: ");
-		pw.print(column.getName());
-		pw.print(" : ");
-		pw.print(column.getDataTypeName());
-		if (column.isPartOfPrimaryKey()) {
-			pw.print(" [primary key]");
-		}
-		pw.println();
-	}
-
-	protected void dumpForeignKeyOn(ForeignKey foreignKey, IndentingPrintWriter pw) {
-		pw.print("foreign key: ");
-		pw.print(foreignKey.getName());
-		pw.print("=>");
-		pw.print(foreignKey.getReferencedTable().getName());
-		pw.print(" (");
-		for (Iterator<ForeignKey.ColumnPair> stream = foreignKey.getColumnPairs().iterator(); stream.hasNext(); ) {
-			ForeignKey.ColumnPair cp = stream.next();
-			pw.print(cp.getBaseColumn().getName());
-			pw.print("=>");
-			pw.print(cp.getReferencedColumn().getName());
-			if (stream.hasNext()) {
-				pw.print(", ");
-			}
-		}
-		pw.print(')');
-		pw.println();
-	}
-
-	protected void dumpSequenceOn(Sequence sequence, IndentingPrintWriter pw) {
-		pw.print("sequence: ");
-		pw.println(sequence.getName());
-	}
-
-
-	// ********** dump JDBC metadata **********
-
-	protected void dumpJDBCCatalogs() throws SQLException {
-		IndentingPrintWriter pw = new IndentingPrintWriter(new OutputStreamWriter(System.out));
-		// synchronize the console so everything is contiguous
-		synchronized (System.out) {
-			this.dumpJDBCCatalogsOn(pw);
-		}
-		pw.flush();
-	}
-
-	protected void dumpJDBCCatalogsOn(IndentingPrintWriter pw) throws SQLException {
-		pw.println("JDBC catalogs: ");
-		pw.indent();
-			ArrayList<HashMap<String, Object>> rows = this.buildRows(this.getDatabaseMetaData().getCatalogs());
-			for (Iterator<HashMap<String, Object>> stream = rows.iterator(); stream.hasNext(); ) {
-				HashMap<String, Object> row = stream.next();
-				pw.println(row.get("TABLE_CAT"));
-			}
-		pw.undent();
-	}
-
-	protected void dumpJDBCSchemata() throws SQLException {
-		IndentingPrintWriter pw = new IndentingPrintWriter(new OutputStreamWriter(System.out));
-		// synchronize the console so everything is contiguous
-		synchronized (System.out) {
-			this.dumpJDBCSchemataOn(pw);
-		}
-		pw.flush();
-	}
-
-	protected void dumpJDBCSchemataOn(IndentingPrintWriter pw) throws SQLException {
-		pw.println("JDBC schemata: ");
-		pw.indent();
-			ArrayList<HashMap<String, Object>> rows = this.buildRows(this.getDatabaseMetaData().getSchemas());
-			for (HashMap<String, Object> row : rows) {
-				if (row.size() == 2) {  // catalogs were added in jdk 1.4
-					Object catalog = row.get("TABLE_CATALOG");
-					pw.print(catalog);
-					pw.print('.');
-				}
-				Object schema = row.get("TABLE_SCHEM");
-				pw.println(schema);
-			}
-		pw.undent();
-	}
-
-
-	// ********** connection profile listener **********
-
-	protected static class TestConnectionProfileListener implements ConnectionProfileListener {
-		public String addedName;
-		public String removedName;
-		public String renamedOldName;
-		public String renamedNewName;
-
-		public void connectionProfileAdded(String name) {
-			this.addedName = name;
-		}
-		public void connectionProfileRemoved(String name) {
-			this.removedName = name;
-		}
-		public void connectionProfileRenamed(String oldName, String newName) {
-			this.renamedOldName = oldName;
-			this.renamedNewName = newName;
-		}
-		public void clear() {
-			this.addedName = null;
-			this.removedName = null;
-			this.renamedOldName = null;
-			this.renamedNewName = null;
-		}
-	}
-
-
-	// ********** connection listener **********
-
-	protected static class TestConnectionListener implements ConnectionListener {
-		public ConnectionProfile openedProfile;
-		public ConnectionProfile modifiedProfile;
-		public ConnectionProfile okToCloseProfile;
-		public ConnectionProfile aboutToCloseProfile;
-		public ConnectionProfile closedProfile;
-		public Database changedDatabase;
-		public Catalog changedCatalog;
-		public Schema changedSchema;
-		public Sequence changedSequence;
-		public Table changedTable;
-		public Column changedColumn;
-		public ForeignKey changedForeignKey;
-
-		public void opened(ConnectionProfile profile) {
-			this.openedProfile = profile;
-		}
-		public void modified(ConnectionProfile profile) {
-			this.modifiedProfile = profile;
-		}
-		public boolean okToClose(ConnectionProfile profile) {
-			this.okToCloseProfile = profile;
-			return true;
-		}
-		public void aboutToClose(ConnectionProfile profile) {
-			this.aboutToCloseProfile = profile;
-		}
-		public void closed(ConnectionProfile profile) {
-			this.closedProfile = profile;
-		}
-		public void databaseChanged(ConnectionProfile profile, Database database) {
-			this.changedDatabase = database;
-		}
-		public void catalogChanged(ConnectionProfile profile, Catalog catalog) {
-			this.changedCatalog = catalog;
-		}
-		public void schemaChanged(ConnectionProfile profile, Schema schema) {
-			this.changedSchema = schema;
-		}
-		public void sequenceChanged(ConnectionProfile profile, Sequence sequence) {
-			this.changedSequence = sequence;
-		}
-		public void tableChanged(ConnectionProfile profile, Table table) {
-			this.changedTable = table;
-		}
-		public void columnChanged(ConnectionProfile profile, Column column) {
-			this.changedColumn = column;
-		}
-		public void foreignKeyChanged(ConnectionProfile profile, ForeignKey foreignKey) {
-			this.changedForeignKey = foreignKey;
-		}
-		public void clear() {
-			this.openedProfile = null;
-			this.modifiedProfile = null;
-			this.okToCloseProfile = null;
-			this.aboutToCloseProfile = null;
-			this.closedProfile = null;
-			this.changedDatabase = null;
-			this.changedCatalog = null;
-			this.changedSchema = null;
-			this.changedSequence = null;
-			this.changedTable = null;
-			this.changedColumn = null;
-			this.changedForeignKey = null;
-		}
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/DerbyTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/DerbyTests.java
deleted file mode 100644
index 4dd8792..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/DerbyTests.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Table;
-
-@SuppressWarnings("nls")
-public class DerbyTests extends DTPPlatformTests {
-
-	public DerbyTests(String name) {
-		super(name);
-	}
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-	}
-
-	@Override
-	protected String getPlatformPropertiesFileName() {
-		return "derby.properties";
-	}
-
-	@Override
-	protected String getDriverName() {
-		return "Derby Embedded JDBC Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionID() {
-		return "DriverDefn.Derby Embedded JDBC Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionType() {
-		return "org.eclipse.datatools.connectivity.db.derby101.genericDriverTemplate";
-	}
-
-	@Override
-	protected String getDatabaseVendor() {
-		return "Derby";
-	}
-
-	@Override
-	protected String getDatabaseVersion() {
-		return "10.1";
-	}
-
-	@Override
-	protected String getDriverClass() {
-		return "org.apache.derby.jdbc.EmbeddedDriver";
-	}
-
-	@Override
-	protected String getProfileName() {
-		return "Derby_10.1_Embedded";
-	}
-
-	@Override
-	protected String getProfileDescription() {
-		return "Derby 10.1 Embedded JDBC Profile [Test]";
-	}
-
-	@Override
-	protected String getProviderID() {
-		return "org.eclipse.datatools.connectivity.db.derby.embedded.connectionProfile";
-	}
-
-	@Override
-	protected boolean supportsCatalogs() {
-		return false;
-	}
-
-	@Override
-	protected boolean executeOfflineTests() {
-		return true;
-	}
-
-	public void testSchema() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropSchema("TEST1");
-		this.dropSchema("TEST2");
-
-		this.executeUpdate("CREATE SCHEMA TEST1");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema1 = this.getDatabase().getSchemaNamed("TEST1");
-		assertNotNull(schema1);
-
-		this.executeUpdate("CREATE SCHEMA TEST2");
-		Schema schema2 = this.getDatabase().getSchemaNamed("TEST2");
-		assertNull(schema2);  // should be null until refresh
-
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		assertSame(this.getDatabase(), listener.changedDatabase);
-
-		schema2 = this.getDatabase().getSchemaNamed("TEST2");
-		assertNotNull(schema2);
-		assertNotSame(schema1, this.getDatabase().getSchemaNamed("TEST1"));  // we should have a new schema after the refresh
-
-		this.dropSchema("TEST2");
-		this.dropSchema("TEST1");
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testSchemaLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropSchema("LOOKUP_TEST");
-		this.dropSchema("\"lookup_TEST\"");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		this.executeUpdate("CREATE SCHEMA LOOKUP_TEST");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		assertNotNull(this.getDatabase().getSchemaNamed("LOOKUP_TEST"));
-		assertNotNull(this.getDatabase().getSchemaForIdentifier("LOOKUP_TEST"));
-
-		assertNull(this.getDatabase().getSchemaNamed("lookup_test"));
-		assertNotNull(this.getDatabase().getSchemaForIdentifier("lookup_test"));
-
-		assertNull(this.getDatabase().getSchemaNamed("lookup_TEST"));
-		assertNotNull(this.getDatabase().getSchemaForIdentifier("lookup_TEST"));
-
-		assertNotNull(this.getDatabase().getSchemaForIdentifier("\"LOOKUP_TEST\""));
-		assertNull(this.getDatabase().getSchemaForIdentifier("\"lookup_TEST\""));
-
-		this.dropSchema("LOOKUP_TEST");
-
-		this.executeUpdate("CREATE SCHEMA \"lookup_TEST\"");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		assertNull(this.getDatabase().getSchemaNamed("LOOKUP_TEST"));
-		assertNull(this.getDatabase().getSchemaForIdentifier("LOOKUP_TEST"));
-
-		assertNull(this.getDatabase().getSchemaNamed("lookup_test"));
-		assertNull(this.getDatabase().getSchemaForIdentifier("lookup_test"));
-
-		assertNotNull(this.getDatabase().getSchemaNamed("lookup_TEST"));
-		assertNull(this.getDatabase().getSchemaForIdentifier("lookup_TEST"));
-
-		assertNull(this.getDatabase().getSchemaForIdentifier("\"LOOKUP_TEST\""));
-		assertNotNull(this.getDatabase().getSchemaForIdentifier("\"lookup_TEST\""));
-
-		this.dropSchema("\"lookup_TEST\"");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testSchemaIdentifier() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropSchema("LOOKUP_TEST");
-		this.dropSchema("\"lookup_TEST\"");
-
-		this.executeUpdate("CREATE SCHEMA lookup_test");  // this gets folded to uppercase
-		this.executeUpdate("CREATE SCHEMA \"lookup_TEST\"");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema = this.getDatabase().getSchemaForIdentifier("LOOKUP_TEST");
-		assertEquals("LOOKUP_TEST", schema.getIdentifier());
-		assertEquals("LOOKUP_TEST", schema.getIdentifier("LookupTest"));
-		assertNull(schema.getIdentifier("Lookup_Test"));
-
-		schema = this.getDatabase().getSchemaForIdentifier("lookup_test");
-		assertEquals("LOOKUP_TEST", schema.getIdentifier());
-
-		schema = this.getDatabase().getSchemaForIdentifier("\"lookup_TEST\"");
-		assertEquals("\"lookup_TEST\"", schema.getIdentifier());
-		assertEquals("\"lookup_TEST\"", schema.getIdentifier("lookup_TEST"));
-
-		this.dropSchema("\"lookup_TEST\"");
-		this.dropSchema("LOOKUP_TEST");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testTable() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("TABLE_TEST", "FOO_BAZ");
-		this.dropTable("TABLE_TEST", "BAZ");
-		this.dropTable("TABLE_TEST", "FOO");
-		this.dropTable("TABLE_TEST", "BAR");
-		this.dropSchema("TABLE_TEST");
-
-		this.executeUpdate("CREATE SCHEMA TABLE_TEST");
-		this.executeUpdate("SET SCHEMA = TABLE_TEST");
-
-		this.executeUpdate(this.buildBarDDL());
-		this.executeUpdate(this.buildFooDDL());
-		this.executeUpdate(this.buildBazDDL());
-		this.executeUpdate(this.buildFooBazDDL());
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema = this.getDatabase().getSchemaNamed("TABLE_TEST");
-
-		// FOO
-		Table fooTable = schema.getTableNamed("FOO");
-		assertEquals(4, fooTable.getColumnsSize());
-		assertEquals(1, fooTable.getPrimaryKeyColumnsSize());
-		assertEquals(1, fooTable.getForeignKeysSize());
-
-		Column pkColumn = fooTable.getPrimaryKeyColumn();
-		assertEquals("ID", pkColumn.getName());
-		Column idColumn = fooTable.getColumnNamed("ID");
-		assertSame(pkColumn, idColumn);
-		assertEquals("INTEGER", idColumn.getDataTypeName());
-		assertSame(fooTable, idColumn.getTable());
-		assertTrue(idColumn.isPartOfPrimaryKey());
-		assertFalse(idColumn.isPartOfForeignKey());
-		assertEquals("int", idColumn.getJavaTypeDeclaration());
-
-		Column nameColumn = fooTable.getColumnNamed("NAME");
-		assertEquals("VARCHAR", nameColumn.getDataTypeName());
-		assertEquals("java.lang.String", nameColumn.getJavaTypeDeclaration());
-		assertEquals(20, nameColumn.getLength());
-		assertFalse(nameColumn.isPartOfPrimaryKey());
-		assertFalse(nameColumn.isNumeric());
-		assertTrue(nameColumn.isNullable());
-
-		Column barColumn = fooTable.getColumnNamed("BAR_ID");
-		assertEquals("INTEGER", barColumn.getDataTypeName());
-		assertTrue(barColumn.isPartOfForeignKey());
-		assertFalse(barColumn.isPartOfPrimaryKey());
-
-		Column salaryColumn = fooTable.getColumnNamed("SALARY");
-		assertEquals("DECIMAL", salaryColumn.getDataTypeName());
-		assertTrue(salaryColumn.isNullable());
-		assertTrue(salaryColumn.isNumeric());
-		assertEquals(11, salaryColumn.getPrecision());
-		assertEquals(2, salaryColumn.getScale());
-		assertEquals(-1, salaryColumn.getLength());
-
-		ForeignKey barFK = fooTable.getForeignKeys().iterator().next();  // there should only be 1 foreign key
-		assertEquals(1, barFK.getColumnPairsSize());
-		assertEquals("BAR", barFK.getAttributeName());
-		assertNull(barFK.getJoinColumnAnnotationIdentifier("bar"));
-		assertEquals("BAR_ID", barFK.getJoinColumnAnnotationIdentifier("primaryBar"));
-		assertSame(fooTable, barFK.getBaseTable());
-
-		assertFalse(fooTable.isPossibleJoinTable());
-		assertSame(schema, fooTable.getSchema());
-
-		// BAR
-		Table barTable = schema.getTableNamed("BAR");
-		assertEquals(3, barTable.getColumnsSize());
-		assertEquals(1, barTable.getPrimaryKeyColumnsSize());
-		assertEquals(0, barTable.getForeignKeysSize());
-		assertEquals("ID", barTable.getPrimaryKeyColumn().getName());
-		assertFalse(barTable.isPossibleJoinTable());
-
-		Column id2Column = barTable.getColumnNamed("ID2");
-		assertEquals("INTEGER", id2Column.getDataTypeName());
-//		assertTrue(id2Column.isPartOfUniqueConstraint());  // doesn't work(?)
-		assertFalse(id2Column.isNullable());
-		assertTrue(id2Column.isNumeric());
-		assertEquals(0, id2Column.getPrecision());  // not sure what to expect here...
-		assertEquals(0, id2Column.getScale());  // not sure what to expect here either...
-		assertEquals("BLOB", barTable.getColumnNamed("CHUNK").getDataTypeName());
-		assertEquals("byte[]", barTable.getColumnNamed("CHUNK").getJavaTypeDeclaration());
-		assertTrue(barTable.getColumnNamed("CHUNK").isLOB());
-		assertSame(barTable, barFK.getReferencedTable());
-
-		// BAZ
-		Table bazTable = schema.getTableNamed("BAZ");
-		Column nicknameColumn = bazTable.getColumnNamed("NICKNAME");
-		assertEquals(20, nicknameColumn.getLength());
-//		assertTrue(nicknameColumn.isPartOfUniqueConstraint());  // doesn't work(?)
-
-		// FOO_BAZ
-		Table foo_bazTable = schema.getTableNamed("FOO_BAZ");
-		assertEquals(2, foo_bazTable.getColumnsSize());
-		assertEquals(0, foo_bazTable.getPrimaryKeyColumnsSize());
-		assertEquals(2, foo_bazTable.getForeignKeysSize());
-		assertTrue(foo_bazTable.isPossibleJoinTable());
-		assertTrue(foo_bazTable.joinTableNameIsDefault());
-		assertTrue(foo_bazTable.getColumnNamed("FOO_ID").isPartOfForeignKey());
-
-		this.dropTable("TABLE_TEST", "FOO_BAZ");
-		this.dropTable("TABLE_TEST", "BAZ");
-		this.dropTable("TABLE_TEST", "FOO");
-		this.dropTable("TABLE_TEST", "BAR");
-		this.dropSchema("TABLE_TEST");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	private static final String CR = System.getProperty("line.separator");  //$NON-NLS-1$
-
-	private String buildBarDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE BAR (").append(CR);
-		sb.append("    ID INT PRIMARY KEY,").append(CR);
-		sb.append("    ID2 INT UNIQUE NOT NULL,").append(CR);
-		sb.append("    CHUNK BLOB(100K)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE FOO (").append(CR);
-		sb.append("    ID INT PRIMARY KEY,").append(CR);
-		sb.append("    NAME VARCHAR(20),").append(CR);
-		sb.append("    SALARY DECIMAL(11, 2),").append(CR);
-		sb.append("    BAR_ID INT REFERENCES BAR(ID)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE BAZ (").append(CR);
-		sb.append("    ID INT PRIMARY KEY,").append(CR);
-		sb.append("    NICKNAME VARCHAR(20) NOT NULL UNIQUE").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE FOO_BAZ (").append(CR);
-		sb.append("    FOO_ID INT REFERENCES FOO(ID),").append(CR);
-		sb.append("    BAZ_ID INT REFERENCES BAZ(ID)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	public void testColumnLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("COLUMN_TEST", "test");
-		this.dropSchema("COLUMN_TEST");
-
-		this.executeUpdate("CREATE SCHEMA COLUMN_TEST");
-		this.executeUpdate("SET SCHEMA = COLUMN_TEST");
-
-		// lowercase
-		this.executeUpdate("CREATE TABLE test (id INTEGER, name VARCHAR(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Table table = this.getDatabase().getSchemaNamed("COLUMN_TEST").getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("id"));
-		assertNotNull(table.getColumnForIdentifier("name"));
-
-		this.dropTable("COLUMN_TEST", "test");
-
-		// uppercase
-		this.executeUpdate("CREATE TABLE test (ID INTEGER, NAME VARCHAR(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDatabase().getSchemaNamed("COLUMN_TEST").getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("ID"));
-		assertNotNull(table.getColumnForIdentifier("NAME"));
-
-		this.dropTable("COLUMN_TEST", "test");
-
-		// mixed case
-		this.executeUpdate("CREATE TABLE test (Id INTEGER, Name VARCHAR(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDatabase().getSchemaNamed("COLUMN_TEST").getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("Id"));
-		assertNotNull(table.getColumnForIdentifier("Name"));
-
-		this.dropTable("COLUMN_TEST", "test");
-
-		// delimited
-		this.executeUpdate("CREATE TABLE test (\"Id\" INTEGER, \"Name\" VARCHAR(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDatabase().getSchemaNamed("COLUMN_TEST").getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("\"Id\""));
-		assertNotNull(table.getColumnForIdentifier("\"Name\""));
-
-		this.dropTable("COLUMN_TEST", "test");
-		this.dropSchema("COLUMN_TEST");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testCrossSchemaReference() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("XREF_TEST2", "EMP");
-		this.dropSchema("XREF_TEST2");
-		this.dropTable("XREF_TEST1", "ORG");
-		this.dropSchema("XREF_TEST1");
-
-		this.executeUpdate("CREATE SCHEMA XREF_TEST1");
-		this.executeUpdate("SET SCHEMA = XREF_TEST1");
-		this.executeUpdate("CREATE TABLE ORG (ID INTEGER PRIMARY KEY, NAME VARCHAR(20))");
-
-		this.executeUpdate("CREATE SCHEMA XREF_TEST2");
-		this.executeUpdate("SET SCHEMA = XREF_TEST2");
-		this.executeUpdate("CREATE TABLE EMP (ID INTEGER PRIMARY KEY, NAME VARCHAR(20), " +
-				"ORG_ID INTEGER REFERENCES XREF_TEST1.ORG(ID))");
-
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		Schema schema1 = this.getDatabase().getSchemaNamed("XREF_TEST1");
-		assertNotNull(schema1);
-		Table orgTable = schema1.getTableNamed("ORG");
-		assertNotNull(orgTable);
-
-		Schema schema2 = this.getDatabase().getSchemaNamed("XREF_TEST2");
-		assertNotNull(schema2);
-		Table empTable = schema2.getTableNamed("EMP");
-		assertNotNull(empTable);
-		assertEquals(1, empTable.getForeignKeysSize());
-		ForeignKey fk = empTable.getForeignKeys().iterator().next();
-		Table refTable = fk.getReferencedTable();
-		assertNotNull(refTable);
-		assertEquals("ORG", refTable.getName());
-		assertEquals(1, fk.getColumnPairsSize());
-		ForeignKey.ColumnPair cp = fk.getColumnPairs().iterator().next();
-		Column baseColumn = cp.getBaseColumn();
-		assertEquals("ORG_ID", baseColumn.getName());
-		Column refColumn = cp.getReferencedColumn();
-		assertEquals("ID", refColumn.getName());
-
-		this.dropTable("XREF_TEST2", "EMP");
-		this.dropSchema("XREF_TEST2");
-		this.dropTable("XREF_TEST1", "ORG");
-		this.dropSchema("XREF_TEST1");
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	private void dropTable(String schemaName, String tableName) throws Exception {
-		Schema schema= this.getDatabase().getSchemaForIdentifier(schemaName);
-		if (schema != null) {
-			if (schema.getTableForIdentifier(tableName) != null) {
-				this.executeUpdate("DROP TABLE " + schemaName + '.' + tableName);
-			}
-		}
-	}
-
-	/**
-	 * NB: A Derby schema must be empty before it can be dropped.
-	 */
-	private void dropSchema(String name) throws Exception {
-		if (this.getDatabase().getSchemaForIdentifier(name) != null) {
-			this.executeUpdate("DROP SCHEMA " + name + " RESTRICT");
-		}
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/MySQLTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/MySQLTests.java
deleted file mode 100644
index e35b7e7..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/MySQLTests.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import org.eclipse.datatools.connectivity.drivers.jdbc.IJDBCDriverDefinitionConstants;
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Table;
-
-/**
- * MySQL
- * 
- * Notes:<ul>
- * <li>We can only get database objects from the database associated with our
- * connection profile.
- * <li>We can reference objects across multiple databases, so they are sorta like
- * schemas....
- * <li>Foreign keys must be defined as table-level constraints; they cannot be
- * defined as part of the column clause.
- * <li>Case-sensitivity and -folding is whacked on MySQL....
- * </ul>
- */
-@SuppressWarnings("nls")
-public class MySQLTests extends DTPPlatformTests {
-
-	public MySQLTests( String name) {
-		super(name);
-	}
-
-	@Override
-	protected String getPlatformPropertiesFileName() {
-		return "mysql.properties";
-	}
-
-	@Override
-	protected String getDriverName() {
-		return "MySQL JDBC Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionID() {
-		return "DriverDefn.MySQL JDBC Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionType() {
-		return "org.eclipse.datatools.enablement.mysql.4_1.driverTemplate";
-	}
-
-	@Override
-	protected String getDatabaseVendor() {
-		return "MySql";
-	}
-
-	@Override
-	protected String getDatabaseVersion() {
-		return "4.1";
-	}
-
-	@Override
-	protected String getDriverClass() {
-		return "com.mysql.jdbc.Driver";
-	}
-
-	@Override
-	protected String getDefaultJDBCURL() {
-		return "jdbc:mysql://localhost:3306";
-	}
-
-	@Override
-	protected String getProfileName() {
-		return "MySQL_4.1";
-	}
-
-	@Override
-	protected String getProfileDescription() {
-		return "MySQL 4.1 JDBC Profile [Test]";
-	}
-
-	@Override
-	protected boolean supportsCatalogs() {
-		return false;
-	}
-
-	@Override
-	protected Properties buildDTPConnectionProfileProperties() {
-		Properties p = super.buildDTPConnectionProfileProperties();
-		p.setProperty(IJDBCDriverDefinitionConstants.DATABASE_NAME_PROP_ID, this.getDatabaseName());
-		return p;
-	}
-
-	private String getDatabaseName() {
-		return this.getUserID();  // by convention...
-	}
-
-	@Override
-	protected boolean executeOfflineTests() {
-		return true;  // seems to work...
-	}
-
-	public void testDatabase() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		// DTP: MySQL has a single schema with the same name as the database
-		Schema schema = this.getDatabase().getSchemaNamed(this.getDatabaseName());
-		assertNotNull(schema);
-		assertSame(this.getDefaultSchema(), schema);
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testTable() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.getJDBCConnection().setCatalog(this.getDatabaseName());
-
-		this.dropTable("foo_baz");
-		this.dropTable("baz");
-		this.dropTable("foo");
-		this.dropTable("bar");
-
-		this.executeUpdate(this.buildBarDDL());
-		this.executeUpdate(this.buildFooDDL());
-		this.executeUpdate(this.buildBazDDL());
-		this.executeUpdate(this.buildFooBazDDL());
-		// the MySQL database does NOT refresh - see bug 279721...
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		// ...refresh the single schema instead
-		((ICatalogObject) getDTPSchema(this.getDefaultSchema())).refresh();
-
-		Schema schema = this.getDefaultSchema();
-
-		// foo
-		Table fooTable = schema.getTableNamed("foo");
-		assertEquals(3, fooTable.getColumnsSize());
-		assertEquals(1, fooTable.getPrimaryKeyColumnsSize());
-		// if the tables are created with MyISAM as the backing store
-		// there will be no foreign keys
-		assertEquals(1, fooTable.getForeignKeysSize());
-
-		Column pkColumn = fooTable.getPrimaryKeyColumn();
-		assertEquals("id", pkColumn.getName());
-		Column idColumn = fooTable.getColumnNamed("id");
-		assertSame(pkColumn, idColumn);
-		assertEquals("INT", idColumn.getDataTypeName());
-		assertSame(fooTable, idColumn.getTable());
-		assertTrue(idColumn.isPartOfPrimaryKey());
-		assertFalse(idColumn.isPartOfForeignKey());
-		assertEquals("int", idColumn.getJavaTypeDeclaration());
-
-		Column nameColumn = fooTable.getColumnNamed("name");
-		assertEquals("VARCHAR", nameColumn.getDataTypeName());
-		assertEquals("java.lang.String", nameColumn.getJavaTypeDeclaration());
-		assertFalse(nameColumn.isPartOfPrimaryKey());
-
-		Column barColumn = fooTable.getColumnNamed("bar_id");
-		assertEquals("INT", barColumn.getDataTypeName());
-		assertTrue(barColumn.isPartOfForeignKey());
-		assertFalse(barColumn.isPartOfPrimaryKey());
-
-		ForeignKey barFK = fooTable.getForeignKeys().iterator().next();  // there should only be 1 foreign key
-		assertEquals(1, barFK.getColumnPairsSize());
-		assertEquals("bar", barFK.getAttributeName());
-		assertNull(barFK.getJoinColumnAnnotationIdentifier("bar"));
-		assertEquals("bar_id", barFK.getJoinColumnAnnotationIdentifier("primaryBar"));
-		assertSame(fooTable, barFK.getBaseTable());
-
-		assertFalse(fooTable.isPossibleJoinTable());
-		assertSame(schema, fooTable.getSchema());
-
-		// BAR
-		Table barTable = schema.getTableNamed("bar");
-		assertEquals(2, barTable.getColumnsSize());
-		assertEquals(1, barTable.getPrimaryKeyColumnsSize());
-		assertEquals(0, barTable.getForeignKeysSize());
-		assertEquals("id", barTable.getPrimaryKeyColumn().getName());
-		assertFalse(barTable.isPossibleJoinTable());
-		assertEquals("BLOB", barTable.getColumnNamed("chunk").getDataTypeName());
-		assertEquals("byte[]", barTable.getColumnNamed("chunk").getJavaTypeDeclaration());
-		assertTrue(barTable.getColumnNamed("chunk").isLOB());
-		assertSame(barTable, barFK.getReferencedTable());
-
-		// FOO_BAZ
-		Table foo_bazTable = schema.getTableNamed("foo_baz");
-		assertEquals(2, foo_bazTable.getColumnsSize());
-		assertEquals(0, foo_bazTable.getPrimaryKeyColumnsSize());
-		assertEquals(2, foo_bazTable.getForeignKeysSize());
-		assertTrue(foo_bazTable.isPossibleJoinTable());
-		assertTrue(foo_bazTable.joinTableNameIsDefault());
-		assertTrue(foo_bazTable.getColumnNamed("foo_id").isPartOfForeignKey());
-
-		this.dropTable("foo_baz");
-		this.dropTable("baz");
-		this.dropTable("foo");
-		this.dropTable("bar");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	private static final String CR = System.getProperty("line.separator");
-
-	private String buildBarDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE bar (").append(CR);
-		sb.append("    id INTEGER PRIMARY KEY,").append(CR);
-		sb.append("    chunk BLOB").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE foo (").append(CR);
-		sb.append("    id INTEGER PRIMARY KEY,").append(CR);
-		sb.append("    name VARCHAR(20),").append(CR);
-		sb.append("    bar_id INTEGER,").append(CR);
-		sb.append("    CONSTRAINT BAR FOREIGN KEY (bar_id) REFERENCES bar(id)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE baz (").append(CR);
-		sb.append("    id INTEGER PRIMARY KEY,").append(CR);
-		sb.append("    name VARCHAR(20)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE foo_baz (").append(CR);
-		sb.append("    foo_id INT,").append(CR);
-		sb.append("    baz_id INT,").append(CR);
-		sb.append("    FOREIGN KEY (foo_id) REFERENCES foo(id),").append(CR);
-		sb.append("    FOREIGN KEY (baz_id) REFERENCES baz(id)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	/**
-	 * On Windows, table names get folded to lowercase by default;
-	 * even if the name is delimited (apparently).
-	 */
-	public void testTableLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.getJDBCConnection().setCatalog(this.getDatabaseName());
-
-		this.dropTable("test1");
-		this.dropTable("TEST2");
-		this.dropTable("`TEST3`");
-
-		this.executeUpdate("CREATE TABLE test1 (id INTEGER, name VARCHAR(20))");
-		this.executeUpdate("CREATE TABLE TEST2 (id INTEGER, name VARCHAR(20))");
-		this.executeUpdate("CREATE TABLE `TEST3` (id INTEGER, name VARCHAR(20))");
-		// the MySQL database does NOT refresh - see bug 279721...
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		// ...refresh the single schema instead
-		((ICatalogObject) getDTPSchema(this.getDefaultSchema())).refresh();
-
-		Schema schema = this.getDefaultSchema();
-
-		Table test1Table = schema.getTableForIdentifier("test1");
-		assertNotNull(test1Table);
-
-		// if 'lctn' is 0 (UNIX), the table name is case-sensitive
-		int lctn = this.getLowerCaseTableNamesFromDatabase();
-
-		String test2Identifier = (lctn == 0) ? "TEST2" : "test2";
-		Table test2Table = schema.getTableForIdentifier(test2Identifier);
-		assertNotNull(test2Table);
-
-		String test3Identifier = (lctn == 0) ? "`TEST3`" : "`test3`";
-		Table test3Table = schema.getTableForIdentifier(test3Identifier);
-		assertNotNull(test3Table);
-
-		this.dropTable("test1");
-		this.dropTable("TEST2");
-		this.dropTable("`TEST3`");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	protected int getLowerCaseTableNamesFromDatabase() throws SQLException {
-		// the underscore is a wild character on MySQL, so we need to escape it
-		ArrayList<HashMap<String, Object>> rows = this.execute("show variables like 'lower\\_case\\_table\\_names'");
-		Map<String, Object> row = rows.get(0);
-		return Integer.valueOf((String) row.get("Value")).intValue();
-	}
-
-	/**
-	 * MySQL preserves the case of column names, delimited or not;
-	 * but they are <em>not</em> case-sensitive when used in SQL.
-	 * Delimiters are useful for reserved identifiers and special characters.
-	 */
-	public void testColumnLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.getJDBCConnection().setCatalog(this.getDatabaseName());
-
-		this.dropTable("test");
-
-		// lowercase
-		this.executeUpdate("CREATE TABLE test (id INTEGER, name VARCHAR(20))");
-		// the MySQL database does NOT refresh - see bug 279721...
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		// ...refresh the single schema instead
-		((ICatalogObject) getDTPSchema(this.getDefaultSchema())).refresh();
-
-		Table table = this.getDefaultSchema().getTableNamed("test");
-		assertNotNull(table.getColumnNamed("id"));
-		assertNotNull(table.getColumnNamed("name"));
-		assertNotNull(table.getColumnForIdentifier("id"));
-		assertNotNull(table.getColumnForIdentifier("name"));
-
-		this.dropTable("test");
-
-		// uppercase
-		this.executeUpdate("CREATE TABLE test (ID INTEGER, NAME VARCHAR(20))");
-		// the MySQL database does NOT refresh - see bug 279721...
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		// ...refresh the single schema instead
-		((ICatalogObject) getDTPSchema(this.getDefaultSchema())).refresh();
-
-		table = this.getDefaultSchema().getTableNamed("test");
-		assertNotNull(table.getColumnNamed("ID"));
-		assertNotNull(table.getColumnNamed("NAME"));
-		assertNotNull(table.getColumnForIdentifier("id"));
-		assertNotNull(table.getColumnForIdentifier("name"));
-
-		this.dropTable("test");
-
-		// mixed case
-		this.executeUpdate("CREATE TABLE test (Id INTEGER, Name VARCHAR(20))");
-		// the MySQL database does NOT refresh - see bug 279721...
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		// ...refresh the single schema instead
-		((ICatalogObject) getDTPSchema(this.getDefaultSchema())).refresh();
-
-		table = this.getDefaultSchema().getTableNamed("test");
-		assertNotNull(table.getColumnNamed("Id"));
-		assertNotNull(table.getColumnNamed("Name"));
-		assertNotNull(table.getColumnForIdentifier("id"));
-		assertNotNull(table.getColumnForIdentifier("name"));
-
-		this.dropTable("test");
-
-		// delimited
-		this.executeUpdate("CREATE TABLE test (`Id` INTEGER, `Name` VARCHAR(20))");
-		// the MySQL database does NOT refresh - see bug 279721...
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		// ...refresh the single schema instead
-		((ICatalogObject) getDTPSchema(this.getDefaultSchema())).refresh();
-
-		table = this.getDefaultSchema().getTableNamed("test");
-		assertNotNull(table.getColumnNamed("Id"));
-		assertNotNull(table.getColumnNamed("Name"));
-		assertNotNull(table.getColumnForIdentifier("id"));
-		assertNotNull(table.getColumnForIdentifier("name"));
-
-		boolean quotes = this.getANSIQuotesFromDatabase();
-		assertNotNull(table.getColumnForIdentifier("`Id`"));
-		if (quotes) {
-			assertNotNull(table.getColumnForIdentifier("\"Id\""));
-		}
-
-		assertNotNull(table.getColumnForIdentifier("`Name`"));
-		if (quotes) {
-			assertNotNull(table.getColumnForIdentifier("\"Name\""));
-		}
-
-		this.dropTable("test");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	protected boolean getANSIQuotesFromDatabase() throws SQLException {
-		ArrayList<HashMap<String, Object>> rows = this.execute("SELECT @@SESSION.sql_mode");
-		Map<String, Object> row = rows.get(0);
-		String sql_mode = (String) row.get("@@SESSION.sql_mode");
-		String[] modes = sql_mode.split(",");
-		return Boolean.valueOf(ArrayTools.contains(modes, "ANSI_QUOTES")).booleanValue();
-	}
-
-	private void dropTable(String tableName) throws Exception {
-		this.executeUpdate("DROP TABLE IF EXISTS " + tableName);
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle10gTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle10gTests.java
deleted file mode 100644
index c4711e8..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle10gTests.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-import java.sql.SQLException;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Table;
-
-@SuppressWarnings("nls")
-public class Oracle10gTests extends DTPPlatformTests {
-
-	public Oracle10gTests( String name) {
-		super( name);
-	}
-
-	@Override
-	protected String getPlatformPropertiesFileName() {
-		return "oracle10g.properties";
-	}
-
-	@Override
-	protected String getDriverName() {
-		return "Oracle 10g Thin Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionID() {
-		return "DriverDefn.Oracle Thin Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionType() {
-		return "org.eclipse.datatools.enablement.oracle.10.driverTemplate";
-	}
-
-	@Override
-	protected String getDatabaseVendor() {
-		return "Oracle";
-	}
-
-	@Override
-	protected String getDatabaseVersion() {
-		return "10";
-	}
-
-	@Override
-	protected String getDriverClass() {
-		return "oracle.jdbc.OracleDriver";
-	}
-
-	@Override
-	protected String getProfileName() {
-		return "Oracle10g_10.1.0.4";
-	}
-
-	@Override
-	protected String getProfileDescription() {
-		return "Oracle10g (10.1.0.4) JDBC Profile [Test]";
-	}
-
-	@Override
-	protected boolean supportsCatalogs() {
-		return false;
-	}
-
-	@Override
-	protected boolean executeOfflineTests() {
-		// working offline is pretty ugly
-		return false;
-	}
-
-	public void testDatabase() throws Exception {
-		if (this.connectionProfile.getUserName().toUpperCase().equals("SYS")) {
-			System.out.println("skipped test: " + this.getClass() + '.' + this.getName());
-			return;  // SYS does not have a schema
-		}
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		// Oracle should have a schema with the same name as the user
-		Schema schema = this.getDatabase().getSchemaForIdentifier(this.getUserID());
-		assertNotNull(schema);
-		assertSame(this.getDefaultSchema(), schema);
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testTable() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("foo_baz");
-		this.dropTable("baz");
-		this.dropTable("foo");
-		this.dropTable("bar");
-
-		this.executeUpdate(this.buildBarDDL());
-		this.executeUpdate(this.buildFooDDL());
-		this.executeUpdate(this.buildBazDDL());
-		this.executeUpdate(this.buildFooBazDDL());
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema = this.getDefaultSchema();
-
-		// foo
-		Table fooTable = schema.getTableForIdentifier("foo");
-		assertEquals(3, fooTable.getColumnsSize());
-		assertEquals(1, fooTable.getPrimaryKeyColumnsSize());
-		assertEquals(1, fooTable.getForeignKeysSize());
-
-		Column pkColumn = fooTable.getPrimaryKeyColumn();
-		assertEquals("ID", pkColumn.getName());
-		Column idColumn = fooTable.getColumnForIdentifier("id");
-		assertSame(pkColumn, idColumn);
-		assertEquals("NUMBER", idColumn.getDataTypeName());
-		assertSame(fooTable, idColumn.getTable());
-		assertTrue(idColumn.isPartOfPrimaryKey());
-		assertFalse(idColumn.isPartOfForeignKey());
-		assertEquals("java.math.BigDecimal", idColumn.getJavaTypeDeclaration());
-
-		Column nameColumn = fooTable.getColumnForIdentifier("name");
-		assertEquals("VARCHAR2", nameColumn.getDataTypeName());
-		assertEquals("java.lang.String", nameColumn.getJavaTypeDeclaration());
-		assertFalse(nameColumn.isPartOfPrimaryKey());
-
-		Column barColumn = fooTable.getColumnForIdentifier("bar_id");
-		assertEquals("NUMBER", barColumn.getDataTypeName());
-		assertTrue(barColumn.isPartOfForeignKey());
-		assertFalse(barColumn.isPartOfPrimaryKey());
-
-		ForeignKey barFK = fooTable.getForeignKeys().iterator().next();  // there should only be 1 foreign key
-		assertEquals(1, barFK.getColumnPairsSize());
-		assertEquals("BAR", barFK.getAttributeName());
-		assertNull(barFK.getJoinColumnAnnotationIdentifier("bar"));
-		assertEquals("BAR_ID", barFK.getJoinColumnAnnotationIdentifier("primaryBar"));
-		assertSame(fooTable, barFK.getBaseTable());
-
-		assertFalse(fooTable.isPossibleJoinTable());
-		assertSame(schema, fooTable.getSchema());
-
-		// BAR
-		Table barTable = schema.getTableForIdentifier("bar");
-		assertEquals(2, barTable.getColumnsSize());
-		assertEquals(1, barTable.getPrimaryKeyColumnsSize());
-		assertEquals(0, barTable.getForeignKeysSize());
-		assertEquals("ID", barTable.getPrimaryKeyColumn().getName());
-		assertFalse(barTable.isPossibleJoinTable());
-		assertEquals("BLOB", barTable.getColumnForIdentifier("chunk").getDataTypeName());
-		assertEquals("byte[]", barTable.getColumnForIdentifier("chunk").getJavaTypeDeclaration());
-		assertTrue(barTable.getColumnForIdentifier("chunk").isLOB());
-		assertSame(barTable, barFK.getReferencedTable());
-
-		// FOO_BAZ
-		Table foo_bazTable = schema.getTableForIdentifier("foo_baz");
-		assertEquals(2, foo_bazTable.getColumnsSize());
-		assertEquals(0, foo_bazTable.getPrimaryKeyColumnsSize());
-		assertEquals(2, foo_bazTable.getForeignKeysSize());
-		assertTrue(foo_bazTable.isPossibleJoinTable());
-		assertTrue(foo_bazTable.joinTableNameIsDefault());
-		assertTrue(foo_bazTable.getColumnForIdentifier("foo_id").isPartOfForeignKey());
-
-		this.dropTable("foo_baz");
-		this.dropTable("baz");
-		this.dropTable("foo");
-		this.dropTable("bar");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	private static final String CR = System.getProperty("line.separator");  //$NON-NLS-1$
-
-	private String buildBarDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE bar (").append(CR);
-		sb.append("    id NUMBER(10) PRIMARY KEY,").append(CR);
-		sb.append("    chunk BLOB").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE foo (").append(CR);
-		sb.append("    id NUMBER(10) PRIMARY KEY,").append(CR);
-		sb.append("    name VARCHAR2(20),").append(CR);
-		sb.append("    bar_id REFERENCES bar(id)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE baz (").append(CR);
-		sb.append("    id NUMBER(10) PRIMARY KEY,").append(CR);
-		sb.append("    name VARCHAR2(20)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE foo_baz (").append(CR);
-		sb.append("    foo_id NUMBER(10) REFERENCES foo(id),").append(CR);
-		sb.append("    baz_id NUMBER(10) REFERENCES baz(id)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	public void testTableLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("test1");
-		this.dropTable("TEST2");
-		this.dropTable("\"test3\"");
-
-		this.executeUpdate("CREATE TABLE test1 (id NUMBER(10), name VARCHAR2(20))");
-		this.executeUpdate("CREATE TABLE TEST2 (id NUMBER(10), name VARCHAR2(20))");
-		this.executeUpdate("CREATE TABLE \"test3\" (id NUMBER(10), name VARCHAR2(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema = this.getDefaultSchema();
-
-		Table test1Table = schema.getTableForIdentifier("test1");
-		assertNotNull(test1Table);
-		test1Table = schema.getTableForIdentifier("TEST1");
-		assertNotNull(test1Table);
-
-		Table test2Table = schema.getTableForIdentifier("test2");
-		assertNotNull(test2Table);
-		test2Table = schema.getTableForIdentifier("TEST2");
-		assertNotNull(test2Table);
-
-		Table test3Table = schema.getTableForIdentifier("\"test3\"");
-		assertNotNull(test3Table);
-		test3Table = schema.getTableForIdentifier("test3");
-		assertNull(test3Table);
-
-		this.dropTable("test1");
-		this.dropTable("TEST2");
-		this.dropTable("\"test3\"");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testColumnLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("test");
-
-		// lowercase
-		this.executeUpdate("CREATE TABLE test (id NUMBER(10), name VARCHAR2(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Table table = this.getDefaultSchema().getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("id"));
-		assertNotNull(table.getColumnForIdentifier("name"));
-
-		this.dropTable("test");
-
-		// uppercase
-		this.executeUpdate("CREATE TABLE test (ID NUMBER(10), NAME VARCHAR2(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDefaultSchema().getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("ID"));
-		assertNotNull(table.getColumnForIdentifier("NAME"));
-
-		this.dropTable("test");
-
-		// mixed case
-		this.executeUpdate("CREATE TABLE test (Id NUMBER(10), Name VARCHAR2(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDefaultSchema().getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("Id"));
-		assertNotNull(table.getColumnForIdentifier("Name"));
-
-		this.dropTable("test");
-
-		// delimited
-		this.executeUpdate("CREATE TABLE test (\"Id\" NUMBER(10), \"Name\" VARCHAR2(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDefaultSchema().getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("\"Id\""));
-		assertNotNull(table.getColumnForIdentifier("\"Name\""));
-
-		this.dropTable("test");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testCrossSchemaReference() throws Exception {
-		if ( ! this.connectionProfile.getUserName().toUpperCase().equals("SYS")) {
-			System.out.println("skipped test: " + this.getClass() + '.' + this.getName());
-			return;  // SYS does not have a schema
-		}
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.executeUpdateIgnoreErrors("DROP USER XREF_TEST2 CASCADE");
-		this.executeUpdateIgnoreErrors("DROP USER XREF_TEST1 CASCADE");
-
-		this.executeUpdate("CREATE USER XREF_TEST1 IDENTIFIED BY foo");
-		this.executeUpdate("ALTER USER XREF_TEST1 QUOTA UNLIMITED ON USERS");
-		this.executeUpdate("CREATE TABLE XREF_TEST1.ORG (ID NUMBER(10) PRIMARY KEY, NAME VARCHAR2(20))");
-
-		this.executeUpdate("CREATE USER XREF_TEST2 IDENTIFIED BY foo");
-		this.executeUpdate("ALTER USER XREF_TEST2 QUOTA UNLIMITED ON USERS");
-		this.executeUpdate("GRANT ALL ON XREF_TEST1.ORG TO XREF_TEST2");
-		this.executeUpdate("CREATE TABLE XREF_TEST2.EMP (ID NUMBER(10) PRIMARY KEY, NAME VARCHAR2(20), " +
-				"ORG_ID NUMBER(10) REFERENCES XREF_TEST1.ORG(ID))");
-
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		Schema schema1 = this.getDatabase().getSchemaNamed("XREF_TEST1");
-		assertNotNull(schema1);
-		Table orgTable = schema1.getTableNamed("ORG");
-		assertNotNull(orgTable);
-
-		Schema schema2 = this.getDatabase().getSchemaNamed("XREF_TEST2");
-		assertNotNull(schema2);
-		Table empTable = schema2.getTableNamed("EMP");
-		assertNotNull(empTable);
-		assertEquals(1, empTable.getForeignKeysSize());
-		ForeignKey fk = empTable.getForeignKeys().iterator().next();
-		Table refTable = fk.getReferencedTable();
-		assertNotNull(refTable);
-		assertEquals("ORG", refTable.getName());
-		assertEquals(1, fk.getColumnPairsSize());
-		ForeignKey.ColumnPair cp = fk.getColumnPairs().iterator().next();
-		Column baseColumn = cp.getBaseColumn();
-		assertEquals("ORG_ID", baseColumn.getName());
-		Column refColumn = cp.getReferencedColumn();
-		assertEquals("ID", refColumn.getName());
-
-		this.executeUpdate("DROP USER XREF_TEST2 CASCADE");
-		this.executeUpdate("DROP USER XREF_TEST1 CASCADE");
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	private void dropTable(String tableName) throws Exception {
-		this.executeUpdateIgnoreErrors("DROP TABLE " + tableName + " CASCADE CONSTRAINTS");
-	}
-
-// need Oracle enablement plug-in
-//	public void testSequence() throws Exception {
-//		this.connectionProfile.connect();
-//		TestConnectionListener listener = new TestConnectionListener();
-//		this.connectionProfile.addConnectionListener(listener);
-//
-//		this.dropSequence("FOO_SEQ");
-//
-//		this.executeUpdate("CREATE SEQUENCE FOO_SEQ");
-//		((ICatalogObject) this.getDTPDatabase()).refresh();
-//
-//		Sequence sequence = this.getDatabase().getDefaultSchema().getSequenceForIdentifier("FOO");
-//		assertNotNull(sequence);
-//		assertEquals("FOO_SEQ", sequence.getName());
-//
-//		this.dropSequence("FOO_SEQ");
-//
-//		this.connectionProfile.removeConnectionListener(listener);
-//		this.connectionProfile.disconnect();
-//	}
-//
-//	private void dropSequence(String sequenceName) throws Exception {
-//		this.executeUpdateIgnoreErrors("DROP SEQUENCE " + sequenceName);
-//	}
-//
-	protected void dumpUserObjects() throws SQLException {
-		this.dump("select * from user_objects");
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle10gXETests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle10gXETests.java
deleted file mode 100644
index d966a9a..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle10gXETests.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-
-/**
- *  Oracle 10g Thin Driver Test
- */
-@SuppressWarnings("nls")
-public class Oracle10gXETests extends DTPPlatformTests {
-
-	public Oracle10gXETests( String name) {
-		super( name);
-	}
-
-	@Override
-	protected String getPlatformPropertiesFileName() {
-		return "oracle10gXE.properties";
-	}
-
-	@Override
-	protected String getDriverName() {
-		return "Oracle 10g Thin Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionID() {
-		return "DriverDefn.Oracle Thin Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionType() {
-		return "org.eclipse.datatools.enablement.oracle.10.driverTemplate";
-	}
-
-	@Override
-	protected String getDatabaseVendor() {
-		return "Oracle";
-	}
-
-	@Override
-	protected String getDatabaseVersion() {
-		return "10";
-	}
-
-	@Override
-	protected String getDriverClass() {
-		return "oracle.jdbc.OracleDriver";
-	}
-
-	@Override
-	protected String getProfileName() {
-		return "Oracle10g_XE";
-	}
-
-	@Override
-	protected String getProfileDescription() {
-		return "Oracle10g XE Release 2 (10.2) JDBC Profile [Test]";
-	}
-
-	@Override
-	protected boolean supportsCatalogs() {
-		return false;
-	}
-
-	@Override
-	protected boolean executeOfflineTests() {
-		// working offline is pretty ugly
-		return false;
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle9iTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle9iTests.java
deleted file mode 100644
index 102e919..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/Oracle9iTests.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-
-/**
- *  Oracle 9i Thin Driver Test
- */
-@SuppressWarnings("nls")
-public class Oracle9iTests extends DTPPlatformTests {
-
-	public Oracle9iTests( String name) {
-		super( name);
-	}
-
-	@Override
-	protected String getPlatformPropertiesFileName() {
-		return "oracle9i.properties";
-	}
-
-	@Override
-	protected String getDriverName() {
-		return "Oracle 9i Thin Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionID() {
-		return "DriverDefn.Oracle Thin Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionType() {
-		return "org.eclipse.datatools.enablement.oracle.9.driverTemplate";
-	}
-
-	@Override
-	protected String getDatabaseVendor() {
-		return "Oracle";
-	}
-
-	@Override
-	protected String getDatabaseVersion() {
-		return "9";
-	}
-
-	@Override
-	protected String getDriverClass() {
-		return "oracle.jdbc.OracleDriver";
-	}
-
-	@Override
-	protected String getProfileName() {
-		return "Oracle9i";
-	}
-
-	@Override
-	protected String getProfileDescription() {
-		return "Oracle9i JDBC Profile [Test]";
-	}
-
-	@Override
-	protected boolean supportsCatalogs() {
-		return false;
-	}
-
-	@Override
-	protected boolean executeOfflineTests() {
-		// working offline is pretty ugly
-		return false;
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/PostgreSQLTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/PostgreSQLTests.java
deleted file mode 100644
index 6e501a7..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/PostgreSQLTests.java
+++ /dev/null
@@ -1,486 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Table;
-
-@SuppressWarnings("nls")
-public class PostgreSQLTests extends DTPPlatformTests {
-
-	public PostgreSQLTests( String name) {
-		super( name);
-	}
-
-	@Override
-	protected String getPlatformPropertiesFileName() {
-		return "postgresql.properties";
-	}
-
-	@Override
-	protected String getDriverName() {
-		return "PostgreSQL JDBC Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionID() {
-		return "DriverDefn.PostgreSQL JDBC Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionType() {
-		return "org.eclipse.datatools.enablement.postgresql.postgresqlDriverTemplate";
-	}
-
-	@Override
-	protected String getDatabaseVendor() {
-		return "postgres";
-	}
-
-	@Override
-	protected String getDatabaseVersion() {
-		return "8.x";
-	}
-
-	@Override
-	protected String getDriverClass() {
-		return "org.postgresql.Driver";
-	}
-
-	@Override
-	protected String getDefaultJDBCURL() {
-		// using this URL will result in the DTP database containing a single
-		// catalog named "" - which, unfortunately, resembles the pseudo-catalog
-		// generated by DTP for databases that do not return any catalogs via
-		// JDBC metadata calls...
-		return "jdbc:postgresql";
-	}
-
-	@Override
-	protected String getProfileName() {
-		return "PostgreSQL";
-	}
-
-	@Override
-	protected String getProfileDescription() {
-		return "PostgreSQL 8.2 JDBC Profile [Test]";
-	}
-
-	@Override
-	protected boolean supportsCatalogs() {
-		return true;
-	}
-
-	@Override
-	protected boolean executeOfflineTests() {
-		// DTP does not support PostgreSQL off-line - see 226704/241558
-		return false;
-	}
-
-	public void testSchema() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropSchema("TEST1");
-		this.dropSchema("TEST2");
-
-		this.executeUpdate("CREATE SCHEMA TEST1");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema1 = this.getDefaultCatalog().getSchemaForIdentifier("TEST1");
-		assertNotNull(schema1);
-
-		this.executeUpdate("CREATE SCHEMA TEST2");
-		Schema schema2 = this.getDefaultCatalog().getSchemaForIdentifier("TEST2");
-		assertNull(schema2);  // should be null until refresh
-
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		assertSame(this.getDatabase(), listener.changedDatabase);
-
-		schema2 = this.getDefaultCatalog().getSchemaForIdentifier("TEST2");
-		assertNotNull(schema2);
-		assertNotSame(schema1, this.getDefaultCatalog().getSchemaForIdentifier("TEST1"));  // we should have a new schema after the refresh
-
-		this.dropSchema("TEST2");
-		this.dropSchema("TEST1");
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testSchemaLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropSchema("LOOKUP_TEST");
-		this.dropSchema("\"lookup_TEST\"");
-
-		this.executeUpdate("CREATE SCHEMA LOOKUP_TEST");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		assertNull(this.getDefaultCatalog().getSchemaNamed("LOOKUP_TEST"));
-		assertNotNull(this.getDefaultCatalog().getSchemaForIdentifier("LOOKUP_TEST"));
-
-		assertNotNull(this.getDefaultCatalog().getSchemaNamed("lookup_test"));
-		assertNotNull(this.getDefaultCatalog().getSchemaForIdentifier("lookup_test"));
-
-		assertNull(this.getDefaultCatalog().getSchemaNamed("lookup_TEST"));
-		assertNotNull(this.getDefaultCatalog().getSchemaForIdentifier("lookup_TEST"));
-
-		assertNotNull(this.getDefaultCatalog().getSchemaForIdentifier("\"lookup_test\""));
-		assertNull(this.getDefaultCatalog().getSchemaForIdentifier("\"lookup_TEST\""));
-		assertNull(this.getDefaultCatalog().getSchemaForIdentifier("\"LOOKUP_TEST\""));
-
-		this.dropSchema("LOOKUP_TEST");
-
-		this.executeUpdate("CREATE SCHEMA \"lookup_TEST\"");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		assertNull(this.getDefaultCatalog().getSchemaNamed("LOOKUP_TEST"));
-		assertNull(this.getDefaultCatalog().getSchemaForIdentifier("LOOKUP_TEST"));
-
-		assertNull(this.getDefaultCatalog().getSchemaNamed("lookup_test"));
-		assertNull(this.getDefaultCatalog().getSchemaForIdentifier("lookup_test"));
-
-		assertNotNull(this.getDefaultCatalog().getSchemaNamed("lookup_TEST"));
-		assertNull(this.getDefaultCatalog().getSchemaForIdentifier("lookup_TEST"));
-
-		assertNull(this.getDefaultCatalog().getSchemaForIdentifier("\"LOOKUP_TEST\""));
-		assertNotNull(this.getDefaultCatalog().getSchemaForIdentifier("\"lookup_TEST\""));
-
-		this.dropSchema("\"lookup_TEST\"");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testSchemaIdentifier() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropSchema("LOOKUP_TEST");
-		this.dropSchema("\"lookup_TEST\"");
-
-		this.executeUpdate("CREATE SCHEMA lookup_test");  // this gets folded to lowercase
-		this.executeUpdate("CREATE SCHEMA \"lookup_TEST\"");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema = this.getDefaultCatalog().getSchemaForIdentifier("LOOKUP_TEST");
-		assertEquals("lookup_test", schema.getIdentifier());
-		assertEquals("lookup_test", schema.getIdentifier("LookupTest"));
-		assertNull(schema.getIdentifier("Lookup_Test"));
-
-		schema = this.getDefaultCatalog().getSchemaNamed("lookup_test");
-		assertEquals("lookup_test", schema.getIdentifier());
-
-		schema = this.getDefaultCatalog().getSchemaForIdentifier("\"lookup_TEST\"");
-		assertEquals("\"lookup_TEST\"", schema.getIdentifier());
-		assertEquals("\"lookup_TEST\"", schema.getIdentifier("lookup_TEST"));
-
-		this.dropSchema("\"lookup_TEST\"");
-		this.dropSchema("LOOKUP_TEST");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testTable() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("TABLE_TEST", "FOO_BAZ");
-		this.dropTable("TABLE_TEST", "BAZ");
-		this.dropTable("TABLE_TEST", "FOO");
-		this.dropTable("TABLE_TEST", "BAR");
-		this.dropSchema("TABLE_TEST");
-
-		this.executeUpdate("CREATE SCHEMA TABLE_TEST");
-		this.executeUpdate("SET search_path TO TABLE_TEST");
-
-		this.executeUpdate(this.buildBarDDL());
-		this.executeUpdate(this.buildFooDDL());
-		this.executeUpdate(this.buildBazDDL());
-		this.executeUpdate(this.buildFooBazDDL());
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema = this.getDefaultCatalog().getSchemaForIdentifier("TABLE_TEST");
-
-		// FOO
-		Table fooTable = schema.getTableForIdentifier("FOO");
-		assertEquals(3, fooTable.getColumnsSize());
-		assertEquals(1, fooTable.getPrimaryKeyColumnsSize());
-		assertEquals(1, fooTable.getForeignKeysSize());
-
-		Column pkColumn = fooTable.getPrimaryKeyColumn();
-		assertEquals("id", pkColumn.getName());
-		Column idColumn = fooTable.getColumnForIdentifier("ID");
-		assertSame(pkColumn, idColumn);
-		assertEquals("INT4", idColumn.getDataTypeName());
-		assertSame(fooTable, idColumn.getTable());
-		assertTrue(idColumn.isPartOfPrimaryKey());
-		assertFalse(idColumn.isPartOfForeignKey());
-		assertEquals("java.lang.Integer", idColumn.getJavaTypeDeclaration());
-
-		Column nameColumn = fooTable.getColumnForIdentifier("NAME");
-		assertEquals("VARCHAR", nameColumn.getDataTypeName());
-		assertEquals("java.lang.String", nameColumn.getJavaTypeDeclaration());
-		assertFalse(nameColumn.isPartOfPrimaryKey());
-
-		Column barColumn = fooTable.getColumnForIdentifier("BAR_ID");
-		assertEquals("INT4", barColumn.getDataTypeName());
-		assertTrue(barColumn.isPartOfForeignKey());
-		assertFalse(barColumn.isPartOfPrimaryKey());
-
-		ForeignKey barFK = fooTable.getForeignKeys().iterator().next();  // there should only be 1 foreign key
-		assertEquals(1, barFK.getColumnPairsSize());
-		assertEquals("bar", barFK.getAttributeName());
-		assertNull(barFK.getJoinColumnAnnotationIdentifier("bar"));
-		assertEquals("bar_id", barFK.getJoinColumnAnnotationIdentifier("primaryBar"));
-		assertSame(fooTable, barFK.getBaseTable());
-
-		assertFalse(fooTable.isPossibleJoinTable());
-		assertSame(schema, fooTable.getSchema());
-
-		// BAR
-		Table barTable = schema.getTableForIdentifier("BAR");
-		assertEquals(2, barTable.getColumnsSize());
-		assertEquals(1, barTable.getPrimaryKeyColumnsSize());
-		assertEquals(0, barTable.getForeignKeysSize());
-		assertEquals("id", barTable.getPrimaryKeyColumn().getName());
-		assertFalse(barTable.isPossibleJoinTable());
-		assertEquals("BYTEA", barTable.getColumnForIdentifier("CHUNK").getDataTypeName());
-		assertEquals("byte[]", barTable.getColumnForIdentifier("CHUNK").getJavaTypeDeclaration());
-		// assertTrue(barTable.getColumnForIdentifier("CHUNK").dataTypeIsLOB());
-		assertSame(barTable, barFK.getReferencedTable());
-
-		// FOO_BAZ
-		Table foo_bazTable = schema.getTableForIdentifier("FOO_BAZ");
-		assertEquals(2, foo_bazTable.getColumnsSize());
-		assertEquals(0, foo_bazTable.getPrimaryKeyColumnsSize());
-		assertEquals(2, foo_bazTable.getForeignKeysSize());
-		assertTrue(foo_bazTable.isPossibleJoinTable());
-		assertTrue(foo_bazTable.joinTableNameIsDefault());
-		assertTrue(foo_bazTable.getColumnForIdentifier("FOO_ID").isPartOfForeignKey());
-
-		this.dropTable("TABLE_TEST", "FOO_BAZ");
-		this.dropTable("TABLE_TEST", "BAZ");
-		this.dropTable("TABLE_TEST", "FOO");
-		this.dropTable("TABLE_TEST", "BAR");
-		this.dropSchema("TABLE_TEST");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	private static final String CR = System.getProperty("line.separator");  //$NON-NLS-1$
-
-	private String buildBarDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE BAR (").append(CR);
-		sb.append("    ID integer PRIMARY KEY,").append(CR);
-		sb.append("    CHUNK bytea").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE FOO (").append(CR);
-		sb.append("    ID integer PRIMARY KEY,").append(CR);
-		sb.append("    NAME varchar(20),").append(CR);
-		sb.append("    BAR_ID integer REFERENCES BAR(ID)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE BAZ (").append(CR);
-		sb.append("    ID integer PRIMARY KEY,").append(CR);
-		sb.append("    NAME varchar(20)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("CREATE TABLE FOO_BAZ (").append(CR);
-		sb.append("    FOO_ID int REFERENCES FOO(ID),").append(CR);
-		sb.append("    BAZ_ID int REFERENCES BAZ(ID)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	public void testColumnLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("TABLE_TEST", "test");
-		this.dropSchema("TABLE_TEST");
-
-		this.executeUpdate("CREATE SCHEMA TABLE_TEST");
-		this.executeUpdate("SET search_path TO TABLE_TEST");
-
-		// lowercase
-		this.executeUpdate("CREATE TABLE test (id int, name varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Table table = this.getDefaultCatalog().getSchemaForIdentifier("TABLE_TEST").getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("id"));
-		assertNotNull(table.getColumnForIdentifier("name"));
-
-		this.dropTable("TABLE_TEST", "test");
-
-		// uppercase
-		this.executeUpdate("CREATE TABLE test (ID int, NAME varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDefaultCatalog().getSchemaForIdentifier("TABLE_TEST").getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("ID"));
-		assertNotNull(table.getColumnForIdentifier("NAME"));
-
-		this.dropTable("TABLE_TEST", "test");
-
-		// mixed case
-		this.executeUpdate("CREATE TABLE test (Id int, Name varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDefaultCatalog().getSchemaForIdentifier("TABLE_TEST").getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("Id"));
-		assertNotNull(table.getColumnForIdentifier("Name"));
-
-		this.dropTable("TABLE_TEST", "test");
-
-		// delimited
-		this.executeUpdate("CREATE TABLE test (\"Id\" int, \"Name\" varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDefaultCatalog().getSchemaForIdentifier("TABLE_TEST").getTableForIdentifier("test");
-		assertNotNull(table.getColumnForIdentifier("\"Id\""));
-		assertNotNull(table.getColumnForIdentifier("\"Name\""));
-
-		this.dropTable("TABLE_TEST", "test");
-		this.dropSchema("TABLE_TEST");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testCrossSchemaReference() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.dropTable("XREF_TEST2", "EMP");
-		this.dropSchema("XREF_TEST2");
-		this.dropTable("XREF_TEST1", "ORG");
-		this.dropSchema("XREF_TEST1");
-
-		this.executeUpdate("CREATE SCHEMA XREF_TEST1");
-		this.executeUpdate("SET search_path TO XREF_TEST1");
-		this.executeUpdate("CREATE TABLE ORG (ID integer PRIMARY KEY, NAME varchar(20))");
-
-		this.executeUpdate("CREATE SCHEMA XREF_TEST2");
-		this.executeUpdate("SET search_path TO XREF_TEST2");
-		this.executeUpdate("CREATE TABLE EMP (ID integer PRIMARY KEY, NAME varchar(20), " +
-				"ORG_ID integer REFERENCES XREF_TEST1.ORG(ID))");
-
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		Schema schema1 = this.getDefaultCatalog().getSchemaNamed("xref_test1");
-		assertNotNull(schema1);
-		Table orgTable = schema1.getTableNamed("org");
-		assertNotNull(orgTable);
-
-		Schema schema2 = this.getDefaultCatalog().getSchemaNamed("xref_test2");
-		assertNotNull(schema2);
-		Table empTable = schema2.getTableNamed("emp");
-		assertNotNull(empTable);
-		assertEquals(1, empTable.getForeignKeysSize());
-		ForeignKey fk = empTable.getForeignKeys().iterator().next();
-		Table refTable = fk.getReferencedTable();
-		assertNotNull(refTable);
-		assertEquals("org", refTable.getName());
-		assertEquals(1, fk.getColumnPairsSize());
-		ForeignKey.ColumnPair cp = fk.getColumnPairs().iterator().next();
-		Column baseColumn = cp.getBaseColumn();
-		assertEquals("org_id", baseColumn.getName());
-		Column refColumn = cp.getReferencedColumn();
-		assertEquals("id", refColumn.getName());
-
-		this.dropTable("XREF_TEST2", "EMP");
-		this.dropSchema("XREF_TEST2");
-		this.dropTable("XREF_TEST1", "ORG");
-		this.dropSchema("XREF_TEST1");
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	private void dropTable(String schemaName, String tableName) throws Exception {
-		Schema schema= this.getDefaultCatalog().getSchemaForIdentifier(schemaName);
-		if (schema != null) {
-			if (schema.getTableForIdentifier(tableName) != null) {
-				this.executeUpdate("DROP TABLE " + schemaName + '.' + tableName);
-			}
-		}
-	}
-
-	private void dropSchema(String name) throws Exception {
-		if (this.getDefaultCatalog().getSchemaForIdentifier(name) != null) {
-			this.executeUpdate("DROP SCHEMA " + name + " CASCADE");
-		}
-	}
-
-// see 241578/241557
-//	public void testSequence() throws Exception {
-//		this.connectionProfile.connect();
-//		TestConnectionListener listener = new TestConnectionListener();
-//		this.connectionProfile.addConnectionListener(listener);
-//
-//		this.dropSequence("SEQUENCE_TEST", "FOO");
-//		this.dropSchema("SEQUENCE_TEST");
-//
-//		this.executeUpdate("CREATE SCHEMA SEQUENCE_TEST");
-//		this.executeUpdate("SET search_path TO SEQUENCE_TEST");
-//
-//		this.executeUpdate(this.buildBarDDL());
-//		this.executeUpdate("CREATE SEQUENCE FOO START 1");
-////		List<Object[]> list = this.execute("SELECT nextval('foo')");
-////		System.out.println(list);
-//		((ICatalogObject) this.getDTPDatabase()).refresh();
-//
-//		Schema schema = this.getDefaultCatalog().getSchemaNamed("SEQUENCE_TEST");
-//		Sequence sequence = schema.getSequenceNamed("FOO");
-//		assertNotNull(sequence);
-//		assertEquals("foo_seq", sequence.getName());
-//
-//		this.dropSequence("SEQUENCE_TEST", "FOO");
-//		this.dropSchema("SEQUENCE_TEST");
-//
-//		this.connectionProfile.removeConnectionListener(listener);
-//		this.connectionProfile.disconnect();
-//	}
-//
-//	private void dropSequence(String schemaName, String sequenceName) throws Exception {
-//		Schema schema= this.getDefaultCatalog().getSchemaNamed(schemaName);
-//		if (schema != null) {
-//			if (schema.getSequenceNamed(sequenceName) != null) {
-//				this.executeUpdate("DROP SEQUENCE " + schemaName + '.' + sequenceName);
-//			}
-//		}
-//	}
-//
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/SQLServerTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/SQLServerTests.java
deleted file mode 100644
index 346583f..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/SQLServerTests.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-
-/**
- *  SQL Server 2005 Driver Test
- */
-@SuppressWarnings("nls")
-public class SQLServerTests extends DTPPlatformTests {
-
-	public SQLServerTests( String name) {
-		super( name);
-	}
-
-	@Override
-	protected String getPlatformPropertiesFileName() {
-		return "sqlserver.properties";
-	}
-
-	@Override
-	protected String getDriverName() {
-		return "Microsoft SQL Server 2005 JDBC Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionID() {
-		return "DriverDefn.Microsoft SQL Server 2005 JDBC Driver";
-	}
-
-	@Override
-	protected String getDriverDefinitionType() {
-		return "org.eclipse.datatools.enablement.msft.sqlserver.2005.driverTemplate";
-	}
-
-	@Override
-	protected String getDatabaseVendor() {
-		return "SQLServer";
-	}
-
-	@Override
-	protected String getDatabaseVersion() {
-		return "2005";
-	}
-
-	@Override
-	protected String getDriverClass() {
-		return "com.microsoft.sqlserver.jdbc.SQLServerDriver";
-	}
-
-	@Override
-	protected String getProfileName() {
-		return "SQLServer_2005";
-	}
-
-	@Override
-	protected String getProfileDescription() {
-		return "Microsoft SQL Server 2005 JDBC Profile [Test]";
-	}
-
-	@Override
-	protected String getProviderID() {
-		return "org.eclipse.datatools.connectivity.db.generic.connectionProfile";
-	}
-
-	@Override
-	protected boolean supportsCatalogs() {
-		return true;
-	}
-
-	@Override
-	protected boolean executeOfflineTests() {
-		return true;  // haven't actually tried this yet...
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/SybaseTests.java b/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/SybaseTests.java
deleted file mode 100644
index ef91d7a..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.db.tests/src/org/eclipse/jpt/jpa/db/tests/internal/platforms/SybaseTests.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.db.tests.internal.platforms;
-
-import org.eclipse.datatools.connectivity.sqm.core.rte.ICatalogObject;
-import org.eclipse.jpt.jpa.db.Catalog;
-import org.eclipse.jpt.jpa.db.Column;
-import org.eclipse.jpt.jpa.db.ForeignKey;
-import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.jpt.jpa.db.Table;
-
-@SuppressWarnings("nls")
-public class SybaseTests extends DTPPlatformTests {
-
-	public SybaseTests( String name) {
-		super( name);
-	}
-
-	@Override
-	protected String getPlatformPropertiesFileName() {
-		return "sybase.properties";
-	}
-
-	@Override
-	protected String getDriverName() {
-		return "Sybase JDBC Driver for Sybase ASE 15.x";
-	}
-
-	@Override
-	protected String getDriverDefinitionID() {
-		return "DriverDefn.Sybase JDBC Driver for Sybase ASE 15.x";
-	}
-
-	@Override
-	protected String getDriverDefinitionType() {
-		return "org.eclipse.datatools.connectivity.db.sybase.ase.genericDriverTemplate_15";
-	}
-
-	@Override
-	protected String getDatabaseVendor() {
-		return "Sybase_ASE";
-	}
-
-	@Override
-	protected String getDatabaseVersion() {
-		return "15.x";
-	}
-
-	@Override
-	protected String getDriverClass() {
-		return "com.sybase.jdbc3.jdbc.SybDriver";
-	}
-
-	@Override
-	protected String getProfileName() {
-		return "Sybase_15";
-	}
-
-	@Override
-	protected String getProfileDescription() {
-		return "Sybase ASE 15 jConnect JDBC Profile [Test]";
-	}
-
-	@Override
-	protected boolean supportsCatalogs() {
-		return true;
-	}
-
-	@Override
-	protected boolean executeOfflineTests() {
-		// working offline is pretty ugly
-		return false;
-	}
-
-	/**
-	 * Sybase "databases" become DTP "catalogs"
-	 */
-	public void testCatalog() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdateIgnoreErrors("drop database test1");
-		this.executeUpdateIgnoreErrors("drop database test2");
-
-		this.executeUpdate("create database test1");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Catalog catalog1 = this.getDatabase().getCatalogNamed("test1");
-		assertNotNull(catalog1);
-		Schema schema1 = catalog1.getSchemaNamed("dbo");
-		assertNotNull(schema1);
-		assertSame(schema1, catalog1.getDefaultSchema());
-
-		this.executeUpdate("create database test2");
-		Catalog catalog2 = this.getDatabase().getCatalogNamed("test2");
-		assertNull(catalog2);  // should be null until refresh
-
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		assertSame(this.getDatabase(), listener.changedDatabase);
-
-		catalog2 = this.getDatabase().getCatalogNamed("test2");
-		assertNotNull(catalog2);
-		Schema schema2 = catalog2.getDefaultSchema();
-		assertNotNull(schema2);
-
-		assertNotSame(catalog1, this.getDatabase().getCatalogNamed("test1"));  // we should have a new catalog after the refresh
-		assertNotSame(schema1, this.getDatabase().getCatalogNamed("test1").getDefaultSchema());  // we should have a new schema after the refresh
-
-		this.executeUpdate("drop database test2");
-		this.executeUpdate("drop database test1");
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testTable() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdateIgnoreErrors("drop database table_test");
-		this.executeUpdate("create database table_test");
-		this.getJDBCConnection().setCatalog("table_test");
-
-		this.executeUpdate(this.buildBarDDL());
-		this.executeUpdate(this.buildFooDDL());
-		this.executeUpdate(this.buildBazDDL());
-		this.executeUpdate(this.buildFooBazDDL());
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema = this.getDatabase().getCatalogNamed("table_test").getDefaultSchema();
-
-		// foo
-		Table fooTable = schema.getTableNamed("foo");
-		assertEquals(3, fooTable.getColumnsSize());
-		assertEquals(1, fooTable.getPrimaryKeyColumnsSize());
-		assertEquals(1, fooTable.getForeignKeysSize());
-
-		Column pkColumn = fooTable.getPrimaryKeyColumn();
-		assertEquals("id", pkColumn.getName());
-		Column idColumn = fooTable.getColumnNamed("id");
-		assertSame(fooTable, idColumn.getTable());
-		assertSame(pkColumn, idColumn);
-		assertTrue(idColumn.isPartOfPrimaryKey());
-		assertFalse(idColumn.isPartOfForeignKey());
-		assertTrue(idColumn.isPartOfUniqueConstraint());
-		assertFalse(idColumn.isNullable());
-
-		assertEquals("INT", idColumn.getDataTypeName());
-		assertTrue(idColumn.isNumeric());
-		assertEquals(0, idColumn.getPrecision());
-		assertEquals(0, idColumn.getScale());
-		assertEquals(-1, idColumn.getLength());
-		assertFalse(idColumn.isLOB());
-		assertEquals("int", idColumn.getJavaTypeDeclaration());
-
-		Column nameColumn = fooTable.getColumnNamed("name");
-		assertFalse(nameColumn.isPartOfPrimaryKey());
-		assertFalse(nameColumn.isPartOfForeignKey());
-		assertTrue(nameColumn.isPartOfUniqueConstraint());
-		assertFalse(nameColumn.isNullable());  // implied "NOT NULL" ?
-
-		assertEquals("VARCHAR", nameColumn.getDataTypeName());
-		assertFalse(nameColumn.isNumeric());
-		assertEquals(-1, nameColumn.getPrecision());
-		assertEquals(-1, nameColumn.getScale());
-		assertEquals(20, nameColumn.getLength());
-		assertFalse(nameColumn.isLOB());
-		assertEquals("java.lang.String", nameColumn.getJavaTypeDeclaration());
-
-		Column barColumn = fooTable.getColumnNamed("bar_id");
-		assertEquals("INT", barColumn.getDataTypeName());
-		assertTrue(barColumn.isPartOfForeignKey());
-		assertFalse(barColumn.isPartOfPrimaryKey());
-
-		ForeignKey barFK = fooTable.getForeignKeys().iterator().next();  // there should only be 1 foreign key
-		assertEquals(1, barFK.getColumnPairsSize());
-		assertEquals("bar", barFK.getAttributeName());
-		assertNull(barFK.getJoinColumnAnnotationIdentifier("bar"));
-		assertEquals("bar_id", barFK.getJoinColumnAnnotationIdentifier("primaryBar"));
-		assertSame(fooTable, barFK.getBaseTable());
-
-		assertFalse(fooTable.isPossibleJoinTable());
-		assertSame(schema, fooTable.getSchema());
-
-		// BAR
-		Table barTable = schema.getTableNamed("bar");
-		assertEquals(2, barTable.getColumnsSize());
-		assertEquals(1, barTable.getPrimaryKeyColumnsSize());
-		assertEquals(0, barTable.getForeignKeysSize());
-		assertEquals("id", barTable.getPrimaryKeyColumn().getName());
-		assertFalse(barTable.isPossibleJoinTable());
-		Column chunkColumn = barTable.getColumnNamed("chunk");
-		assertEquals("IMAGE", chunkColumn.getDataTypeName());
-		assertFalse(chunkColumn.isNumeric());
-		assertTrue(chunkColumn.isLOB());
-		assertEquals("byte[]", chunkColumn.getJavaTypeDeclaration());
-		assertSame(barTable, barFK.getReferencedTable());
-
-		// BAZ
-		Table bazTable = schema.getTableNamed("baz");
-		assertEquals(4, bazTable.getColumnsSize());
-		assertEquals(1, bazTable.getPrimaryKeyColumnsSize());
-		assertEquals(0, bazTable.getForeignKeysSize());
-
-		Column nicknameColumn = bazTable.getColumnNamed("nickname");
-		assertTrue(nicknameColumn.isNullable());
-
-		Column songColumn = bazTable.getColumnNamed("song");
-		assertFalse(songColumn.isNullable());
-
-		Column salaryColumn = bazTable.getColumnNamed("salary");
-		assertFalse(salaryColumn.isPartOfUniqueConstraint());
-		assertEquals("DECIMAL", salaryColumn.getDataTypeName());
-		assertTrue(salaryColumn.isNumeric());
-		assertEquals(10, salaryColumn.getPrecision());
-		assertEquals(2, salaryColumn.getScale());
-		assertEquals(-1, salaryColumn.getLength());
-		assertFalse(salaryColumn.isLOB());
-
-		// FOO_BAZ
-		Table foo_bazTable = schema.getTableNamed("foo_baz");
-		assertEquals(2, foo_bazTable.getColumnsSize());
-		assertEquals(0, foo_bazTable.getPrimaryKeyColumnsSize());
-		assertEquals(2, foo_bazTable.getForeignKeysSize());
-		assertTrue(foo_bazTable.isPossibleJoinTable());
-		assertTrue(foo_bazTable.joinTableNameIsDefault());
-		assertTrue(foo_bazTable.getColumnNamed("foo_id").isPartOfForeignKey());
-
-		this.executeUpdate("drop table foo_baz");
-		this.executeUpdate("drop table baz");
-		this.executeUpdate("drop table foo");
-		this.executeUpdate("drop table bar");
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdate("drop database table_test");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	private static final String CR = System.getProperty("line.separator");  //$NON-NLS-1$
-
-	private String buildBarDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("create table bar (").append(CR);
-		sb.append("    id integer primary key,").append(CR);
-		sb.append("    chunk image").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("create table foo (").append(CR);
-		sb.append("    id integer primary key,").append(CR);
-		sb.append("    name varchar(20) unique,").append(CR);
-		sb.append("    bar_id integer references bar(id)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("create table baz (").append(CR);
-		sb.append("    id integer primary key,").append(CR);
-		sb.append("    nickname varchar(20) null,").append(CR);
-		sb.append("    song varchar(20) not null,").append(CR);
-		sb.append("    salary decimal(10, 2)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	private String buildFooBazDDL() {
-		StringBuilder sb = new StringBuilder(200);
-		sb.append("create table foo_baz (").append(CR);
-		sb.append("    foo_id integer references foo(id),").append(CR);
-		sb.append("    baz_id integer references baz(id)").append(CR);
-		sb.append(")").append(CR);
-		return sb.toString();
-	}
-
-	public void testTableLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdateIgnoreErrors("drop database table_lookup_test");
-		this.executeUpdate("create database table_lookup_test");
-		this.getJDBCConnection().setCatalog("table_lookup_test");
-
-		this.executeUpdate("create table test1 (id integer, name varchar(20))");
-		this.executeUpdate("create table TEST2 (id integer, name varchar(20))");
-		this.executeUpdate("create table [Test3] (id integer, name varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Schema schema = this.getDatabase().getCatalogNamed("table_lookup_test").getDefaultSchema();
-
-		assertNotNull(schema.getTableNamed("test1"));
-		assertNotNull(schema.getTableForIdentifier("test1"));
-
-		assertNotNull(schema.getTableNamed("TEST2"));
-		assertNotNull(schema.getTableForIdentifier("TEST2"));
-
-		assertNotNull(schema.getTableForIdentifier("[Test3]"));
-
-		this.executeUpdate("drop table [Test3]");
-		this.executeUpdate("drop table TEST2");
-		this.executeUpdate("drop table test1");
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdate("drop database table_lookup_test");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testColumnLookup() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdateIgnoreErrors("drop database column_lookup_test");
-		this.executeUpdate("create database column_lookup_test");
-		this.getJDBCConnection().setCatalog("column_lookup_test");
-
-		// lowercase
-		this.executeUpdate("create table test (id integer, name varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		Table table = this.getDatabase().getCatalogNamed("column_lookup_test").getDefaultSchema().getTableNamed("test");
-		assertNotNull(table.getColumnNamed("id"));
-		assertNotNull(table.getColumnNamed("name"));
-
-		this.executeUpdate("drop table test");
-
-		// uppercase
-		this.executeUpdate("create table test (ID integer, NAME varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDatabase().getCatalogNamed("column_lookup_test").getDefaultSchema().getTableNamed("test");
-		assertNotNull(table.getColumnForIdentifier("ID"));
-		assertNotNull(table.getColumnForIdentifier("NAME"));
-
-		this.executeUpdate("drop table test");
-
-		// mixed case
-		this.executeUpdate("create table test (Id integer, Name varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDatabase().getCatalogNamed("column_lookup_test").getDefaultSchema().getTableNamed("test");
-		assertNotNull(table.getColumnForIdentifier("Id"));
-		assertNotNull(table.getColumnForIdentifier("Name"));
-
-		this.executeUpdate("drop table test");
-
-		// delimited
-		this.executeUpdate("create table test ([Id] integer, [Name] varchar(20))");
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-
-		table = this.getDatabase().getCatalogNamed("column_lookup_test").getDefaultSchema().getTableNamed("test");
-		assertNotNull(table.getColumnForIdentifier("[Id]"));
-		assertNotNull(table.getColumnForIdentifier("[Name]"));
-
-		this.executeUpdate("drop table test");
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdate("drop database column_lookup_test");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-	public void testCrossSchemaReference() throws Exception {
-		this.connectionProfile.connect();
-		TestConnectionListener listener = new TestConnectionListener();
-		this.connectionProfile.addConnectionListener(listener);
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdateIgnoreErrors("drop database xref_test2");
-		this.executeUpdateIgnoreErrors("drop database xref_test1");
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdate("create database xref_test1");
-		this.getJDBCConnection().setCatalog("xref_test1");
-		this.executeUpdate("create table org (id integer primary key, name varchar(20))");
-
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdate("create database xref_test2");
-		this.getJDBCConnection().setCatalog("xref_test2");
-		this.executeUpdate("create table emp (id integer primary key, name varchar(20), " +
-				"org_id integer references xref_test1..org(id))");
-
-		((ICatalogObject) this.getDTPDatabase()).refresh();
-		Catalog catalog1 = this.getDatabase().getCatalogNamed("xref_test1");
-		assertNotNull(catalog1);
-		Schema schema1 = catalog1.getSchemaNamed("dbo");
-		assertNotNull(schema1);
-		Table orgTable = schema1.getTableNamed("org");
-		assertNotNull(orgTable);
-
-		Catalog catalog2 = this.getDatabase().getCatalogNamed("xref_test2");
-		assertNotNull(catalog2);
-		Schema schema2 = catalog2.getSchemaNamed("dbo");
-		assertNotNull(schema2);
-		Table empTable = schema2.getTableNamed("emp");
-		assertNotNull(empTable);
-		assertEquals(1, empTable.getForeignKeysSize());
-		ForeignKey fk = empTable.getForeignKeys().iterator().next();
-		Table refTable = fk.getReferencedTable();
-		assertNotNull(refTable);
-		assertEquals("org", refTable.getName());
-		assertEquals(1, fk.getColumnPairsSize());
-		ForeignKey.ColumnPair cp = fk.getColumnPairs().iterator().next();
-		Column baseColumn = cp.getBaseColumn();
-		assertEquals("org_id", baseColumn.getName());
-		Column refColumn = cp.getReferencedColumn();
-		assertEquals("id", refColumn.getName());
-
-		this.getJDBCConnection().setCatalog("xref_test2");
-		this.executeUpdate("drop table emp");
-		this.getJDBCConnection().setCatalog("xref_test1");
-		this.executeUpdate("drop table org");
-		this.getJDBCConnection().setCatalog("master");
-		this.executeUpdate("drop database xref_test2");
-		this.executeUpdate("drop database xref_test1");
-
-		this.connectionProfile.removeConnectionListener(listener);
-		this.connectionProfile.disconnect();
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.classpath b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.classpath
deleted file mode 100644
index a6a514e..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jpa/gen/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.cvsignore b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.project b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.project
deleted file mode 100644
index b68577b..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.gen.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.settings/org.eclipse.jdt.core.prefs b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 58eaebe..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:09:38 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/META-INF/MANIFEST.MF b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index fc42d0a..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.gen.tests
-Bundle-Version: 3.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime;bundle-version="3.4.0",
- org.eclipse.jdt.core;bundle-version="3.4.0",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jpa.db;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jpa.gen;bundle-version="[2.0.0,3.0.0)",
- org.junit;bundle-version="3.8.0"
-Export-Package: org.eclipse.jpt.jpa.gen.tests.internal;x-internal:=true
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/about.html b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/build.properties b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/build.properties
deleted file mode 100644
index 0473587..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2008, 2011 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:
-#     Oracle - initial API and implementation
-################################################################################
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               test.xml,\
-               plugin.properties
-source.. = src/
-output.. = bin/
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/plugin.properties b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/plugin.properties
deleted file mode 100644
index f81a674..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2007 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName=Java Persistence Tools Entity Generation Tests
-providerName=Eclipse.org
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/src/org/eclipse/jpt/jpa/gen/tests/internal/EntityGenToolsTests.java b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/src/org/eclipse/jpt/jpa/gen/tests/internal/EntityGenToolsTests.java
deleted file mode 100644
index 25e870f..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/src/org/eclipse/jpt/jpa/gen/tests/internal/EntityGenToolsTests.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.tests.internal;
-
-import java.util.HashSet;
-import org.eclipse.jpt.jpa.gen.internal.util.EntityGenTools;
-
-import junit.framework.TestCase;
-
-/**
- * 
- */
-@SuppressWarnings("nls")
-public class EntityGenToolsTests extends TestCase {
-
-	public EntityGenToolsTests(String name) {
-		super(name);
-	}
-
-	public void testConvertToUniqueJavaStyleClassName1() {
-		HashSet<String> names = new HashSet<String>();
-		assertEquals("Foo", EntityGenTools.convertToUniqueJavaStyleClassName("Foo", names));
-		assertEquals("Foo", EntityGenTools.convertToUniqueJavaStyleClassName("foo", names));
-		assertEquals("Foo", EntityGenTools.convertToUniqueJavaStyleClassName("FOO", names));
-		assertEquals("Foo", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_", names));
-		assertEquals("Foo", EntityGenTools.convertToUniqueJavaStyleClassName("_FOO", names));
-		assertEquals("Foo_", EntityGenTools.convertToUniqueJavaStyleClassName("FOO*", names));
-		assertEquals("_oo", EntityGenTools.convertToUniqueJavaStyleClassName("5oo", names));
-	}
-
-	public void testConvertToUniqueJavaStyleClassName2() {
-		HashSet<String> names = new HashSet<String>();
-		names.add("Foo");
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("Foo", names));
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("foo", names));
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("FOO", names));
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_", names));
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("_FOO", names));
-		assertEquals("Foo_", EntityGenTools.convertToUniqueJavaStyleClassName("FOO*", names));
-		assertEquals("_oo", EntityGenTools.convertToUniqueJavaStyleClassName("5OO", names));
-	}
-
-	public void testConvertToUniqueJavaStyleClassName3() {
-		HashSet<String> names = new HashSet<String>();
-		names.add("foo");
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("Foo", names));
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("foo", names));
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("FOO", names));
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_", names));
-		assertEquals("Foo2", EntityGenTools.convertToUniqueJavaStyleClassName("_FOO", names));
-		assertEquals("Foo_", EntityGenTools.convertToUniqueJavaStyleClassName("FOO*", names));
-		assertEquals("_oo", EntityGenTools.convertToUniqueJavaStyleClassName("5OO", names));
-	}
-
-	public void testConvertToUniqueJavaStyleClassName4() {
-		HashSet<String> names = new HashSet<String>();
-		assertEquals("FooBar", EntityGenTools.convertToUniqueJavaStyleClassName("FooBar", names));
-		assertEquals("Foo_bar", EntityGenTools.convertToUniqueJavaStyleClassName("foo_bar", names));
-		assertEquals("FooBar", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_BAR", names));
-		assertEquals("FooBar", EntityGenTools.convertToUniqueJavaStyleClassName("_FOO_BAR", names));
-		assertEquals("FooBar", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_BAR_", names));
-		assertEquals("FooBar_", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_BAR_*", names));
-		assertEquals("_fooBar", EntityGenTools.convertToUniqueJavaStyleClassName("4FOO_BAR", names));
-	}
-
-	public void testConvertToUniqueJavaStyleClassName5() {
-		HashSet<String> names = new HashSet<String>();
-		names.add("FooBar");
-		assertEquals("FooBar2", EntityGenTools.convertToUniqueJavaStyleClassName("FooBar", names));
-		assertEquals("Foo_bar", EntityGenTools.convertToUniqueJavaStyleClassName("foo_bar", names));
-		assertEquals("FooBar2", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_BAR", names));
-		assertEquals("FooBar2", EntityGenTools.convertToUniqueJavaStyleClassName("_FOO_BAR", names));
-		assertEquals("FooBar2", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_BAR_", names));
-		assertEquals("FooBar_", EntityGenTools.convertToUniqueJavaStyleClassName("FOO_BAR_*", names));
-		assertEquals("_fooBar", EntityGenTools.convertToUniqueJavaStyleClassName("4FOO_BAR", names));
-	}
-
-	public void testConvertToUniqueJavaStyleAttributeName1() {
-		HashSet<String> names = new HashSet<String>();
-		assertEquals("foo", EntityGenTools.convertToUniqueJavaStyleAttributeName("Foo", names));
-		assertEquals("foo", EntityGenTools.convertToUniqueJavaStyleAttributeName("foo", names));
-		assertEquals("foo", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO", names));
-		assertEquals("foo", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_", names));
-		assertEquals("foo", EntityGenTools.convertToUniqueJavaStyleAttributeName("_FOO", names));
-		assertEquals("foo_", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO*", names));
-		assertEquals("_oo", EntityGenTools.convertToUniqueJavaStyleAttributeName("5oo", names));
-	}
-
-	public void testConvertToUniqueJavaStyleAttributeName2() {
-		HashSet<String> names = new HashSet<String>();
-		names.add("Foo");
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("Foo", names));
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("foo", names));
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO", names));
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_", names));
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("_FOO", names));
-		assertEquals("foo_", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO*", names));
-		assertEquals("_oo", EntityGenTools.convertToUniqueJavaStyleAttributeName("5OO", names));
-	}
-
-	public void testConvertToUniqueJavaStyleAttributeName3() {
-		HashSet<String> names = new HashSet<String>();
-		names.add("foo");
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("Foo", names));
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("foo", names));
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO", names));
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_", names));
-		assertEquals("foo2", EntityGenTools.convertToUniqueJavaStyleAttributeName("_FOO", names));
-		assertEquals("foo_", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO*", names));
-		assertEquals("_oo", EntityGenTools.convertToUniqueJavaStyleAttributeName("5OO", names));
-	}
-
-	public void testConvertToUniqueJavaStyleAttributeName4() {
-		HashSet<String> names = new HashSet<String>();
-		assertEquals("fooBar", EntityGenTools.convertToUniqueJavaStyleAttributeName("FooBar", names));
-		assertEquals("foo_bar", EntityGenTools.convertToUniqueJavaStyleAttributeName("foo_bar", names));
-		assertEquals("fooBar", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_BAR", names));
-		assertEquals("fooBar", EntityGenTools.convertToUniqueJavaStyleAttributeName("_FOO_BAR", names));
-		assertEquals("fooBar", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_BAR_", names));
-		assertEquals("fooBar_", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_BAR_*", names));
-		assertEquals("_fooBar", EntityGenTools.convertToUniqueJavaStyleAttributeName("4FOO_BAR", names));
-	}
-
-	public void testConvertToUniqueJavaStyleAttributeName5() {
-		HashSet<String> names = new HashSet<String>();
-		names.add("FooBar");
-		assertEquals("fooBar2", EntityGenTools.convertToUniqueJavaStyleAttributeName("FooBar", names));
-		assertEquals("foo_bar", EntityGenTools.convertToUniqueJavaStyleAttributeName("foo_bar", names));
-		assertEquals("fooBar2", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_BAR", names));
-		assertEquals("fooBar2", EntityGenTools.convertToUniqueJavaStyleAttributeName("_FOO_BAR", names));
-		assertEquals("fooBar2", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_BAR_", names));
-		assertEquals("fooBar_", EntityGenTools.convertToUniqueJavaStyleAttributeName("FOO_BAR_*", names));
-		assertEquals("_fooBar", EntityGenTools.convertToUniqueJavaStyleAttributeName("4FOO_BAR", names));
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/src/org/eclipse/jpt/jpa/gen/tests/internal/JptJpaGenTests.java b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/src/org/eclipse/jpt/jpa/gen/tests/internal/JptJpaGenTests.java
deleted file mode 100644
index 530dd84..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/src/org/eclipse/jpt/jpa/gen/tests/internal/JptJpaGenTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.gen.tests.internal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.jpt.jpa.gen.tests.internal.EntityGenToolsTests;
-
-/**
- * 
- */
-public class JptJpaGenTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("JPT Entity Generation Tests"); //$NON-NLS-1$
-		suite.addTestSuite(EntityGenToolsTests.class);
-		return suite;
-	}
-
-	private JptJpaGenTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/test.xml b/jpa/tests/org.eclipse.jpt.jpa.gen.tests/test.xml
deleted file mode 100644
index 40a027f..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.gen.tests/test.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Copyright (c) 2008, 2010 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:
-    Oracle - initial API and implementation
- -->
-<project name="testsuite" default="run" basedir=".">
-	<!-- The property ${eclipse-home} should be passed into this script -->
-	<!-- Set a meaningful default value for when it is not. -->
-	<echo message="basedir ${basedir}" />
-	<echo message="eclipse place ${eclipse-home}" />
-	<!-- sets the properties plugin-name -->
-	<property name="plugin-name" value="org.eclipse.jpt.jpa.gen.tests"/>
-
-	<!-- This target holds all initialization code that needs to be done for -->
-	<!-- all tests that are to be run. Initialization for individual tests -->
-	<!-- should be done within the body of the suite target. -->
-	<target name="init">
-		<tstamp/>
-		<delete>
-			<fileset dir="${eclipse-home}" includes="org*.xml"/>
-		</delete>
-	</target>
-
-	<!-- This target defines the tests that need to be run. -->
-	<target name="suite">
-		<ant target="gen-test" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="plugin-name" value="${plugin-name}"/>
-			<property name="classname" value="org.eclipse.jpt.jpa.gen.tests.internal.JptJpaGenTests" />
-			<property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
-			<property name="extraVMargs" value=""/>
-		</ant>
-	</target>
-
-	<!-- This target holds code to cleanup the testing environment after -->
-	<!-- after all of the tests have been run. You can use this target to -->
-	<!-- delete temporary files that have been created. -->
-	<target name="cleanup">
-	</target>
-
-	<!-- This target runs the test suite. Any actions that need to happen -->
-	<!-- after all the tests have been run should go here. -->
-	<target name="run" depends="init, suite, cleanup">
-	</target>
-</project>
\ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.classpath b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.classpath
deleted file mode 100644
index 516ebfb..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.classpath
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jpa/ui/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jpa/core/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/core/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.cvsignore b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.project b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.project
deleted file mode 100644
index 9b0ee1f..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpa.ui.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.settings/org.eclipse.jdt.core.prefs b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bde70d3..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:09:52 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/META-INF/MANIFEST.MF b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 34bfa32..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpa.ui.tests
-Bundle-Version: 2.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: 
- org.junit;bundle-version="4.3.1",
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.jface,
- org.eclipse.jpt.common.core.tests,
- org.eclipse.jpt.jpa.core.tests,
- org.eclipse.jpt.jpa.core.tests.extension.resource,
- org.eclipse.jpt.common.utility,
- org.eclipse.jpt.jpa.core,
- org.eclipse.jpt.jpa.ui,
- org.eclipse.ui.navigator;bundle-version="3.4.0",
- org.eclipse.ui.forms;bundle-version="3.3.100",
- org.eclipse.ui.workbench;bundle-version="3.4.0"
-Export-Package: org.eclipse.jpt.jpa.ui.tests;x-internal:=true,
- org.eclipse.jpt.jpa.ui.tests.internal.platform;x-internal:=true
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/build.properties b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/build.properties
deleted file mode 100644
index 50f0aa3..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-################################################################################
-# Copyright (c) 2007, 2010 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:
-#     Oracle - initial API and implementation
-################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/plugin.properties b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/plugin.properties
deleted file mode 100644
index ac887ad..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/plugin.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-################################################################################
-# Copyright (c) 2006, 2007 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:
-#     Oracle - initial API and implementation
-################################################################################
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName=Dali Java Persistence Tools - UI Tests
-providerName=Eclipse Web Tools Platform
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/JptUiTests.java b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/JptUiTests.java
deleted file mode 100644
index d527791..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/JptUiTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.jpt.jpa.ui.tests.internal.platform.JptUiPlatformTests;
-
-/**
- * Runs all JPT UI Tests
- */
-public class JptUiTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(JptUiTests.class.getPackage().getName());
-		suite.addTest(JptUiPlatformTests.suite());
-		return suite;
-	}
-
-	private JptUiTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/internal/platform/JpaPlatformUiExtensionTests.java b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/internal/platform/JpaPlatformUiExtensionTests.java
deleted file mode 100644
index ea60afa..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/internal/platform/JpaPlatformUiExtensionTests.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2010  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: 
- *  	Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jpt.jpa.ui.tests.internal.platform;
-
-import junit.framework.TestCase;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.internal.platform.JpaPlatformManagerImpl;
-import org.eclipse.jpt.jpa.core.tests.extension.resource.ExtensionTestPlugin;
-import org.eclipse.jpt.jpa.core.tests.extension.resource.TestJpaPlatformProvider;
-import org.eclipse.jpt.jpa.core.tests.internal.projects.TestJpaProject;
-
-@SuppressWarnings("nls")
-public class JpaPlatformUiExtensionTests extends TestCase
-{
-	protected TestJpaProject testProject;
-
-	protected static final String PROJECT_NAME = "ExtensionTestProject";
-	protected static final String PACKAGE_NAME = "extension.test";
-
-	public static final String TEST_PLUGIN_CLASS = ExtensionTestPlugin.class.getName();
-	public static final String TEST_PLUGIN_ID = ExtensionTestPlugin.PLUGIN_ID;
-
-	public static final String TEST_PLATFORM_ID = TestJpaPlatformProvider.ID;
-	public static final String TEST_PLATFORM_CLASS = TestJpaPlatformProvider.class.getName();
-	public static final String TEST_PLATFORM_LABEL = "Test Jpa Platform";
-
-	public static final String TEST_UI_PLATFORM_ID = TEST_PLATFORM_ID;
-
-	public JpaPlatformUiExtensionTests(String name) {
-		super(name);
-	}
-
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		this.testProject = this.buildJpaProject(PROJECT_NAME, false);  // false = no auto-build
-	}
-
-	protected TestJpaProject buildJpaProject(String projectName, boolean autoBuild) throws Exception {
-		return new TestJpaProject(projectName, autoBuild);  // false = no auto-build
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		this.testProject.getProject().delete(true, true, null);
-		this.testProject = null;
-		super.tearDown();
-	}
-
-	protected JpaProject jpaProject() {
-		return this.testProject.getJpaProject();
-	}
-
-	public void testJpaPlatform() {
-		assertNotNull(JpaPlatformManagerImpl.instance().buildJpaPlatformImplementation(this.testProject.getProject()));
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/internal/platform/JptUiPlatformTests.java b/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/internal/platform/JptUiPlatformTests.java
deleted file mode 100644
index abd6960..0000000
--- a/jpa/tests/org.eclipse.jpt.jpa.ui.tests/src/org/eclipse/jpt/jpa/ui/tests/internal/platform/JptUiPlatformTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 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:
- *     Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.jpa.ui.tests.internal.platform;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class JptUiPlatformTests
-{
-	public static Test suite() {
-		TestSuite suite = new TestSuite(JptUiPlatformTests.class.getPackage().getName());
-		suite.addTestSuite(JpaPlatformUiExtensionTests.class);
-		return suite;
-	}
-
-	private JptUiPlatformTests() {
-		super();
-		throw new UnsupportedOperationException();
-	}
-}
diff --git a/jpa/tests/org.eclipse.jpt.ui.tests/.project b/jpa/tests/org.eclipse.jpt.ui.tests/.project
deleted file mode 100644
index ab9bd7f..0000000
--- a/jpa/tests/org.eclipse.jpt.ui.tests/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.ui.tests</name>
-	<comment>renamed to org.eclipse.jpt.jpa.ui.tests</comment>
-</projectDescription>
\ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.utility.tests/.project b/jpa/tests/org.eclipse.jpt.utility.tests/.project
deleted file mode 100644
index c371e9a..0000000
--- a/jpa/tests/org.eclipse.jpt.utility.tests/.project
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.utility.tests</name>
-	<comment>renamed to org.eclipse.jpt.common.utility.tests and moved to common component</comment>
-</projectDescription>
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/.project b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/.project
deleted file mode 100644
index 6e0c0bb..0000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor.releng</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml
deleted file mode 100644
index fea3540..0000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
-	<artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
-	<version>1.1.0-SNAPSHOT</version>
-	<packaging>pom</packaging>
-	
-	<properties>
-		<tycho-version>0.9.0</tycho-version>
-	</properties>
-	
-	<modules>
-		<module>../../plugins/org.eclipse.jpt.jpadiagrameditor.ui</module>
-		<!-- module>../../tests/org.eclipse.jpt.jpadiagrameditor.tests</module -->
-		<module>../../features/org.eclipse.jpt.jpadiagrameditor.feature</module>
-		<module>../org.eclipse.jpt.jpadiagrameditor.repository</module>
-	</modules>
-	
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.sonatype.tycho</groupId>
-				<artifactId>tycho-maven-plugin</artifactId>
-				<version>${tycho-version}</version>
-				<extensions>true</extensions>
-			</plugin>
-			<plugin>
-				<groupId>org.sonatype.tycho</groupId>
-				<artifactId>target-platform-configuration</artifactId>
-				<version>${tycho-version}</version>
-				<configuration>
-					<resolver>p2</resolver>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-	
-	<repositories>
-		<repository>
-			<id>indigo</id>
-			<url>http://download.eclipse.org/releases/staging/</url>
-			<layout>p2</layout>			
-		</repository>	
-		<repository>
-			<id>Juno</id>
-			<url>http://build.eclipse.org/webtools/committers/wtp-R3.4.0-I/20110805150738/I-3.4.0-20110805150738/repository/</url>
-			<layout>p2</layout>
-		</repository>
-		<repository>
-			<id>Graphiti</id>
-			<url>http://download.eclipse.org/graphiti/updates/milestones/</url>
-			<layout>p2</layout>
-		</repository>
-		
-	</repositories>
-	
-</project>
\ No newline at end of file
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/.project b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/.project
deleted file mode 100644
index 42ea5b1..0000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor.repository</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/pom.xml b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/pom.xml
deleted file mode 100644
index 338dcc4..0000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/pom.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<parent>
-		<artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
-		<groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
-		<version>1.1.0-SNAPSHOT</version>
-		<relativePath>../org.eclipse.jpt.jpadiagrameditor.releng/pom.xml</relativePath>
-	</parent>
-	
-	<artifactId>org.eclipse.jpt.jpadiagrameditor.repository</artifactId>
-	<packaging>eclipse-update-site</packaging>
-	<name>JPA Editor Update Site</name>
-	
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.sonatype.tycho</groupId>
-				<artifactId>maven-osgi-packaging-plugin</artifactId>
-				<configuration>
-					<archiveSite>true</archiveSite>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-	
-</project>
\ No newline at end of file
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/site.xml b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/site.xml
deleted file mode 100644
index a13eae7..0000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/org.eclipse.jpt.jpadiagrameditor.feature_1.1.0.qualifier.jar" id="org.eclipse.jpt.jpadiagrameditor.feature" version="1.1.0.qualifier">
-      <category name="jpa_diagram_editor"/>
-   </feature>
-   <category-def name="jpa_diagram_editor" label="JPA Diagram Editor"/>
-</site>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/.cvsignore b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/.project b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/.project
deleted file mode 100644
index 71d6b75..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/build.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/build.properties
deleted file mode 100644
index 9c242a1..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2010 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms 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 - initial API, implementation and documentation
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
\ No newline at end of file
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/eclipse_update_120.jpg b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/feature.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/feature.properties
deleted file mode 100644
index 00f0899..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms 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 - initial API, implementation and documentation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JPA Diagram Editor
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools - JPA Diagram Editor
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2011 SAP AG.\
-All rights reserved. This program and the accompanying materials\
-are made available under the terms of the Eclipse Public License v1.0\
-which accompanies this distribution, and is available at\
-http://www.eclipse.org/legal/epl-v10.html\
-\n\
-Contributors:\n\
-    Stefan Dimov - initial API, implementation and documentation\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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/feature.xml b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/feature.xml
deleted file mode 100644
index fc22573..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/feature.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpadiagrameditor.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jpt.jpadiagrameditor.branding"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.graphiti.feature" version="0.8.0" match="greaterOrEqual"/>
-      <import feature="org.eclipse.jpt.jpa.feature" version="3.1.0" match="greaterOrEqual"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.jpadiagrameditor.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpadiagrameditor.doc.user"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jpt.jpadiagrameditor.branding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/pom.xml b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/pom.xml
deleted file mode 100644
index c0ed14d..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<parent>
-		<artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
-		<groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
-		<version>1.1.0-SNAPSHOT</version>
-		<relativePath>../../development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml</relativePath>
-	</parent>
-	
-	<artifactId>org.eclipse.jpt.jpadiagrameditor.feature</artifactId>
-	<packaging>eclipse-feature</packaging>
-	<name>JPA Diagram Editor Feature</name>
-	
-</project>
\ No newline at end of file
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.html b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.ini b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.mappings b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index c783c4b..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - JPA Diagram Editor Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/build.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 8f48324..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse32.gif b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse32.png b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse_update_120.jpg b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/epl-v10.html b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/license.html b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/plugin.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index fbb0d96..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Dali Java Persistence Tools - JPA Diagram Editor
-providerName = Eclipse Web Tools Platform
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/build.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 1393aa0..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = \
-               eclipse_update_120.jpg,\
-               feature.xml,\
-               feature.properties
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/eclipse_update_120.jpg b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/feature.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 123c8ff..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-# 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=Dali Java Persistence Tools - JPA Diagram Editor
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for Dali Java Persistence Tools Diagram Editor
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2011 SAP AG.\
-All rights reserved. This program and the accompanying materials\
-are made available under the terms of the Eclipse Public License v1.0\
-which accompanies this distribution, and is available at\
-http://www.eclipse.org/legal/epl-v10.html\
-\n\
-Contributors:\n\
-    Stefan Dimov - initial API, implementation and documentation\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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.html b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.ini b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.mappings b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 6c105a7..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Dali Java Persistence Tools - JPA Diagram Editor Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/build.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 8f48324..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-bin.includes = \
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.properties,\
-               plugin.xml,\
-               src/**,\
-               META-INF/
-sourcePlugin = true
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse32.gif b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse32.png b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse_update_120.jpg b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/epl-v10.html b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/license.html b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/license.html
deleted file mode 100644
index 5ad00ba..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/license.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-
-</body>
-</html>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/plugin.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 7cd5e1f..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-pluginName = Dali Java Persistence Tools - JPA Diagram Editor
-providerName = Eclipse Web Tools Platform
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.cvsignore b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.cvsignore
deleted file mode 100644
index 19bfc7a..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-.settings
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.project b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.project
deleted file mode 100644
index f2a0459..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor.tests.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/build.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/build.properties
deleted file mode 100644
index da6de74..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               feature.properties
-src.includes = \
-               feature.xml,\
-               eclipse_update_120.jpg,\
-               build.properties
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/eclipse_update_120.jpg b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.properties
deleted file mode 100644
index 855dcb9..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms 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 - initial API, implementation and documentation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JPA Diagram Editor JUnit Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools JPA Diagram Editor JUnit Tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2011 SAP AG.\
-All rights reserved. This program and the accompanying materials\
-are made available under the terms of the Eclipse Public License v1.0\
-which accompanies this distribution, and is available at\
-http://www.eclipse.org/legal/epl-v10.html\
-\n\
-Contributors:\n\
-    Stefan Dimov - initial API, implementation and documentation\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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.xml b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.xml
deleted file mode 100644
index 1fb940f..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpadiagrameditor.tests.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <requires>
-      <import plugin="org.easymock" version="2.4.0" match="compatible"/>
-      <import feature="org.eclipse.graphiti.feature" version="0.8.0" match="greaterOrEqual"/>
-      <import feature="org.eclipse.jpt.jpa.feature" version="3.0.0" match="greaterOrEqual"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jpt.jpadiagrameditor.ui.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.cvsignore b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.cvsignore
deleted file mode 100644
index 9d0e114..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-feature.temp.folder
-build.xml
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.project b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.project
deleted file mode 100644
index 342401f..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/build.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/build.properties
deleted file mode 100644
index 06599fb..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.jpadiagrameditor.feature.source=org.eclipse.jpt.jpadiagrameditor.feature
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/eclipse_update_120.jpg b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.properties
deleted file mode 100644
index c4cc127..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2011 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms 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 - initial API, implementation and documentation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JPA Diagram Editor
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence - JPA Diagram Editor
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2005, 2010 SAP AG.\
-All rights reserved. This program and the accompanying materials\
-are made available under the terms of the Eclipse Public License v1.0\
-which accompanies this distribution, and is available at\
-http://www.eclipse.org/legal/epl-v10.html\
-\n\
-Contributors:\n\
-    Stefan Dimov - initial API, implementation and documentation\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
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support. 
-#    Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism. 
-########### end of license property ##########################################
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.xml b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.xml
deleted file mode 100644
index 3b4fe6e..0000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jpt.jpadiagrameditor_sdk.feature"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.jpt.jpadiagrameditor.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jpt.jpadiagrameditor.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.cvsignore b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.project b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.project
deleted file mode 100644
index f8a805f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor.branding</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/META-INF/MANIFEST.MF b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index 8564483..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.jpadiagrameditor.branding;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.html
deleted file mode 100644
index ca606b1..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.ini b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.ini
deleted file mode 100644
index b820d7f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.ini
+++ /dev/null
@@ -1,33 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.mappings b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.properties
deleted file mode 100644
index 0e4294d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - JPA Diagram Editor\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2011.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/build.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/build.properties
deleted file mode 100644
index fbf9849..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = META-INF/,\
-               about.ini,\
-               about.html,\
-               about.mappings,\
-               about.properties,\
-               icons/,\
-               plugin.properties,\
-               component.xml
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/component.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/component.xml
deleted file mode 100644
index eec5142..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpadiagrameditor.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.jpadiagrameditor.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpadiagrameditor.ui" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/icons/WTP_icon_x32_v2.png b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/plugin.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/plugin.properties
deleted file mode 100644
index fbb0d96..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Dali Java Persistence Tools - JPA Diagram Editor
-providerName = Eclipse Web Tools Platform
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/.project b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/.project
deleted file mode 100644
index a384337..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor.doc.user</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/META-INF/MANIFEST.MF b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/META-INF/MANIFEST.MF
deleted file mode 100644
index 66fc9f8..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpadiagrameditor.doc.user; singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.help;bundle-version="[3.3.100,4.0.0)"
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/about.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/about.html
deleted file mode 100644
index 45d8d70..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2009</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/build.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/build.properties
deleted file mode 100644
index 64f6119..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = .,\
-               META-INF/,\
-               img/,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               html/,\
-               *.xml
-generateSourceBundle=false
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/getting_started.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/getting_started.html
deleted file mode 100644
index 78b9f04..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/getting_started.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Getting started</title>
-
-<!-- contents -->
-</head>
-<body>
-
-	<div class="sect1">
-		<!-- infolevel="all" infotype="General" -->
-		<h1>Getting started</h1>
-		<p>The Eclipse IDE provides a JPA diagram editor tool that allows
-			you to create, edit, and display the application data model (entities
-			and their relationships) in a graphical environment.</p>
-		<p>You can use only one JPA diagram per project, and you cannot
-			visualize entities from different projects in one JPA diagram.</p>
-		<div>
-			<p>
-				<b>Example:</b>
-			</p>
-			<p>The following JPA diagram represents the data model of
-				employees participating in various projects, that is, two entities
-				with a bidirectional many-to-many relationship:</p>
-			<div>
-				<p>
-					<img src="../img/jpa_diagram_editor.gif"
-						alt="This graphic is explained in the accompanying text."
-						title="This graphic is explained in the accompanying text." />
-				</p>
-				<br />
-			</div>
-		</div>
-		<div>
-			<h2>Features</h2>
-			<p>The JPA diagram editor comprises the following general
-				features:</p>
-			<div>
-				<ul>
-					<li><p>Ability to create entities and define relationships
-							between them.</p></li>
-					<li><p>Ability to import existing entities together with
-							their relationships.</p></li>
-					<li><p>Full synchronization with the underlying
-							application code, that is, whenever you apply a change to any of
-							the objects on the diagram, the corresponding application code
-							updates automatically, and the opposite.</p></li>
-					<li><p>
-							Error and warning markers with informative quick info text. You
-							can view details on the marked errors and warnings in the <i>Problems</i>
-							view.
-						</p></li>
-					<li><p>
-							Integration with the <i>JPA Details</i> view and the <i>Miniature
-								View</i>.
-						</p></li>
-				</ul>
-			</div>
-		</div>
-	</div>
-</body>
-</html>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/reference_project_page.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/reference_project_page.html
deleted file mode 100644
index 4651f3b..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/reference_project_page.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
- 
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Property page &ndash; JPA Diagram Editor Options</title>
-<!-- contents -->
-</head>
-<body>
-<div class="sect2"><!-- infolevel="all" infotype="General" -->
-<h1>Property page &ndash; JPA Diagram Editor Options</h1>
-<p>This table lists the properties available in the <span class="gui-object-title">JPA Diagram Editor settings page</span>.</p>
-<div class="inftblinformal">
-<table class="Informal" title="This table describes the options on the JPA Diagram Editor Properties page." summary="This table describes the options on the JPA Diagram Editor Properties page." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
-<col width="32%" />
-<col width="*" />
-<thead>
-<tr align="left" valign="top">
-<th align="left" valign="bottom" id="r1c1-t37">Property</th>
-<th align="left" valign="bottom" id="r1c2-t37">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr align="left" valign="top">
-<td align="left" id="r2c1-t37" headers="r1c1-t37"><a id="sthref277" name="sthref277"></a><a id="sthref278" name="sthref278"></a><a id="sthref279" name="sthref279"></a><a id="sthref280" name="sthref280"></a>Folder for diagrams</td>
-<td align="left" headers="r2c1-t37 r1c2-t37">Specify the folder where the diagram.xmi file will be created.</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t37" headers="r1c1-t37">Default Java Package</td>
-<td align="left" headers="r3c1-t37 r1c2-t37">Specify the java package where the entities will be created by default.
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t37" headers="r1c1-t37">Default table name prefix</td>
-<td align="left" headers="r3c1-t37 r1c2-t37">Specify the prefix with which the tables will be created by default.
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t37" headers="r1c1-t37">Editing entity name</td>
-<td align="left" headers="r4c1-t37 r1c2-t37">Determine if the editing of the entity name in the diagram should affect the class name in the source file.
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t37" headers="r1c1-t37">Entity access type</td>
-<td align="left" headers="r3c1-t37 r1c2-t37">Select an entity access type.
-<p>To add annotations on the field level choose <span><b>Field-based</b></span>.</p>
-<p>To add annotations on the property level choose <span><b>Property-based</b></span>.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r3c1-t37" headers="r1c1-t37">Default collection type</td>
-<td align="left" headers="r3c1-t37 r1c2-t37">Select a collection type of which the relation attributes to be created by default:
-<p>Choose <span><b>java.util.Collection</b></span>, so that the relation attributes to be of type Collection.</p>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td align="left" id="r4c1-t37" headers="r1c1-t37">One-to-Many unidirectional old style relationship</td>
-<td align="left" headers="r4c1-t37 r1c2-t37">Specify if the old style One-to-Many unidirectional relationship (supported by JPA 1.0) to be used.
-</td>
-</tr>
-</tbody>
-</table>
-<br /></div>
-</div>
-</body>
-</html>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_20_support.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_20_support.html
deleted file mode 100644
index 0a63e72..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_20_support.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>JPA diagram editor partial support for JPA 2.0</title>
-
-<!-- contents -->
-</head>
-<body>
-
-	<div class="sect1">
-		<!-- infolevel="all" infotype="General" -->
-		<h1>JPA diagram editor partial support for JPA 2.0</h1>
-		<td><div>
-				<ul>
-					<li><p>
-							The JPA diagram editor supports the new style <i>One-to-Many</i>
-							unidirectional relationship. It means that in JPA 2.0 projects
-							the corresponding relationship attribute will be created with
-							additional
-							<tt title="Output">@JoinColumns(s)</tt>
-							annotation, so that the corresponding DB schema will be created
-							without additional join table.
-						</p>
-					</li>
-				</ul>
-			</div>
-			<div>
-				<p>
-					<b>Note:</b>
-				</p>
-				<p>
-					This behavior is optional. You may choose from the editor
-					preference page or project property page to create this
-					relationship (in JPA 2.0 projects) compliant with JPA 1.0
-					specification, i.e. - without the additional
-					<tt title="Output">@JoinColumns(s)</tt>
-					annotation.
-				</p>
-			</div></td>
-	</div>
-</body>
-</html>
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_configuring_editor.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_configuring_editor.html
deleted file mode 100644
index 4fe6a34..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_configuring_editor.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Configuring the JPA diagram editor</title>
-
-<!-- contents -->
-</head>
-<body>
-
-	<div class="sect1">
-		<!-- infolevel="all" infotype="General" -->
-		<h1>Configuring the JPA diagram editor</h1>
-		<td><div>
-				<ul>
-					<li><p>Configure the global default settings of the JPA
-							diagram editor</p>
-						<div>
-							<ol>
-								<li>Choose <span><i>Window</i> -&gt; <i>Preferences</i> </span> in
-									the main menu.</li>
-								<li><p>
-										Select <span><i>General</i> -&gt; <i>Editors</i> -&gt; <i>JPA Diagram Editor</i> </span> in the
-										properties tree.
-									</p></li>
-								<li><p>
-										Specify the JPA diagram editor settings. To restore the global
-										predefined values, choose <i>Restore Defaults</i>.
-									</p></li>
-								<li><p>
-										Choose <i>Apply</i>, then choose <i>OK</i>.
-									</p></li>
-							</ol>
-						</div>
-					</li>
-					<li><p>Configure the JPA diagram editor per project</p>
-						<div>
-							<ol>
-								<li><p>
-										In the context menu of the project in the <i>Project
-											Explorer</i>, choose <i>Properties</i>.
-									</p></li>
-								<li><p>
-										Select <span><i>JPA</i> -&gt; <i>JPA Diagram Editor</i> </span>.
-									</p></li>
-								<li><p>
-										Specify the JPA diagram editor settings. To restore the global
-										default settings, choose <i>Restore Defaults</i>.
-									</p></li>
-								<li><p>
-										Choose <i>Apply</i>, then choose <i>OK</i>.
-									</p></li>
-							</ol>
-						</div>
-					</li>
-				</ul>
-			</div>
-		</td>
-	</div>
-</body>
-</html>
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_manage_entities.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_manage_entities.html
deleted file mode 100644
index c88450e..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_manage_entities.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Managing entities</title>
-
-<!-- contents -->
-</head>
-<body>
-
-	<div class="sect1">
-		<!-- infolevel="all" infotype="General" -->
-		<h1>Managing entities</h1>
-		<td><p>You can perform the following operations on a
-				particular entity graphical model:</p>
-			<div>
-				<ul>
-					<li><p>Rename entities</p>
-						<p>
-							In terms of source code, this operation changes the
-							<tt title="Output">name</tt>
-							attribute of the
-							<tt title="Output">@Entity</tt>
-							annotation only.
-						</p>
-					</li>
-					<li><p>Add, rename, or remove attributes</p>
-						<div>
-							<p>
-								<b>Note:</b>
-							</p>
-							<p>
-								The Eclipse IDE automatically generates getter and setter
-								methods for new attributes. The default data type for new
-								attributes is
-								<tt title="Output">java.lang.String</tt>
-								.
-							</p>
-							<p>In terms of source code, renaming attributes changes the
-								field names of entities, together with the fields' getter and
-								setter methods.</p>
-							<p>Removing attributes removes them from the data model also.</p>
-							<div>End of the note.</div>
-						</div>
-					</li>
-					<li><p>Collapse or expand entities or attribute groups</p></li>
-					<li><p>Save or discard your changes</p></li>
-					<li><p>Save or discard your changes and remove the entity
-							from the diagram without removing it from the application data
-							model</p></li>
-					<li><p>Remove the entity from the diagram and delete it
-							from the application data model</p></li>
-				</ul>
-			</div>
-			<p>To perform the actions described above, follow the steps:</p>
-			<div>
-				<ol>
-					<li><p>Position the mouse cursor over the entity you want
-							to manage.</p>
-						<p>A button bar appears by the entity.</p>
-						<div>
-							<p>
-								<img src="../img/jpa_diagram_entity_operations.gif"
-									alt="This graphic is explained in the accompanying text."
-									title="This graphic is explained in the accompanying text." />
-							</p>
-							<br />
-						</div>
-					</li>
-					<li><p>Choose the relevant pushbutton. Each button has an
-							informative tooltip that describes the relevant operation.</p></li>
-					<li><p>
-							To rename an entity or an attribute, double-click the title of an
-							entity or the attribute, change the name, and choose
-							<kbd title="Keyboard button">ENTER</kbd>
-							.
-						</p></li>
-					<li><p>
-							To remove an attribute, click the attribute and choose
-							<kbd title="Keyboard button">DELETE</kbd>
-							or choose <i>Delete</i> in the context menu.
-						</p>
-						<p>
-							You can also remove an attribute by positioning the mouse cursor
-							over the attribute and choosing the <i>Delete Attribute</i>
-							pushbutton.
-						</p>
-						<div>
-							<p>
-								<img src="../img/jpa_diagram_delete_attribute.gif"
-									alt="This graphic is explained in the accompanying text."
-									title="This graphic is explained in the accompanying text." />
-							</p>
-							<p />
-						</div>
-					</li>
-				</ol>
-			</div>
-		</td>
-	</div>
-</body>
-</html>
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_open_diagram.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_open_diagram.html
deleted file mode 100644
index f319e6e..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_open_diagram.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Open JPA Diagram, create and display entities</title>
-
-<!-- contents -->
-</head>
-<body>
-
-	<div class="sect1">
-		<!-- infolevel="all" infotype="General" -->
-		<h2>Opening JPA Diagram Editor</h2>
-		<td><div>
-				<ol>
-					<li><p>
-							In the <i>Project Explorer</i>, select the project that you are
-							using or want to use for your entities.
-						</p>
-					</li>
-					<li><p>
-							In the context menu, choose <span title="Navigation path">
-								<i>JPA Tools</i> -&grt; <i>Open Diagram</i>
-							</span>.
-						</p>
-					</li>
-				</ol>
-			</div></td>
-		<h2>Creating new entities</h2>
-		<td><p>
-				In the <i>Entities</i> list of the <i>Palette</i>, choose <span><img
-					src="../img/jpaeditor_entity.gif" alt="Entity" title="Entity" /> (<i
-					title="Quick info">Entity</i>)</span>, then click the diagram area.
-			</p>
-			<p>The Eclipse IDE creates the new entity with a predefined name
-				and a primary key.</p></td>
-		<h2>Displaying existing entities (if any) within a project on the
-			diagram</h2>
-		<td><div>
-				<ul>
-					<li><p>
-							To display a single entity, copy the entity using drag and drop
-							from the <i>Project Explorer</i> to the JPA diagram.
-						</p>
-					</li>
-					<li><p>
-							To display all entities, click the JPA diagram with the secondary
-							mouse button and choose <i>Show All Entities</i>, or copy the <i>JPA
-								Content</i> node from the project in the <i>Project Explorer</i> to
-							the JPA diagram, using drag and drop.
-						</p>
-					</li>
-				</ul>
-			</div></td>
-	</div>
-</body>
-</html>
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_open_miniature_view.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_open_miniature_view.html
deleted file mode 100644
index 88b01f8..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_open_miniature_view.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Opening the Miniature view or the JPA Details view</title>
-
-<!-- contents -->
-</head>
-<body>
-
-	<div class="sect1">
-		<!-- infolevel="all" infotype="General" -->
-		<h2>Opening the Miniature view or the JPA Details view</h2>
-		<td><div>
-				<ol>
-					<li><p>Click the JPA diagram with the secondary mouse
-							button.</p></li>
-					<li><p>
-							Choose <i>Open Miniature View</i> or <i>Open JPA Details View</i>,
-							respectively.
-						</p></li>
-					<li><p>
-							To save the diagram as an image, choose <i>Save as Image</i>.
-						</p></li>
-				</ol>
-			</div>
-			<div>
-				<p>
-					<img src="../img/jpa_miniature_view.gif"
-						alt="JPA Editor Miniature view."
-						title="JPA Editor Miniature view." />
-				</p>
-				<br />
-			</div>
-		</td>
-	</div>
-</body>
-</html>
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_refactor_entities.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_refactor_entities.html
deleted file mode 100644
index 4f52fd2..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_refactor_entities.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Refactor, view, edit and remove entities and their
-	attributes</title>
-
-<!-- contents -->
-</head>
-<body>
-
-	<div class="sect1">
-		<!-- infolevel="all" infotype="General" -->
-		<h2>Refactoring entities and attribute types</h2>
-		<td><div>
-				<p>
-					<b>Caution:</b>
-				</p>
-				<div>
-					<ul>
-						<li><p>
-								If you rename or move an entity using a different approach (for
-								example, via the <i>Project Explorer</i>), the entity disappears
-								from the JPA diagram.
-							</p>
-						</li>
-						<li><p>When you refactor an attribute type, any existing
-								business logic within the attribute's access methods is deleted.</p>
-						</li>
-					</ul>
-				</div>
-			</div>
-			<p>Using the JPA diagram editor, you can perform the following
-				refactoring operations:</p>
-			<div>
-				<ul>
-					<li><p>
-							Rename the entity class - in the context menu of the entity name,
-							choose <span><i>Refactor Entity Class</i> -&gt; <i>Rename</i>
-							</span>, then complete the wizard.
-						</p>
-					</li>
-					<li><p>
-							Move the entity to another source package - in the context menu
-							of the entity name, choose <span><i>Refactor Entity
-									Class</i> -&gt; <i>Move</i>
-							</span>, then complete the wizard.
-						</p>
-					</li>
-					<li><p>
-							Refactor an attribute type - in the context menu of an attribute,
-							choose <i>Refactor Attribute Type</i>, change the type, and
-							choose <i>OK</i>.
-						</p>
-					</li>
-				</ul>
-			</div></td>
-
-		<h2>Viewing and editing entities' source code</h2>
-		<td><p>To view and edit the source code of a particular
-				entity, double-click the title of the corresponding entity block on
-				the diagram.</p>
-			<p>The Eclipse IDE opens the entity class in the standard source
-				code editor.</p>
-			<p>When you apply changes to the source code, they are
-				automatically synchronized with the diagram.</p></td>
-
-		<h2>Removing all entities from the diagram</h2>
-		<td><div>
-				<p>
-					<b>Note:</b>
-				</p>
-				<p>This operation removes the entities from the JPA diagram
-					only, that is, they are not removed from the underlying application
-					data model.</p>
-			</div>
-			<div>
-				<ol>
-					<li><p>Click the JPA diagram with the secondary mouse
-							button.</p>
-					</li>
-					<li><p>
-							To save any unsaved changes to the application data model, and
-							remove all entities from the diagram, choose <span> <i>Remove
-									All Entities from Diagram</i> -&gt; <i>...and Save Changes</i>
-							</span>
-						</p>
-					</li>
-					<li><p>
-							To remove all entities from the diagram without saving any
-							unsaved changes to the data model, choose <span><i>Remove
-									All Entities from Diagram</i> -&gt; <i>...and Discard Changes</i>
-							</span>.
-						</p>
-					</li>
-				</ol>
-			</div></td>
-	</div>
-</body>
-</html>
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_remove_entities.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_remove_entities.html
deleted file mode 100644
index 1b560bb..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/task_remove_entities.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<title>Defining and removing relationships between entities</title>
-
-<!-- contents -->
-</head>
-<body>
-
-	<div class="sect1">
-		<!-- infolevel="all" infotype="General" -->
-		<h1>Defining and removing relationships between entities</h1>
-		<td><div>
-				<ol>
-					<li><p>
-							In the <i>Relations</i> list of the <i>Palette</i>, choose a
-							relationship type.
-						</p>
-					</li>
-					<li><p>
-							Click the source entity of the relationship with the primary
-							mouse button or choose
-							<kbd title="Keyboard button">ESCAPE</kbd>
-							to cancel.
-						</p>
-					</li>
-					<li><p>
-							Click the target entity of the relationship with the primary
-							mouse button or choose
-							<kbd title="Keyboard button">ESCAPE</kbd>
-							to cancel.
-						</p>
-						<p>The Eclipse IDE creates and visualizes the relationship, as
-							well as the relevant relationship attributes of the entities,
-							depending on the type of relation.</p></li>
-					<li><p>
-							To remove a particular relationship, select the relation on the
-							JPA diagram and choose
-							<kbd title="Keyboard button">DELETE</kbd>
-							, or choose <i>Delete</i> in the context menu.
-						</p>
-						<div>
-							<p>Removing a relationship via the JPA diagram also removes
-								it from the application data model and deletes the relationship
-								attributes of the two related entities.</p>
-						</div></li>
-				</ol>
-			</div></td>
-	</div>
-</body>
-</html>
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/toc.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/toc.html
deleted file mode 100644
index 59b9631..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/html/toc.html
+++ /dev/null
@@ -1,13 +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">
-<title>Table of Contents</title>
-</head>
-
-<body>
-	<h1>Table of Contents</h1>
-	Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_delete_attribute.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_delete_attribute.gif
deleted file mode 100644
index fdb53f1..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_delete_attribute.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_editor.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_editor.gif
deleted file mode 100644
index f6c95e6..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_editor.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_entity_operations.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_entity_operations.gif
deleted file mode 100644
index d800a1b..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_diagram_entity_operations.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_miniature_view.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_miniature_view.gif
deleted file mode 100644
index fd3e254..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpa_miniature_view.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpaeditor_entity.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpaeditor_entity.gif
deleted file mode 100644
index 9c495ff..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/img/jpaeditor_entity.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/plugin.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/plugin.properties
deleted file mode 100644
index 3260a3f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-pluginName=Dali Java Persistence Tools - Documentation
-providerName = Eclipse Web Tools Platform
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/plugin.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/plugin.xml
deleted file mode 100644
index 145c6ac..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-	<!-- =========== -->
-	<!-- Define TOC  -->
-	<!-- =========== -->
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="toc.xml"
-            primary="true">
-      </toc>
-   </extension>
-
-</plugin>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/toc.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/toc.xml
deleted file mode 100644
index 5abbf62..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user/toc.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="JPA Diagram Editor Project User Guide">
-
-	<topic label="Getting started" href="html/getting_started.html"/>
-	
-    <topic label="Tasks">
-    	<topic href="PLUGINS_ROOT/org.eclipse.jpt.doc.user/getting_started003.htm" label="Create new JPA project">
-    	</topic>
-     <topic href="html/task_configuring_editor.html" label="Configuring the JPA diagram editor">
-     </topic>
-    	<topic href="html/task_open_diagram.html" label="Open JPA Diagram, create and display entities">
-    	</topic>
-    	<topic href="html/task_remove_entities.html" label="Defining and removing relationships between entities">
-    	</topic>
-    	<topic href="html/task_manage_entities.html" label="Managing entities">
-    	</topic>
-    	<topic href="html/task_refactor_entities.html" label="Refactor, view, edit and remove entities and their attributes">
-    	</topic>
-    	<topic href="html/task_open_miniature_view.html" label="Opening the Miniature view or the JPA Details view">
-    	</topic>
-    	<topic href="html/task_20_support.html" label="JPA diagram editor partial support for JPA 2.0">
-    	</topic>
- 	</topic>
-    <topic label="Reference">
-       <topic href="html/reference_project_page.html" label="Property page - JPA Diagram Editor Options">
-       </topic>
-    </topic> 
-
-</toc>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.classpath b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.classpath
deleted file mode 100644
index e1f2c35..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5" />
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins" />
-	<classpathentry kind="src" path="src" />
-	<classpathentry kind="output" path="bin" />
-</classpath>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.cvsignore b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.project b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.project
deleted file mode 100644
index e799495..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.settings/org.eclipse.jdt.core.prefs b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d3cad09..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:09:57 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/META-INF/MANIFEST.MF b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 99dad59..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,44 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpadiagrameditor.ui;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.transaction;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gef;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.graphiti;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.graphiti.mm;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.graphiti.pattern;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.graphiti.ui;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.ui;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jpa.core;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.jpt.jpa.ui;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.views.properties.tabbed;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.emf;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.core.filesystem;bundle-version="1.3.100"
-Export-Package: org.eclipse.jpt.jpadiagrameditor.ui.internal;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.dialog;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.propertytester;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.util;x-internal:=true
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/about.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/about.html
deleted file mode 100644
index 071f586..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/about.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H2>About This Content</H2>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-<h3>Third Party Content</h3>
-<p>The Content includes items that have been sourced from third parties as set 
-  out below. If you did not receive this Content directly from the Eclipse Foundation, 
-  the following is provided for informational purposes only, and you should look 
-  to the Redistributor&#8217;s license for terms and conditions of use.</p>
-
-<h4><a name="JPA" id="JPA"></a>Java Persistence API (JPA) v1.0</h4>
-
-<blockquote>
-  <p>The Java Persistence API (JPA) which is distributed under <a href="https://glassfish.dev.java.net/public/CDDLv1.0.html">CDDL 
-    v1.0</a> is required by the Dali Java Persistence Tools Project in order 
-    to support this standard.</p>
-</blockquote>
-</BODY>
-</HTML>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/build.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/build.properties
deleted file mode 100644
index e418f5d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2011 SAP AG. All rights reserved.
-# This program and the accompanying materials are made available under the
-# terms 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 - initial API, implementation and documentation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               icons/,\
-               plugin.xml,\
-               plugin.properties
-jars.compile.order = .
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/component.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/component.xml
deleted file mode 100644
index 86072a5..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpadiagrameditor.ui"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jpt.jpadiagrameditor.ui" fragment="false"/></component>
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/CompoundKey.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/CompoundKey.gif
deleted file mode 100644
index a98d13d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/CompoundKey.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/EJB_15x16.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/EJB_15x16.gif
deleted file mode 100644
index 22fef05..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/EJB_15x16.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/cmpEntity_obj.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/cmpEntity_obj.gif
deleted file mode 100644
index 20ed1f9..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/cmpEntity_obj.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_attribute.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_attribute.gif
deleted file mode 100644
index 8d1a4c1..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_attribute.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_entity.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_entity.gif
deleted file mode 100644
index 0978384..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_entity.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/basic.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/basic.gif
deleted file mode 100644
index a547d74..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/basic.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embeddable.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embeddable.gif
deleted file mode 100644
index 8856f78..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embeddable.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded-id.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded-id.gif
deleted file mode 100644
index c1c8e21..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded-id.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded.gif
deleted file mode 100644
index c2ae664..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity-mappings.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity-mappings.gif
deleted file mode 100644
index c349c96..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity-mappings.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity.gif
deleted file mode 100644
index d606f48..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/id.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/id.gif
deleted file mode 100644
index a205ec3..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/id.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-content.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-content.gif
deleted file mode 100644
index c0ab917..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-content.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-file.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-file.gif
deleted file mode 100644
index b4e9f47..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-file.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-1-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-1-dir.gif
deleted file mode 100644
index 89cac00..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-1-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-2-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-2-dir.gif
deleted file mode 100644
index 07b3d14..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-2-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many.gif
deleted file mode 100644
index 48885b2..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-1-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-1-dir.gif
deleted file mode 100644
index aa4e2ca..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-1-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-2-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-2-dir.gif
deleted file mode 100644
index 1828007..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-2-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one.gif
deleted file mode 100644
index 2e1e2b9..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/mapped-superclass.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/mapped-superclass.gif
deleted file mode 100644
index 8cc3764..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/mapped-superclass.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-attribute-mapping.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-attribute-mapping.gif
deleted file mode 100644
index 70a9c23..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-attribute-mapping.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-type-mapping.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-type-mapping.gif
deleted file mode 100644
index 6279478..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-type-mapping.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many-1-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many-1-dir.gif
deleted file mode 100644
index 392ef48..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many-1-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many.gif
deleted file mode 100644
index 1e90027..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-1-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-1-dir.gif
deleted file mode 100644
index 9193acf..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-1-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-2-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-2-dir.gif
deleted file mode 100644
index 354a9af..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-2-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one.gif
deleted file mode 100644
index 578ec36..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence-unit.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence-unit.gif
deleted file mode 100644
index 9cc45f6..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence-unit.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence.gif
deleted file mode 100644
index d1f616d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/remove_attribute.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/remove_attribute.gif
deleted file mode 100644
index 40166b3..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/remove_attribute.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/transient.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/transient.gif
deleted file mode 100644
index cc5d83d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/transient.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/version.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/version.gif
deleted file mode 100644
index 202a810..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/version.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/warning.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/warning.gif
deleted file mode 100644
index 14009e9..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/warning.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/restore.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/restore.gif
deleted file mode 100644
index c081984..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/restore.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save.gif
deleted file mode 100644
index 1e0851a..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save_and_remove.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save_and_remove.gif
deleted file mode 100644
index 271d231..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save_and_remove.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.properties
deleted file mode 100644
index b7c55a1..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2010 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms 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 - initial API, implementation and documentation
-###############################################################################
-
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-pluginName=Dali Java Persistence Tools - JPA Diagram Editor
-providerName = Eclipse Web Tools Platform
-
-diagrameditor.name = JPA Diagram Editor
-diagrameditor.opendiagram.menu.label = Open Diagram
-diagrameditor.opendiagram.action.label = Open Diagram
-diagrameditor.opendiagram.project.menu.label = Open Diagram
-diagrameditor.opendiagram.action.project.label = Open Diagram
-diagrameditor.prefpage = JPA Diagram Editor
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.xml
deleted file mode 100644
index aed3594..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!--
-    <copyright>
-   
-    Copyright (c) 2005, 2010 SAP AG.
-    All rights reserved. This program and the accompanying materials
-    are made available under the terms 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 - initial API, implementation and documentation
-   
-    </copyright>
-   
- -->
-<plugin>
-    <extension point="org.eclipse.ui.editors">
-      <editor
-            class="org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor"
-            default="true"
-            icon="icons/ent/entity.gif"
-            id="org.eclipse.jpt.jpadiagrameditor.ui"
-            matchingStrategy="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy"
-            name="%diagrameditor.name">
-      </editor>
-   </extension>
-   
- <extension
-       point="org.eclipse.ui.popupMenus">
-    <objectContribution
-          adaptable="false"
-          id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpa"
-          nameFilter="*"
-          objectClass="org.eclipse.jpt.jpa.core.JpaNode">
-          
-			<enablement>
-				<test property="org.eclipse.jpt.jpadiagrameditor.ui.jpaProjectFacet" value="jpt.jpa"/>
-			</enablement>
-       <menu
-             id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpaMenu"
-             label="%diagrameditor.opendiagram.menu.label">
-       </menu>
-       <action
-             class="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.OpenJpaDiagramActionDelegate"
-             enablesFor="1"
-             id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpaAction"
-             label="%diagrameditor.opendiagram.action.label">
-       </action>
-    </objectContribution>
-    <objectContribution
-          adaptable="true"
-          id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramOnJpaProject"
-          nameFilter="*"
-          objectClass="org.eclipse.core.resources.IProject">
-		<enablement>
-			<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa"/>
-		</enablement>
-       <action
-             class="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.OpenJpaDiagramActionDelegate"
-             enablesFor="1"
-             id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramOnJpaProjectAction"
-             label="%diagrameditor.opendiagram.action.project.label"
-             menubarPath="org.eclipse.jpt.jpa.ui.menu.JpaTools/content">
-       </action>
-    </objectContribution>
- </extension>
-<extension point="org.eclipse.ui.preferencePages">
- 	<page
-        category="org.eclipse.ui.preferencePages.Editors"
-        class="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage"
-        id="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage"
-        name="%diagrameditor.prefpage">
-   	</page>
-</extension>
-<extension
-      point="org.eclipse.core.runtime.preferences">
-   <initializer
-         class="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer">
-   </initializer>
-</extension>
-<extension
-      point="org.eclipse.ui.propertyPages">
-   <page
-         category="org.eclipse.jpt.jpa.ui.jpaProjectProperties"
-         class="org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage"
-         id="org.eclipse.jpt.jpadiagrameditor.ui.propertypage"
-         name="%diagrameditor.prefpage">
-			<enabledWhen>
-				<adapt type="org.eclipse.core.resources.IProject"> 		        
-		          <or>
-				    <test
-					     forcePluginActivation="true"
-					     property="org.eclipse.wst.common.project.facet.core.projectFacet"
-					     value="jpt.jpa:1.0">
-					</test>
-					<test
-					     forcePluginActivation="true"
-					     property="org.eclipse.wst.common.project.facet.core.projectFacet"
-					     value="jpt.jpa:2.0">
-					</test>
-				  </or>	
-		        </adapt> 
-			</enabledWhen>         
-   </page>
-</extension>
-<extension
-      point="org.eclipse.graphiti.ui.diagramTypeProviders">
-   <diagramTypeProvider
-         class="org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider"
-         id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorDiagramTypeProvider"
-         name="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorDiagramTypeProvider">
-      <diagramType
-            id="org.eclipse.jpt.jpadiagrameditor.ui.JPAEditorDiagramType">
-      </diagramType>
-      <imageProvider
-            id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorImageProvider">
-      </imageProvider>
-   </diagramTypeProvider>
-</extension>
-<extension
-      point="org.eclipse.graphiti.ui.diagramTypes">
-   <diagramType
-         description="This is the diagram type for the JPA editor"
-         id="org.eclipse.jpt.jpadiagrameditor.ui.JPAEditorDiagramType"
-         name="JPA editor diagram type"
-         type="JPA Diagram">
-   </diagramType>
-</extension>
-<extension
-      point="org.eclipse.graphiti.ui.imageProviders">
-   <imageProvider
-         class="org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider"
-         id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorImageProvider">
-   </imageProvider>
-</extension>
-
-<extension point="org.eclipse.core.expressions.propertyTesters">
-    <propertyTester
-      id="org.eclipse.jpt.jpadiagrameditor.ui.propertytester.JpaProjectFacetVersionPropertyTester"
-      type="org.eclipse.jpt.jpa.core.JpaNode"
-      namespace="org.eclipse.jpt.jpadiagrameditor.ui"
-      properties="jpaProjectFacet"
-      class="org.eclipse.jpt.jpadiagrameditor.ui.internal.propertytester.JpaProjectFacetVersionPropertyTester">
-    </propertyTester>
-</extension>
-
-</plugin>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/pom.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/pom.xml
deleted file mode 100644
index b0b1cff..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<version>1.0.100-SNAPSHOT</version>
-	
-	<parent>
-		<artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
-		<groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
-		<version>1.1.0-SNAPSHOT</version>
-		<relativePath>../../development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml</relativePath>
-	</parent>
-	
-	<artifactId>org.eclipse.jpt.jpadiagrameditor.ui</artifactId>
-	<packaging>eclipse-plugin</packaging>
-	<name>JPA Diagram Editor Plug-in</name>	
-</project>
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditor.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditor.java
deleted file mode 100644
index e008d5c..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditor.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2012 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.resources.IFile;
-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.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.ui.editor.DiagramEditor;
-import org.eclipse.graphiti.ui.internal.parts.ConnectionEditPart;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jpt.common.core.internal.utility.PlatformTools;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.selection.JpaSelectionManager;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPADiagramEditorInput;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorContextMenuProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.EntitiesCoordinatesXML;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPACheckSum;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-
-
-@SuppressWarnings("restriction")
-public class JPADiagramEditor extends DiagramEditor {
-
-	public final static String ID = "org.eclipse.jpt.jpadiagrameditor.ui"; //$NON-NLS-1$
-	private DefaultEditDomain editDomain;
-
-	private JavaPersistentType inputJptType;
-	private ISelectionManagerFactory jpaSelectionManagerFactory;
-
-	public JPADiagramEditor() {
-		this(new SelectionManagerFactoryImpl());
-		editDomain = new DefaultEditDomain(this);
-	}
-
-	public JPADiagramEditor(ISelectionManagerFactory jpaSelectionManagerFactory) {
-		super();
-		this.jpaSelectionManagerFactory = jpaSelectionManagerFactory;
-		editDomain = new DefaultEditDomain(this);
-	}
-
-	@Override
-	public JPAEditorDiagramTypeProvider getDiagramTypeProvider() {
-		return (JPAEditorDiagramTypeProvider) super.getDiagramTypeProvider();
-	}
-
-	public IFeatureProvider getFeatureProvider() {
-		return getDiagramTypeProvider().getFeatureProvider();
-	}
-
-	
-	@SuppressWarnings("rawtypes")
-	@Override
-	public Object getAdapter(Class type) {		
-		if(IPropertySheetPage.class.equals(type))
-			return null;
-		
-		return super.getAdapter(type);
-	}
-
-	public void saveWithoutEntities(IProgressMonitor monitor) {
-		final Diagram d = getDiagramTypeProvider().getDiagram();
-		final Wrp wrp = new Wrp();
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(d);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				JPACheckSum.INSTANCE().assignEntityShapesMD5Strings(d, ModelIntegrationUtil.getProjectByDiagram(d.getName()));
-				List<Shape> children = d.getChildren();
-				Iterator<Shape> chIt = children.iterator();
-				boolean save = true;
-				while (chIt.hasNext()) {
-					ContainerShape sh = (ContainerShape)chIt.next();
-					JavaPersistentType jpt = (JavaPersistentType) getFeatureProvider()
-							.getBusinessObjectForPictogramElement(sh);
-					String entName = JPAEditorUtil.getText(jpt);
-					ICompilationUnit cu = JPAEditorUtil.getCompilationUnit(jpt);
-					try {
-						if (cu.hasUnsavedChanges()) {
-							entName = "* " + entName; 	//$NON-NLS-1$
-							save = false;
-						}
-					} catch (JavaModelException e) {
-						JPADiagramEditorPlugin.logError("Problem with compilation unit", e); //$NON-NLS-1$				 
-					}
-					GraphicsUpdater.updateHeader(sh, entName);
-				}
-				wrp.setObj(new Boolean(save));
-			}
-		});		
-		if ((Boolean)wrp.getObj())
-			super.doSave(monitor);
-	}
-
-	@Override
-	public void doSave(final IProgressMonitor monitor) {
-		final Diagram d = getDiagramTypeProvider().getDiagram();
-		//IJPAEditorFeatureProvider fp = (IJPAEditorFeatureProvider)getFeatureProvider();
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(d);
-		if ((d == null) || (ted == null)) {
-			JPADiagramEditorPlugin.logError((d == null) ? "Diagram is null" : "TransactionalEditingDomain is null", new Exception()); //$NON-NLS-1$	 //$NON-NLS-2$	     					
-			return;
-		}
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				JPACheckSum.INSTANCE().assignEntityShapesMD5Strings(d, ModelIntegrationUtil.getProjectByDiagram(d.getName()));
-				List<Shape> children = d.getChildren();
-				Iterator<Shape> chIt = children.iterator();
-				while (chIt.hasNext()) {
-					Shape sh = chIt.next();
-					JavaPersistentType jpt = (JavaPersistentType) getFeatureProvider()
-							.getBusinessObjectForPictogramElement(sh);
-					if (jpt != null)
-						JpaArtifactFactory.instance().forceSaveEntityClass(jpt, (IJPAEditorFeatureProvider) getFeatureProvider());
-				}
-				/*
-				Resource res = ModelIntegrationUtil.getResourceByDiagram(d);
-				
-				try {
-					//doSave(monitor);
-					res.save(null);
-				} catch (IOException e) {
-					System.err.println("Can't save the diagram");	//$NON-NLS-1$
-					e.printStackTrace(); 	
-				}
-				*/
-				
-			}
-		});
-		
-		//IProject project = ModelIntegrationUtil.getProjectByDiagram().getProject();
-		EntitiesCoordinatesXML xml = new EntitiesCoordinatesXML(d.getName());
-		xml.store();
-		xml.close();
-		
-		super.doSave(monitor);
-	}
-
-	@Override
-	protected ContextMenuProvider createContextMenuProvider() {
-		return new JPAEditorContextMenuProvider(getGraphicalViewer(),
-				getActionRegistry(),
-				getConfigurationProvider());
-	}
-
-	private void initWithFileEditorInput(final IEditorSite site,
-			final IFile entityFile) {
-		Diagram diagram = null;
-		try {			
-			ProgressMonitorDialog dialog = new ProgressMonitorDialog(site
-					.getShell());
-			dialog.run(true, false, new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-						throws InvocationTargetException, InterruptedException {
-					monitor.beginTask(
-							JPAEditorMessages.JPADiagramEditor_waitingForMoin,
-							IProgressMonitor.UNKNOWN);					
-					monitor.done();
-				}
-			});
-
-			inputJptType = JPAEditorUtil.getJPType(JavaCore
-					.createCompilationUnitFrom(entityFile));
-			setPartProperty(
-					JPAEditorConstants.OPEN_WHOLE_PERSISTENCE_UNIT_EDITOR_PROPERTY,
-					inputJptType.getName());
-			PersistenceUnit persistenceUnit = inputJptType.getPersistenceUnit();
-			String diagramURI = ModelIntegrationUtil.createDiagramPath(persistenceUnit).toString();
-			TransactionalEditingDomain defaultTransEditDomain = (TransactionalEditingDomain)inputJptType.
-								getJpaProject().getProject().getAdapter(TransactionalEditingDomain.class);
-			diagram = ModelIntegrationUtil.createDiagram(persistenceUnit, 10, true);
-			JPADiagramEditorInput diagramInput = new JPADiagramEditorInput(diagram,
-																		   diagramURI, 
-																		   defaultTransEditDomain, 
-																		   JPAEditorDiagramTypeProvider.ID, 
-																		   false);
-			//ModelIntegrationUtil.mapDiagramToProject(diagram, persistenceUnit
-			//		.getJpaProject());
-			super.init(site, diagramInput);
-		} catch (CoreException e) {
-			JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
-			//ModelIntegrationUtil.removeDiagramProjectMapping(diagram);
-		} catch (InvocationTargetException e) {
-			IStatus status = new Status(IStatus.ERROR,
-					JPADiagramEditorPlugin.PLUGIN_ID, e.getMessage(), e);
-			JPADiagramEditorPlugin.getDefault().getLog().log(status);
-			//ModelIntegrationUtil.removeDiagramProjectMapping(diagram);
-		} catch (InterruptedException e) {
-			IStatus status = new Status(IStatus.ERROR,
-					JPADiagramEditorPlugin.PLUGIN_ID, e.getMessage(), e);
-			JPADiagramEditorPlugin.getDefault().getLog().log(status);
-			//ModelIntegrationUtil.removeDiagramProjectMapping(diagram);
-		}
-	}
-
-	public void init(IEditorSite site, IEditorInput input)
-			throws PartInitException {		
-		IFile entityFile = (IFile) input.getAdapter(IFile.class);
-		
-		if (entityFile != null && entityFile.getFileExtension().equals("java")) { //$NON-NLS-1$
-			initWithFileEditorInput(site, entityFile);
-		} else
-			super.init(site, input);
-	}
-	
-	@Override
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		super.selectionChanged(part, selection);
-		if (!(selection instanceof IStructuredSelection))
-			return;
-		IStructuredSelection structSel = (IStructuredSelection)selection;
-		@SuppressWarnings("unchecked")
-		Iterator<IStructuredSelection> iter = structSel.iterator();
-		while(iter.hasNext()){
-			Object object = iter.next();
-			if(object instanceof EditPart){
-				EditPart editPart = (EditPart) object;
-				if(editPart instanceof ConnectionEditPart){
-					ConnectionEditPart connectionEditPart =  (ConnectionEditPart) (editPart);
-					connectionEditPart.removeEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE);
-				}
-			}
-		}
-		
-		Object o = ((IStructuredSelection) selection).getFirstElement();
-		if (o instanceof EditPart) {			
-			JpaSelectionManager selectionManager = getJpaSelectionManager(part);
-			Object m = ((EditPart) o).getModel();
-			if (m == null)
-				return;
-			if (m instanceof PictogramElement) {
-				Object bo = getFeatureProvider()
-						.getBusinessObjectForPictogramElement(
-								(PictogramElement) m);
-				if ((bo == null) || (!(bo instanceof JpaStructureNode)))
-					return;
-				selectionManager.setSelection((JpaStructureNode) bo);
-				return;
-			}
-		}
-	}
-
-	private JpaSelectionManager getJpaSelectionManager(IWorkbenchPart part) {
-		return jpaSelectionManagerFactory.getSelectionManager(part.getSite()
-				.getWorkbenchWindow());
-	}
-
-	public static interface ISelectionManagerFactory {
-		public JpaSelectionManager getSelectionManager(IWorkbenchWindow window);
-	}
-
-	private static class SelectionManagerFactoryImpl implements
-			ISelectionManagerFactory {
-
-		public JpaSelectionManager getSelectionManager(IWorkbenchWindow window) {
-			return PlatformTools.getAdapter(window, JpaSelectionManager.class);
-		}
-
-	}
-	
-	@Override
-	public DefaultEditDomain getEditDomain() {
-		return editDomain;
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditorPlugin.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditorPlugin.java
deleted file mode 100644
index 8cd6346..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditorPlugin.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal;
-
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.internal.ui.dialogs.OptionalMessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.ResourceChangeListener;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-@SuppressWarnings("restriction")
-public class JPADiagramEditorPlugin extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.jpt.jpadiagrameditor.ui"; //$NON-NLS-1$
-
-	// The shared instance
-	private static JPADiagramEditorPlugin plugin;
-	
-	private IResourceChangeListener changeListener;
-		
-	/**
-	 * The constructor
-	 */
-	public JPADiagramEditorPlugin() {
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-		
-		OptionalMessageDialog.setDialogEnabled(JPAEditorConstants.JPA_SUPPORT_DIALOG_ID, true);
-		changeListener = new ResourceChangeListener();
-		EclipseFacade.INSTANCE.getWorkspace().addResourceChangeListener(changeListener, IResourceChangeEvent.POST_CHANGE);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-		EclipseFacade.INSTANCE.getWorkspace().removeResourceChangeListener(changeListener);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static JPADiagramEditorPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-	
-	/**
-	 * Log the specified message.
-	 */
-	public static void logError(String msg) {
-        logError(msg, null);
-    }
-
-	/**
-	 * Log the specified exception or error.
-	 */
-	public static void logError(Throwable throwable) {
-		logError(throwable.getLocalizedMessage(), throwable);
-	}
-
-	/**
-	 * Log the specified message and exception or error.
-	 */
-	public static void logError(String msg, Throwable throwable) {
-		log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, throwable));
-	}
-	
-	/**
-	 * Log the specified status.
-	 */
-	public static void log(IStatus status) {
-		plugin.getLog().log(status);
-    }
-	
-	
-	/**
-	 * Log the specified message and exception or error.
-	 */
-	public static void logInfo(String msg) {
-		log(new Status(IStatus.INFO, PLUGIN_ID, IStatus.OK, msg, null));
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/dialog/SelectTypeDialog.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/dialog/SelectTypeDialog.java
deleted file mode 100644
index 5d85e97..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/dialog/SelectTypeDialog.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.dialog;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.bindings.keys.KeyStroke;
-import org.eclipse.jface.bindings.keys.ParseException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.fieldassist.ContentProposalAdapter;
-import org.eclipse.jface.fieldassist.IContentProposalProvider;
-import org.eclipse.jface.fieldassist.SimpleContentProposalProvider;
-import org.eclipse.jface.fieldassist.TextContentAdapter;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.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;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.forms.IMessage;
-import org.eclipse.ui.progress.IProgressService;
-
-
-@SuppressWarnings("restriction")
-public class SelectTypeDialog extends TitleAreaDialog {
-	
-	protected String title;
-	protected String message;
-	protected Label label;
-	protected Text text;
-	protected String type;
-	protected Button browseButton;
-	protected ContentProposalAdapter contentProposalAdapter;
-	
-	
-	protected static KeyStroke ks = null;
-	static {
-		try {
-			ks = KeyStroke.getInstance("Ctrl+Space");			//$NON-NLS-1$
-		} catch (ParseException e1) {
-			JPADiagramEditorPlugin.logError("Can't create keystroke object", e1); 	//$NON-NLS-1$
-		} 
-	}
-	
-	public SelectTypeDialog(String message,
-							String initialType) {
-		super(PlatformUI.getWorkbench().getDisplay().getActiveShell());
-		this.title = JPAEditorMessages.SelectTypeDialog_chooseAttributeTypeDialogTitle;
-		this.message = message;
-		this.type = initialType;
-	}
-	
-    protected Control createContents(Composite parent) {
-        Control contents = super.createContents(parent);
-        initializeControls();
-        validatePage();
-        return contents;
-    }
-    
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        shell.setText(JPAEditorMessages.SelectTypeDialog_chooseAttributeTypeDialogWindowTitle);
-    }
-    
-    
-	protected Point getInitialSize() {
-		return new Point(convertHorizontalDLUsToPixels(320),
-						 convertVerticalDLUsToPixels(120));
-	}    
-    
-	public String getTypeName() {
-		return type;
-	}
-	
-	protected void buttonPressed(int buttonId) {
-		type = text.getText().trim();
-		super.buttonPressed(buttonId);
-	}		
-	
-	protected boolean isResizable() {
-		return true;
-	}	
-		
-	private void createLabel(Composite composite) {
-		label = new Label(composite, SWT.LEFT);
-		label.setText(JPAEditorMessages.SelectTypeDialog_typeLabel);
-	}
-	
-	private void createTextField(Composite composite) {
-		text = new Text(composite, SWT.SINGLE | SWT.BORDER);		
-	}
-	
-	private void createBrowseBtn(Composite composite) {
-		browseButton = new Button(composite, SWT.PUSH);
-		browseButton.setText(JPAEditorMessages.SelectTypeDialog_browseBtnTxt);
-		browseButton.setToolTipText(JPAEditorMessages.SelectTypeDialog_browseBtnDesc);
-		browseButton.addSelectionListener(new SelectionListener() {
-			
-			public void widgetSelected(SelectionEvent e) {
-				IJavaSearchScope scope= SearchEngine.createWorkspaceScope();
-				IProgressService service = PlatformUI.getWorkbench().getProgressService();				
-				SelectionDialog d = null;
-				try {
-					d = JavaUI.createTypeDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell(), 
-					service, 
-					scope, 
-					IJavaElementSearchConstants.CONSIDER_ALL_TYPES, 
-					false, 
-					text.getText().trim());
-				} catch (JavaModelException e1) {
-					JPADiagramEditorPlugin.logError("Can't create type selaction dialog instance", e1); 	//$NON-NLS-1$
-				}
-				d.open();
-				Object[] res = d.getResult(); 
-				if (res == null)
-					return;
-				Object[] obj = d.getResult();
-				if (obj == null)
-					return;
-				IType tp = (IType) obj[0];
-				text.setText(tp.getFullyQualifiedName());
-				text.setSelection(0, tp.getFullyQualifiedName().length());
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {}
-		});
-	}
-	
-	private IContentProposalProvider createContentProposalProvider() {
-		SimpleContentProposalProvider contProvider = new SimpleContentProposalProvider(JPAEditorConstants.PRIMITIVE_TYPES_AND_WRAPPERS);
-		contProvider.setFiltering(true);
-		
-		contentProposalAdapter = new ContentProposalAdapter(
-				text,
-				new TextContentAdapter(), 
-				contProvider,
-				ks,
-				new char[] {'b', 'c', 'd', 'i', 'f', 'l', 's', 'j', 'B', 'C', 'D', 'I', 'F', 'L', 'S', 'J'});
-		contentProposalAdapter.setEnabled(true);
-		contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
-		return contProvider;
-	}
-	
-	@Override
-	public Control createDialogArea(Composite parent) {
-        Composite parentComposite = (Composite) super.createDialogArea(parent);
-        GridLayout rowLayout = new GridLayout(3, false);
-        Composite composite = new Composite(parentComposite, SWT.NONE);
-       
-        GridData d = new GridData(GridData.FILL_BOTH);
-        d.grabExcessHorizontalSpace = true;
-        d.heightHint = 400;
-        composite.setLayoutData(d);
-        
- 		rowLayout.marginLeft = 5;
- 		rowLayout.marginTop = 5;
- 		rowLayout.marginRight = 5;
- 		rowLayout.marginBottom = 30;
- 		
- 		composite.setLayout(rowLayout);
-		createLabel(composite);
-		GridData data = new GridData(40,20);
-		data.verticalAlignment = SWT.CENTER;
-		data.horizontalAlignment = SWT.BEGINNING;
-		label.setLayoutData(data);
-		createTextField(composite);
-		data = new GridData(300, 17);
-		data.horizontalAlignment = SWT.FILL;
-		data.grabExcessHorizontalSpace = true;
-		data.verticalAlignment = SWT.CENTER;
-		text.setLayoutData(data);
-		text.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setDialogComplete(validatePage());
-			}			
-		});
-		createBrowseBtn(composite);
-		data = new GridData(100, 25);
-		data.verticalAlignment = SWT.TOP;
-		data.horizontalAlignment = SWT.LEFT;
-		data.minimumWidth = 80;
-		browseButton.setLayoutData(data);		
-		createContentProposalProvider();
-		return parentComposite;
-	}
-	
-    private void initializeControls() {
-        setTitle(title);
-        setMessage(message);
-        text.setText(type);
-        text.setSelection(0, type.length());
-        setDialogComplete(validatePage());
-    }	
-	
-    protected void setDialogComplete(boolean value) {
-        this.getButton(IDialogConstants.OK_ID).setEnabled(value);
-    }	
-    
-    private boolean validatePage() {
-		String type = text.getText().trim();
-		if (StringTools.stringIsEmpty(type)) {
-			setErrorMessage(JPAEditorMessages.SelectTypeDialog_emptyTypeErrorText);
-			return false;
-		}
-		IStatus stat = getStatus();
-		if (stat.isOK()) {
-			setErrorMessage(null);
-			setMessage(message,	IMessage.NONE);
-		} else { 
-			setMessage(stat.getMessage(), IMessage.ERROR);
-		}
-		return (stat.getSeverity() != IStatus.ERROR);
-    }
-    
-    private IStatus getStatus() {
-    	String type = text.getText().trim();
-    	String[] types = type.split("[<>\\[\\],]");		//$NON-NLS-1$
-    	for (int i = 0; i < types.length; i++) {
-    		type = types[i].trim();
-			IStatus stat = JavaConventions.validateJavaTypeName(type, JavaCore.VERSION_1_6, JavaCore.VERSION_1_6);
-			boolean isPrimitive = JPAEditorConstants.PRIMITIVE_TYPES_AND_WRAPPERS_SET.contains(type);
-			if (isPrimitive || (stat.getSeverity() != IStatus.ERROR))
-				continue;
-			return stat;
-    	}
-		return Status.OK_STATUS;
-    }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/DisplayFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/DisplayFacade.java
deleted file mode 100644
index d6c1b85..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/DisplayFacade.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IDisplayFacade;
-import org.eclipse.swt.widgets.Display;
-
-public class DisplayFacade implements IDisplayFacade {
-
-	public void asyncExec(Runnable runnable) {
-		Display.getDefault().asyncExec(runnable);
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/EclipseFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/EclipseFacade.java
deleted file mode 100644
index 941de0f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/EclipseFacade.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IDisplayFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJavaCoreFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IStaticIDE;
-
-public class EclipseFacade implements IEclipseFacade {
-
-	public static EclipseFacade INSTANCE = new EclipseFacade();
-	
-	private EclipseFacade() {
-	}
-
-	public IJavaCoreFacade getJavaCore() {
-		return new JavaCoreFacade();
-	}
-
-	public IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	public IDisplayFacade getDisplay() {
-		return new DisplayFacade();
-	}
-	
-	public IStaticIDE getIDE() {
-		return new StaticIDE();
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/JavaCoreFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/JavaCoreFacade.java
deleted file mode 100644
index 4ec068e..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/JavaCoreFacade.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJavaCoreFacade;
-
-public class JavaCoreFacade implements IJavaCoreFacade {
-
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/StaticIDE.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/StaticIDE.java
deleted file mode 100644
index 16b3254..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/StaticIDE.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IStaticIDE;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-public class StaticIDE implements IStaticIDE {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.jpt.jpadiagrameditor.ui.provider.IStaticIDE#openEditor(org.eclipse
-	 * .core.resources.IFile)
-	 */
-	public void openEditor(IFile file) throws PartInitException {
-		IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
-				.getActivePage(), file);
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAllEntitiesFeature.java
deleted file mode 100644
index ec3cb7e..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAllEntitiesFeature.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.datatypes.IDimension;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-
-
-public class AddAllEntitiesFeature extends AbstractCustomFeature implements IAddFeature {
-
-	int[] lowerEdges = new int[200]; 
-	int numInARow;
-	private final static int DIST_FROM_EDGE_H = 50;
-	private final static int DIST_FROM_EDGE_V = 50;
-	private final static int DIST_H = 100;
-	private final static int DIST_V = 100;
-	
-	public AddAllEntitiesFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	@Override
-	public boolean isAvailable(IContext ctx) {
-		return true;
-	}
-	
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-	
-	@SuppressWarnings("restriction")
-	public void execute(ICustomContext context) {
-		Diagram d = getDiagram();
-		JpaProject project = getTargetJPAProject();
-		PersistenceUnit unit = project.getRootContextNode().getPersistenceXml().
-								getPersistence().getPersistenceUnits().iterator().next();
-		
-		
-		Point lowestRightestPointOfExistingDiagram = getLowestRightestPoint(d);
-		
-		for (int i = 0; i < 200; i++) {
-			lowerEdges[i] = lowestRightestPointOfExistingDiagram.y + 
-								(((i % 2 == 0) ? 1 : 2) * 
-								((lowestRightestPointOfExistingDiagram.y == 0) ? 
-									DIST_FROM_EDGE_V : 
-									DIST_V));
-		}
-		IDimension dim = getFeatureProvider().getDiagramTypeProvider().getDiagramEditor().getCurrentSize();
-		int dWidth = dim.getWidth();
-		numInARow = (dWidth - DIST_FROM_EDGE_H - 20 + JPAEditorConstants.ENTITY_WIDTH)/(JPAEditorConstants.ENTITY_WIDTH + DIST_H);
-		numInARow = (numInARow > 0) ? numInARow : 1;
-		
-		lowerEdges[0] = lowestRightestPointOfExistingDiagram.y + ((lowestRightestPointOfExistingDiagram.y == 0) ? DIST_FROM_EDGE_V : DIST_V);		
-		
-		for (ClassRef classRef : unit.getClassRefs()) {
-			if (classRef.getJavaPersistentType() != null) { // null if
-				JavaPersistentType jpt = classRef.getJavaPersistentType(); 
-				if (jpt.getMappingKey() == MappingKeys.ENTITY_TYPE_MAPPING_KEY) {
-					PictogramElement pe = getFeatureProvider().getPictogramElementForBusinessObject(jpt);
-					if (pe != null)
-						continue;
-					
-					final AddContext ctx = new AddContext();
-					ctx.setTargetContainer(d);
-					ctx.setNewObject(jpt);
-					
-					IndexAndLowerEdge ie = getMinLowerEdge();
-					
-					int x = DIST_FROM_EDGE_H + ie.index * (JPAEditorConstants.ENTITY_WIDTH + DIST_H);
-					ctx.setLocation(x, ie.lowerEdge);
-					final AddJPAEntityFeature ft = new AddJPAEntityFeature(getFeatureProvider());
-					
-					final Diagram targetDiagram = (Diagram) ctx.getTargetContainer();
-					TransactionalEditingDomain ted = ModelIntegrationUtil.getTransactionalEditingDomain(targetDiagram);
-					ted.getCommandStack().execute(new RecordingCommand(ted) {
-						@Override
-						protected void doExecute() {
-							ft.add(ctx);
-						}
-					});
-					ContainerShape entityShape = (ContainerShape)getFeatureProvider().getPictogramElementForBusinessObject(jpt);
-					lowerEdges[ie.index] = entityShape.getGraphicsAlgorithm().getY() + entityShape.getGraphicsAlgorithm().getHeight() + DIST_V;
-				}
-			}
-		}		
-	}
-	
-	private IndexAndLowerEdge getMinLowerEdge() {
-		IndexAndLowerEdge res = new IndexAndLowerEdge();
-		res.lowerEdge = 10000000;
-		for (int i = 0; i < numInARow; i++) {
-			if (lowerEdges[i] < res.lowerEdge) {
-				res.lowerEdge = lowerEdges[i];
-				res.index = i;
-			}
-		}
-		return res;
-	}
-	
-	private JpaProject getTargetJPAProject() {
-		return ModelIntegrationUtil.getProjectByDiagram(getDiagram().getName());
-	}
-	
-	public static Point getLowestRightestPoint(Diagram d) { 
-		List<Shape> shapes = d.getChildren();
-		Iterator<Shape> it = shapes.iterator();
-		int x = 0;
-		int y = 0;
-		while (it.hasNext()) {
-			Shape sh = it.next();
-			int rightEdge = sh.getGraphicsAlgorithm().getX() + 
-							sh.getGraphicsAlgorithm().getWidth();
-			x = Math.max(x, rightEdge);
-			int lowerEdge = sh.getGraphicsAlgorithm().getY() +
-							 sh.getGraphicsAlgorithm().getHeight();
-			y = Math.max(y, lowerEdge);
-		}
-		x = Math.max(x, 3 * (DIST_H + JPAEditorConstants.ENTITY_WIDTH));
-		return new Point(x, y);
-	}
-
-	public PictogramElement add(IAddContext context) {
-		this.execute(new CustomContext());
-		return null;
-	}
-
-	public boolean canAdd(IAddContext context) {
-		return true;
-	}
-	
-	private class IndexAndLowerEdge {
-		int index;
-		int lowerEdge;
-	}
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_showAllTheEntities;
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAttributeFeature.java
deleted file mode 100644
index 32dd9e9..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAttributeFeature.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.IDirectEditingInfo;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-
-
-public class AddAttributeFeature extends AbstractAddShapeFeature {
-
-	private IAddFeature graphicalAdd;
-
-	private ICustomFeature expandCompartmentFeature;
-
-	public AddAttributeFeature(IFeatureProvider fp) {
-		this(fp, new GraphicalAddAttributeFeature(fp), new ExpandCompartmentShapeFeature(fp));
-	}
-
-	public AddAttributeFeature(IFeatureProvider fp, IAddFeature graphicalAdd, ICustomFeature expandFeature) {
-		super(fp);
-		this.graphicalAdd = graphicalAdd;
-		expandCompartmentFeature = expandFeature;
-	}
-
-	public PictogramElement add(final IAddContext context) {
-		Object o = context.getNewObject();
-		if (!(o instanceof JavaPersistentAttribute)) {
-			return null;
-		}
-		final JavaPersistentAttribute newAttr = (JavaPersistentAttribute) o;
-//		JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), (JavaPersistentType)newAttr.getParent());
-
-		getFeatureProvider().putKeyToBusinessObject(getFeatureProvider().getKeyForBusinessObject(newAttr), newAttr);
-		PictogramElement pe = getFeatureProvider().getPictogramElementForBusinessObject(newAttr); 
-		if (pe != null) 
-			return pe;
-
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(context.getTargetContainer());
-		final Wrp wrp = new Wrp();
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				ContainerShape textShape = graphicalAdd(context.getTargetContainer(), newAttr);
-				expand(newAttr);
-				enableDirectAfterAdding(textShape);
-				wrp.setObj(textShape);
-			}
-		});
-		return (PictogramElement)wrp.getObj();
-	}
-
-	private void expand(JavaPersistentAttribute jpa) {
-		ContainerShape attributeShape = (ContainerShape) getFeatureProvider().getPictogramElementForBusinessObject(jpa);
-
-		ICustomContext customContext = new CustomContext(new PictogramElement[] { attributeShape.getContainer() });
-		expandCompartmentFeature.execute(customContext);
-	}
-
-	private ContainerShape graphicalAdd(ContainerShape entityShape, JavaPersistentAttribute newAttr) {
-		AddContext context = new AddContext();
-		context.setNewObject(newAttr);
-		context.setTargetContainer(entityShape);
-		ContainerShape textShape = (ContainerShape) graphicalAdd.add(context);
-		return textShape;
-	}
-
-	private void enableDirectAfterAdding(ContainerShape textShape) {
-		GraphicsAlgorithm ga = textShape.getGraphicsAlgorithm();
-		final GraphicsAlgorithm graphicsAlgorithm = ga.getGraphicsAlgorithmChildren().get(0);
-		if (graphicsAlgorithm instanceof Text) {
-			Text text = (Text) graphicsAlgorithm;
-			IDirectEditingInfo directEditingInfo = getFeatureProvider().getDirectEditingInfo();
-			directEditingInfo.setMainPictogramElement(textShape);
-			directEditingInfo.setPictogramElement(textShape);
-			directEditingInfo.setGraphicsAlgorithm(text);
-		}
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-
-	public boolean canAdd(IAddContext context) {
-		Object o = context.getNewObject();
-		return o instanceof JavaPersistentAttribute;
-	}
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddJPAEntityFeature.java
deleted file mode 100644
index 2da00fe..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddJPAEntityFeature.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.features.context.impl.CreateContext;
-import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.LineStyle;
-import org.eclipse.graphiti.mm.algorithms.styles.Orientation;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.util.IPredefinedRenderingStyle;
-import org.eclipse.graphiti.util.PredefinedColoredAreas;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IPackageDeclaration;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.core.SourceType;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IAddEntityContext;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-
-
-@SuppressWarnings({ "restriction" })
-public class AddJPAEntityFeature extends AbstractAddShapeFeature {
-
-	private IPeUtilFacade facade;
-	private static ContainerShape primaryShape;
-	private static ContainerShape relationShape;
-	private static ContainerShape basicShape;
-
-
-	public AddJPAEntityFeature(IFeatureProvider fp) {
-		super(fp);
-		facade = new PeUtilFacade();
-	}
-
-	public AddJPAEntityFeature(IFeatureProvider fp, IPeUtilFacade facade) {
-		super(fp);
-		this.facade = facade;
-	}
-
-	public boolean canAdd(IAddContext context) {
-		Object newObj = context.getNewObject();
-
-		if (newObj instanceof JavaPersistentType) {
-			if (context.getTargetContainer() instanceof Diagram) {
-				JavaPersistentType jpt = (JavaPersistentType) newObj;
-				return checkJPTForAdding(jpt);
-			}
-		} else if (newObj instanceof ICompilationUnit) {
-			if (context.getTargetContainer() instanceof Diagram) {
-				ICompilationUnit cu = (ICompilationUnit) newObj;
-				JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
-				return checkJPTForAdding(jpt);
-			}
-		} if (newObj instanceof SourceType) {
-			if (context.getTargetContainer() instanceof Diagram) {
-				ICompilationUnit cu = ((SourceType)newObj).getCompilationUnit();
-				JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
-				return checkJPTForAdding(jpt);
-			}
-		}
-		return false;
-	}
-
-	private boolean checkJPTForAdding(JavaPersistentType jpt) {
-		if (jpt == null)
-			return false;
-
-		PictogramElement[] pictograms = getFeatureProvider()
-				.getAllPictogramElementsForBusinessObject(jpt);
-		JpaProject proj = ModelIntegrationUtil.getProjectByDiagram(getDiagram().getName());
-		if (proj != null)
-			if (proj != jpt.getJpaProject())
-				return false;
-		return (pictograms == null) || (pictograms.length == 0);
-	}
-
-	@Override
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-
-	public PictogramElement add(IAddContext context) {
-		IJPAEditorFeatureProvider fp = getFeatureProvider();
-		Object newObj = context.getNewObject();
-		JavaPersistentType jpt = null;
-		if (newObj instanceof JavaPersistentType) {
-			jpt = (JavaPersistentType) newObj;
-			if (jpt.getMapping() instanceof JavaMappedSuperclass) {
-				jpt = createEntityFromExistingMappedSuperclass(fp, jpt);
-			}			
-		} else if (newObj instanceof ICompilationUnit) {
-			ICompilationUnit cu = (ICompilationUnit) newObj;
-			jpt = JPAEditorUtil.getJPType(cu);
-			if (jpt.getMapping() instanceof JavaMappedSuperclass) {
-				jpt = createEntityFromExistingMappedSuperclass(fp, jpt);
-			}
-
-		} else if (newObj instanceof SourceType) {
-			ICompilationUnit cu = ((SourceType)newObj).getCompilationUnit();
-			jpt = JPAEditorUtil.getJPType(cu);
-		}
-		final Diagram targetDiagram = (Diagram) context.getTargetContainer();
-				
-	    ContainerShape entityShape = facade.createContainerShape(targetDiagram, true);
-		
-		createEntityRectangle(context, entityShape,
-								this.getFeatureProvider().getDiagramTypeProvider().getDiagram());
-		link(entityShape, jpt);
-		Shape shape = Graphiti.getPeService().createShape(entityShape, false);
-		Polyline headerBottomLine = Graphiti.getGaService().createPolyline(shape, new int[] { 0,
-				30, JPAEditorConstants.ENTITY_WIDTH, 30 });
-		headerBottomLine
-				.setForeground(manageColor(JPAEditorConstants.ENTITY_BORDER_COLOR));
-		headerBottomLine.setLineWidth(JPAEditorConstants.ENTITY_BORDER_WIDTH);
-
-		addHeader(jpt, entityShape, JPAEditorConstants.ENTITY_WIDTH);
-		
-		createCompartments(context, jpt, entityShape);
-		fillCompartments(jpt,entityShape);
-		
-		String key = fp.getKeyForBusinessObject(jpt);
-		if (fp.getBusinessObjectForKey(key) == null)
-			fp.putKeyToBusinessObject(key, jpt);
-
-		Graphiti.getPeService().createChopboxAnchor(entityShape);
-		entityShape.setVisible(true);
-		layoutPictogramElement(entityShape);
-
-		UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(fp);
-		updateFeature.reconnect(jpt);
-	
-		return entityShape;
-	}
-
-	private JavaPersistentType createEntityFromExistingMappedSuperclass(
-			IJPAEditorFeatureProvider fp, JavaPersistentType jpt) {
-		ICreateContext cont = new CreateContext();
-		String packageName = null;
-		try {
-			packageName = getMappedSuperclassPackageDeclaration(fp, jpt,
-					packageName);
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError(e); 	     					
-		}
-
-		boolean hasPrimaryKey = hasMappedSuperclassPrimaryKeyAttribute(jpt);
-
-		CreateJPAEntityFeature createFeature = new CreateJPAEntityFeature(fp,
-				true, jpt.getName(), packageName, hasPrimaryKey);
-		Object[] objects = createFeature.create(cont);
-		if (objects.length != 0) {
-			Object obj = objects[0];
-			if (obj instanceof JavaPersistentType) {
-				jpt = (JavaPersistentType) obj;
-			}
-		}
-		return jpt;
-	}
-
-	private boolean hasMappedSuperclassPrimaryKeyAttribute(
-			JavaPersistentType jpt) {
-		
-		for (AttributeMapping map : ((JavaMappedSuperclass) jpt.getMapping()).getAllAttributeMappings()) {
-			if (map.getPrimaryKeyColumnName() != null) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private String getMappedSuperclassPackageDeclaration(
-			IJPAEditorFeatureProvider fp, JavaPersistentType jpt,
-			String packageName) throws JavaModelException {
-		IPackageDeclaration[] packages = fp.getCompilationUnit(jpt)
-				.getPackageDeclarations();
-		if (packages.length > 0) {
-			IPackageDeclaration packageDecl = packages[0];
-			packageName = packageDecl.getElementName();
-		}
-		return packageName;
-	}
-	
-	private void createCompartments(IAddContext context, JavaPersistentType jpt,
-			ContainerShape entityShape) {
-		primaryShape = createCompartmentRectangle(entityShape, JPAEditorConstants.ENTITY_MIN_HEIGHT, JPAEditorMessages.AddJPAEntityFeature_primaryKeysShape);
-		relationShape = createCompartmentRectangle(entityShape, GraphicsUpdater.getNextCompartmentY(primaryShape) + JPAEditorConstants.SEPARATOR_HEIGHT,
-				 JPAEditorMessages.AddJPAEntityFeature_relationAttributesShapes);
-		basicShape = createCompartmentRectangle(entityShape, GraphicsUpdater.getNextCompartmentY(relationShape) + JPAEditorConstants.SEPARATOR_HEIGHT, JPAEditorMessages.AddJPAEntityFeature_basicAttributesShapes);
-		if (IAddEntityContext.class.isInstance(context)) {
-			IAddEntityContext entityContext = (IAddEntityContext) context;
-			GraphicsUpdater.setCollapsed(primaryShape, entityContext.isPrimaryCollapsed());
-			GraphicsUpdater.setCollapsed(basicShape, entityContext.isBasicCollapsed());
-			GraphicsUpdater.setCollapsed(relationShape, entityContext.isRelationCollapsed());
-		} else {
-			GraphicsUpdater.setCollapsed(primaryShape, false);
-			GraphicsUpdater.setCollapsed(basicShape, false);
-			GraphicsUpdater.setCollapsed(relationShape, false);
-		}
-	}
-
-	private void fillCompartments(JavaPersistentType jpt, ContainerShape entityShape) {
-		String[] primaryKeyAnnotations = new String[] {JPAEditorConstants.ANNOTATION_ID, JPAEditorConstants.ANNOTATION_EMBEDDED_ID};
-		for(String annotation : primaryKeyAnnotations){
-			addCompartmentChildren(primaryShape, jpt, annotation);
-		}
-		String[] relationAnnotations = new String[] {JPAEditorConstants.ANNOTATION_MANY_TO_MANY, 
-				JPAEditorConstants.ANNOTATION_MANY_TO_ONE, JPAEditorConstants.ANNOTATION_ONE_TO_MANY,
-				JPAEditorConstants.ANNOTATION_ONE_TO_ONE};
-	    for(String annotation : relationAnnotations){
-		   addCompartmentChildren(relationShape, jpt, annotation);
-	    }
-        addBasicAttributes(basicShape, jpt);
-        GraphicsUpdater.updateEntityShape(entityShape);
-	}
-
-	private ContainerShape createCompartmentRectangle(
-			ContainerShape entityShape, int y, String attribTxt) {
-		int width = entityShape.getGraphicsAlgorithm().getWidth();
-		ContainerShape containerShape = Graphiti.getPeService().createContainerShape(
-				entityShape, false);
-		Graphiti.getPeService().setPropertyValue(containerShape,
-				JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.COMPARTMENT
-						.toString());
-		Rectangle rect = addCompartmentRectangle(y, width, containerShape);
-		
-		addCompartmentHeaderText(attribTxt, width, rect);
-		
-		UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(getFeatureProvider());
-		
-		updateFeature.addSeparatorsToShape(containerShape);
-		
-		return containerShape;
-	}
-
-	private Rectangle addCompartmentRectangle(int y, int width,
-			ContainerShape containerShape) {
-		Rectangle rect = Graphiti.getGaService().createRectangle(containerShape);
-		rect.setFilled(false);
-		rect.setLineVisible(false);
-		rect.setHeight(0);
-		rect.setWidth(width);
-		rect.setX(0);
-		rect.setY(y);
-		containerShape.setActive(true);
-		return rect;
-	}
-
-	private void addCompartmentHeaderText(String attribTxt, int width,
-			Rectangle rect) {
-		IJPAEditorFeatureProvider fp = getFeatureProvider();
-		Text text = UpdateAttributeFeature.addText(fp, rect, attribTxt);
-		text.getFont().setSize(7);
-		text.getFont().setItalic(true);
-		text.getFont().setBold(false);
-		Graphiti.getGaService().setWidth(text, width);
-		Graphiti.getGaService().setLocationAndSize(text, 0, 2, width,
-				13);
-		text.setHorizontalAlignment(Orientation.ALIGNMENT_CENTER);
-		text.setVerticalAlignment(Orientation.ALIGNMENT_CENTER);
-	}
-
-	private void addCompartmentChildren(
-			ContainerShape containerShape, JavaPersistentType jpt,
-			String attributeAnnotations) {
-		List<JavaPersistentAttribute> attributes = new ArrayList<JavaPersistentAttribute>();
-
-		for (JavaPersistentAttribute attribute : jpt.getAttributes()) {
-			HashSet<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(attribute);
-			if (annotations.contains(attributeAnnotations)) {
-				attributes.add(attribute);
-			}
-		}
-		addAttributes(containerShape, attributes);
-	}
-	
-	private void addBasicAttributes(ContainerShape containerShape, JavaPersistentType jpt){
-		List<JavaPersistentAttribute> attributes = new ArrayList<JavaPersistentAttribute>();
-		
-		for (JavaPersistentAttribute attribute : jpt.getAttributes()){
-			HashSet<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(attribute);
-			if(!(annotations.contains(JPAEditorConstants.ANNOTATION_ID))&& !(annotations.contains(JPAEditorConstants.ANNOTATION_EMBEDDED_ID)) && !(annotations.contains(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) && 
-					!(annotations.contains(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) && !(annotations.contains(JPAEditorConstants.ANNOTATION_ONE_TO_MANY))&&
-					!(annotations.contains(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) || annotations.isEmpty()){
-				attributes.add(attribute);
-			}
-		}
-		addAttributes(containerShape, attributes);
-	}
-	
-	private void addAttributes(ContainerShape entityShape,
-			List<JavaPersistentAttribute> attributes) {
-		for (int i = 0; i < attributes.size(); i++) {
-			JavaPersistentAttribute jpa = attributes.get(i);
-			addAttribute(jpa, entityShape);
-		}
-	}
-
-	public interface IPeUtilFacade {
-		public ContainerShape createContainerShape(Diagram diagram, boolean b);
-	}
-
-	public static RoundedRectangle createEntityRectangle(IAddContext context,
-			ContainerShape entityShape, Diagram diagram) {
-
-		RoundedRectangle entityRectangle = Graphiti.getGaService().createRoundedRectangle(
-				entityShape, JPAEditorConstants.ENTITY_CORNER_WIDTH,
-				JPAEditorConstants.ENTITY_CORNER_HEIGHT);
-		entityRectangle
-				.setForeground(Graphiti.getGaService().manageColor(diagram, JPAEditorConstants.ENTITY_BORDER_COLOR));
-		entityRectangle
-				.setBackground(Graphiti.getGaService().manageColor(diagram, JPAEditorConstants.ENTITY_BACKGROUND));
-		Graphiti.getGaService().setRenderingStyle(entityRectangle.getPictogramElement().getGraphicsAlgorithm(), 
-				PredefinedColoredAreas.getAdaptedGradientColoredAreas(IPredefinedRenderingStyle.BLUE_WHITE_GLOSS_ID));
-		entityRectangle.setLineWidth(JPAEditorConstants.ENTITY_BORDER_WIDTH);
-		entityRectangle.setLineStyle(LineStyle.SOLID);
-		Graphiti.getGaService().setLocationAndSize(entityRectangle, context
-				.getX(), context.getY(),
-				(context.getWidth() == -1) ? JPAEditorConstants.ENTITY_WIDTH
-						: context.getWidth(),
-				(context.getHeight() == -1) ? JPAEditorConstants.ENTITY_HEIGHT
-						: context.getHeight());
-		return entityRectangle;
-	}
-
-	private static class PeUtilFacade implements IPeUtilFacade {
-		public ContainerShape createContainerShape(Diagram diagram, boolean b) {
-			return Graphiti.getPeService().createContainerShape(diagram, true);
-		}
-	}
-
-	private ContainerShape addHeader(JavaPersistentType addedWrapper,
-			ContainerShape entityShape, int width) {
-
-		ContainerShape headerIconShape = Graphiti.getPeService().createContainerShape(
-				entityShape, false);
-		Rectangle iconRect = Graphiti.getGaService().createRectangle(headerIconShape);
-		iconRect.setFilled(false);
-		iconRect.setLineVisible(false);
-		iconRect.setHeight(JPAEditorConstants.ICON_RECT_HEIGHT);
-		iconRect.setX(0);
-		iconRect.setWidth(JPAEditorConstants.HEADER_ICON_RECT_WIDTH);
-		iconRect.setHeight(JPAEditorConstants.HEADER_ICON_RECT_HEIGHT);
-		iconRect.setY(0);
-		Image headerIcon = Graphiti.getGaService().createImage(iconRect,
-				JPAEditorImageProvider.JPA_ENTITY);
-		Graphiti.getGaService().setLocationAndSize(headerIcon, 
-													JPAEditorConstants.ICON_HEADER_X,
-													JPAEditorConstants.ICON_HEADER_Y,
-													JPAEditorConstants.ICON_WIDTH, 
-													JPAEditorConstants.ICON_HEIGHT);
-		Graphiti.getPeService().setPropertyValue(headerIconShape,
-				JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.ICON.toString());
-
-		ContainerShape entityHeaderTextShape = Graphiti.getPeService().createContainerShape(entityShape, false);
-		Graphiti.getPeService()
-				.setPropertyValue(entityHeaderTextShape,
-						JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.HEADER
-								.toString());
-		Rectangle headerRect = Graphiti.getGaService().createRectangle(entityHeaderTextShape);
-		headerRect.setFilled(false);
-		headerRect.setLineVisible(false);
-		headerRect.setWidth(width - JPAEditorConstants.HEADER_TEXT_RECT_WIDTH_REDUCER);
-		headerRect.setHeight(JPAEditorConstants.HEADER_TEXT_RECT_HEIGHT);
-		headerRect.setY(2);
-		headerRect.setX(JPAEditorConstants.HEADER_TEXT_RECT_X);
-
-		String headerTextString = JPAEditorUtil.getText(addedWrapper);
-		ICompilationUnit cu = getFeatureProvider().getCompilationUnit(addedWrapper);
-		JPAEditorUtil.becomeWorkingCopy(cu);
-		headerTextString = JPAEditorUtil.returnSimpleName(headerTextString); 
-		try {
-			if (cu.hasUnsavedChanges()) {
-				headerTextString = JPAEditorConstants.HEADER_PREFIX_DIRTY + headerTextString;
-			}
-		} catch (JavaModelException e) { 
-			JPADiagramEditorPlugin.logError("Cannot check compilation unit for unsaved changes", e);  //$NON-NLS-1$		 
-		}
-		Text headerTextObj = Graphiti.getGaService().createDefaultText(getDiagram(), headerRect,
-				headerTextString);
-		headerTextObj
-				.setForeground(manageColor(JPAEditorConstants.ENTITY_TEXT_FOREGROUND));
-		headerTextObj.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT);
-		headerTextObj.setVerticalAlignment(Orientation.ALIGNMENT_TOP);
-		headerTextObj.getFont().setBold(true);
-		Graphiti.getGaService().setLocationAndSize(headerTextObj, 1, 2,
-				width, 20);
-
-		return entityHeaderTextShape;
-
-	}
-
-	@SuppressWarnings("deprecation")
-	private void addAttribute(JavaPersistentAttribute pa,
-			ContainerShape compartmentShape) {
-		IJPAEditorFeatureProvider fp = getFeatureProvider();
-		fp.putKeyToBusinessObject(fp.getKeyForBusinessObject(pa), pa);
-		JavaPersistentType jpt = (JavaPersistentType)pa.getParent();
-		String key = fp.getKeyForBusinessObject(jpt);
-		if (fp.getBusinessObjectForKey(key) == null)
-			fp.putKeyToBusinessObject(key, jpt);
-		UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(fp);
-        updateFeature.addAttributes(compartmentShape.getContainer(), pa);
-		updateFeature = null;
-	}
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddRelationFeature.java
deleted file mode 100644
index c8c62db..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddRelationFeature.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir.UNI;
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType.MANY_TO_MANY;
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType.MANY_TO_ONE;
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType.ONE_TO_MANY;
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType.ONE_TO_ONE;
-
-import java.util.List;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IAddBendpointFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddConnectionContext;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.impl.AddBendpointContext;
-import org.eclipse.graphiti.features.impl.AbstractAddFeature;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.ManyToOneAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageCreator;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtilImpl;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.swt.graphics.Point;
-
-
-public class AddRelationFeature extends AbstractAddFeature {
-	
-	private static final double START_COEFFICIENT = 0.1;
-
-	private IJPAEditorImageCreator imageCreator;
-	private IJPAEditorUtil jpaEditorUtil; 
-
-    public AddRelationFeature(IFeatureProvider fp) {
-		this(fp, new JPAEditorImageCreator(), new JPAEditorUtilImpl());
-	}
-
-	public AddRelationFeature(IFeatureProvider fp, 
-							  IJPAEditorImageCreator imageCreator, 
-							  IJPAEditorUtil jpaEditorUtil) {
-        super(fp);
-		this.imageCreator = imageCreator;
-		this.jpaEditorUtil = jpaEditorUtil;
-    }
- 
-    public PictogramElement add(IAddContext context) {
-        final IAddConnectionContext addConContext = (IAddConnectionContext) context;
-		final IRelation relation = (IRelation) context.getNewObject();
-		final Diagram diagram = getDiagram();
-		final Wrp wrp = new Wrp();
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(diagram);
-		RecordingCommand rc = new RecordingCommand(ted) {
-			protected void doExecute() {
-				FreeFormConnection connection = createConnection(addConContext, relation, diagram);
-				imageCreator.createConnectionLine(diagram, connection);
-				getFeatureProvider().putKeyToBusinessObject(relation.getId(), relation);
-				link(connection, relation);
-				layoutPictogramElement(connection);
-				wrp.setObj(connection);
-			}			
-		};
-		try {
-		ted.getCommandStack().execute(rc);
-		} catch (Exception e){
-		
-		}
-		
-		return (PictogramElement)wrp.getObj();
-    }
-        
-	private FreeFormConnection createConnection(IAddConnectionContext addConContext, IRelation relation,
-			final Diagram diagram) {
-        FreeFormConnection connection = getFeatureProvider().getPeUtil().createFreeFormConnection(diagram);
-        connection.setStart(addConContext.getSourceAnchor());
-        connection.setEnd(addConContext.getTargetAnchor());
-        connection.setVisible(true);
-        connection.setActive(true);        
-        List<Point> points = jpaEditorUtil.createBendPointList(connection, relation.getOwner() == relation.getInverse());
-        for (int i = 0; i < points.size(); i++) {
-        	Point p = points.get(i);
-        	AddBendpointContext ctx = new AddBendpointContext(connection, p.x, p.y, i);
-            IAddBendpointFeature ft =getFeatureProvider().getAddBendpointFeature(ctx);
-            ft.addBendpoint(ctx);
-        }		
-        addDecorators(connection, relation); 
-        addTextDecorators(connection, relation);
-		return connection;
-	}
-
-	private void addDecorators(FreeFormConnection connection, IRelation relation) {
-		RelDir direction = relation.getRelDir();
-		RelType type = relation.getRelType();
-		if (ONE_TO_ONE.equals(type)) {
-			addOneToOneDecorator(connection, direction, relation);
-		} else if (ONE_TO_MANY.equals(type) && UNI.equals(direction)) {
-			addOneToManyDecorator(connection, relation);
-		} else if (MANY_TO_ONE.equals(type)) {
-			addManyToOneDecorator(connection, direction, relation);
-		} else if (MANY_TO_MANY.equals(type)) {
-			addManyToManyDecorator(connection, direction, relation);
-		}
-	}
-	
-	private void addTextDecorators(FreeFormConnection connection, IRelation relation) {
-		RelDir direction = relation.getRelDir();
-		RelType type = relation.getRelType();
-		if (ONE_TO_ONE.equals(type)) {
-			addOneToOneTextDecorator(connection, direction, relation);
-		} else if (ONE_TO_MANY.equals(type) && UNI.equals(direction)) {
-			addOneToManyTextDecorator(connection, relation);
-		} else if (MANY_TO_ONE.equals(type)) {
-			addManyToOneTextDecorator(connection, direction, relation);
-		} else if (MANY_TO_MANY.equals(type)) {
-			addManyToManyTextDecorator(connection, direction, relation);
-		}
-	}	
-
-
-	private void addOneToOneDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
-		double startCoefficient = START_COEFFICIENT;
-		double endCoefficient = 1.0 - startCoefficient;	
-		int len = JPAEditorUtil.calcConnectionLength(c);		
-		if (UNI.equals(direction)) {
-			ConnectionDecorator d = imageCreator.createArrowConnectionDecorator(c, endCoefficient);
-			Graphiti.getGaService().setLocation(d.getGraphicsAlgorithm(),Math.round(-len/10), 0);				
-		} 
-	}
-        
-	private void addOneToManyDecorator(FreeFormConnection c, IRelation rel) {
-		double startCoefficient = START_COEFFICIENT;
-		double endCoefficient = 1.0 - startCoefficient;
-		int len = JPAEditorUtil.calcConnectionLength(c);
-		ConnectionDecorator d = imageCreator.createManyEndWithArrowDecorator(c, endCoefficient);
-		Graphiti.getGaService().setLocation(d.getGraphicsAlgorithm(),Math.round(-len/10), 0);
-	}
-                
-	private void addManyToOneDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
-		JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
-		double startCoefficient = START_COEFFICIENT;
-		double endCoefficient = 1.0 - startCoefficient;
-		int len = JPAEditorUtil.calcConnectionLength(c);		
-		ConnectionDecorator d1 = imageCreator.createManyStartDecorator(c, startCoefficient);
-		Graphiti.getGaService().setLocation(d1.getGraphicsAlgorithm(),Math.round(len/10), 0);
-		if (UNI.equals(direction)) {
-			ConnectionDecorator d2 = imageCreator.createArrowConnectionDecorator(c, endCoefficient);
-			Graphiti.getGaService().setLocation(d2.getGraphicsAlgorithm(),Math.round(-len/10), 0);
-		} 
-    }
-    
-	private void addManyToManyDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
-		JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
-		double startCoefficient = START_COEFFICIENT;
-		double endCoefficient = 1.0 - startCoefficient;		
-		int len = JPAEditorUtil.calcConnectionLength(c);		
-		ConnectionDecorator d1 = imageCreator.createManyStartDecorator(c, startCoefficient);
-		Graphiti.getGaService().setLocation(d1.getGraphicsAlgorithm(),Math.round(len/10), 0);
-		if (UNI.equals(direction)) {
-			ConnectionDecorator d = imageCreator.createManyEndWithArrowDecorator(c, endCoefficient);
-			Graphiti.getGaService().setLocation(d.getGraphicsAlgorithm(),Math.round(-len/10), 0);
-		} else {
-			JpaArtifactFactory.instance().refreshEntityModel(null, rel.getInverse());
-			ConnectionDecorator d = imageCreator.createManyEndDecorator(c, endCoefficient);
-			Graphiti.getGaService().setLocation(d.getGraphicsAlgorithm(),Math.round(-len/10), 0);
-		}
-    }
- 
-	
-	
-	
-	
-	
-	private void addOneToOneTextDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
-		JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
-		OneToOneAnnotation a = null;
-		Boolean optional;
-		boolean isOptional = false;
-		if (RelDir.UNI.equals(direction)) {
-			isOptional = true;
-		} else {
-			JavaPersistentAttribute inverse = rel.getInverse().getAttributeNamed(rel.getInverseAttributeName());
-			JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)inverse.getParent());
-			JavaAttributeMapping mapping = inverse.getMapping();
-			a = (OneToOneAnnotation)mapping.getMappingAnnotation();
-			if (a != null) {
-				optional = a.getOptional();
-				isOptional = (optional == null) ? true : optional.booleanValue();
-				imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, isOptional ? JPAEditorConstants.CARDINALITY_ZERO_ONE : JPAEditorConstants.CARDINALITY_ONE, 0.0);				
-			}
-		}
-		JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
-		JavaPersistentAttribute owner = rel.getOwner().getAttributeNamed(rel.getOwnerAttributeName());
-		owner.update();
-		JavaAttributeMapping mapping = owner.getMapping();  
-		a = (OneToOneAnnotation)mapping.getMappingAnnotation();		
-		if (a == null)
-			return;
-		optional = a.getOptional();
-		isOptional = (optional == null) ? true : optional.booleanValue();		
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, isOptional ? JPAEditorConstants.CARDINALITY_ZERO_ONE : JPAEditorConstants.CARDINALITY_ONE, 1.0);									 
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getOwnerAttributeName(), 0.0);				
-		if (!UNI.equals(direction)) {
-			JpaArtifactFactory.instance().refreshEntityModel(null, rel.getInverse());
-			imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getInverseAttributeName(), 1.0);				
-		}
-	}
-        
-	private void addOneToManyTextDecorator(FreeFormConnection c, IRelation rel) {
-		JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_ONE, 0.0);
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_N, 1.0);	
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getOwnerAttributeName(), 0.0);						
-	}
-                
-	private void addManyToOneTextDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
-		JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_N, 0.0);
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getOwnerAttributeName(), 0.0);				
-		JavaPersistentAttribute owner = rel.getOwner().getAttributeNamed(rel.getOwnerAttributeName());
-		JavaAttributeMapping mapping = owner.getMapping();
-		ManyToOneAnnotation a = (ManyToOneAnnotation)mapping.getMappingAnnotation();
-		if (a == null) 
-			return;
-		Boolean optional = a.getOptional();
-		boolean isOptional = (optional == null) ? true : optional.booleanValue();		
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, isOptional ?
-																	JPAEditorConstants.CARDINALITY_ZERO_ONE :
-																	JPAEditorConstants.CARDINALITY_ONE, 1.0);
-		if (!UNI.equals(direction)) {
-			JpaArtifactFactory.instance().refreshEntityModel(null, rel.getInverse());
-			imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getInverseAttributeName(), 1.0);
-		}
-    }
-    
-	private void addManyToManyTextDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
-		JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_N, 0.0);		
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_N, 1.0);	
-		imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getOwnerAttributeName(), 0.0);
-		if (!UNI.equals(direction)) {
-			JpaArtifactFactory.instance().refreshEntityModel(null, rel.getInverse());
-			imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getInverseAttributeName(), 1.0);	
-		}
-    }
-
-	
-	
-	
-	
-	
-    public boolean canAdd(IAddContext context) {
-		if (context instanceof IAddConnectionContext && context.getNewObject() instanceof IRelation) {
-            return true;
-        }
-        return false;
-    }
-    
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-    
-}
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickAddAttributeButtonFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickAddAttributeButtonFeature.java
deleted file mode 100644
index c8779cc..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickAddAttributeButtonFeature.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.features.impl.AbstractCreateFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public class ClickAddAttributeButtonFeature extends AbstractCreateFeature {
-	
-	public ClickAddAttributeButtonFeature(IFeatureProvider provider) {
-		super(provider, "", "");	//$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	public boolean canExecute(IContext context) {
-		return true;
-	}
-
-	public boolean canUndo(IContext context) {
-		return false;
-	}
-
-	public boolean canCreate(ICreateContext context) {
-		return true;
-	}
-	
-	public Object[] create(ICreateContext context) {
-		ContainerShape entityShape = context.getTargetContainer();
-		JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(entityShape);
-		String newAttrName = JpaArtifactFactory.instance().createNewAttribute(jpt, false, getFeatureProvider());
-		JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), jpt);
-		JavaPersistentAttribute newAttr = jpt.getAttributeNamed(newAttrName);
-		int cnt = 0;
-		while ((newAttr == null) && (cnt < 25)) { 
-			newAttr = jpt.getAttributeNamed(newAttrName);
-			if (newAttr == null) {
-				try {
-					Thread.sleep(200);
-				} catch (InterruptedException e) {
-					JPADiagramEditorPlugin.logError("Thread sleep interrupted", e);  //$NON-NLS-1$		 
-				}
-			}
-			cnt++;
-		}
-		getFeatureProvider().addAddIgnore((JavaPersistentType)newAttr.getParent(), newAttr.getName());
-		addGraphicalRepresentation(context, newAttr);
-        getFeatureProvider().getDirectEditingInfo().setActive(true);
-        
-        IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
-        ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
-        getFeatureProvider().getJPAEditorUtil().formatCode(cu, ws);
-
-		return new Object[] {newAttr};
-	}	
-
-	public boolean isAvailable(IContext context) {
-		return true;
-	}
-
-	public String getName() {
-		return JPAEditorMessages.ClickAddAttributeButtonFeature_createAttributeButtonLabel;  			
-	}
-
-	public String getDescription() {
-		return JPAEditorMessages.ClickAddAttributeButtonFeature_createAttributeButtonDescription;  
-	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickRemoveAttributeButtonFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickRemoveAttributeButtonFeature.java
deleted file mode 100644
index 5f117af..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickRemoveAttributeButtonFeature.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.internal.features.context.impl.base.PictogramElementContext;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.ui.features.DefaultDeleteFeature;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-
-@SuppressWarnings("restriction")
-public class ClickRemoveAttributeButtonFeature extends DefaultDeleteFeature {
-
-	private String attrName = ""; //$NON-NLS-1$
-	
-	public ClickRemoveAttributeButtonFeature(IFeatureProvider provider) {
-		super(provider);
-	}	
-		
-    protected String getQuestionToUser() {
-    	return MessageFormat.format(JPAEditorMessages.ClickRemoveAttributeButtonFeature_deleteAttributeQuestion, new Object[] {attrName}); 
-    }
-	
-	
-	public boolean canUndo(IContext context) {
-		return false;
-	}
-	
-	private String getAttrName(ContainerShape textShape) {
-		String txt = ((Text)(textShape.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0))).getValue();
-		String attrName = txt.substring(txt.indexOf(':') + 1);
-		attrName = attrName.trim();	
-		return attrName;
-	}
-		
-	private void deleteAttribute(ContainerShape pe, String attrName) {
-		JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(pe.getContainer().getContainer());		
-		JpaArtifactFactory.instance().deleteAttribute(jpt, attrName, getFeatureProvider());
-	}	
-	
-    public void delete(IDeleteContext context) {
-    	delete(context, true);
-    }
-    
-	@Override
-	public void preDelete(IDeleteContext context) {
-		super.preDelete(context);
-	}
-    
-    public void delete(IDeleteContext context, boolean haveToAsk) {
-		PictogramElementContext ctx = (PictogramElementContext)context;
-		ContainerShape textShape = (ContainerShape)ctx.getPictogramElement();	
-		if ((textShape == null) || textShape.getGraphicsAlgorithm() == null) 
-			return;
-		String attrName = getAttrName(textShape);
-		this.attrName = attrName;
-    	if (haveToAsk) {
-    		if (!getUserDecision(context)) {
-    			return;
-    		}
-    	}    	
-    	
-        preDelete(context); 
-        if (textShape.getGraphicsAlgorithm() == null){
-        	return;
-        }        
-		deleteAttribute(textShape, attrName);
-    }
-
-    
-    protected void deleteBusinessObjects(Object[] businessObjects) {
-        if (businessObjects != null) {
-            for (Object bo : businessObjects) {
-                deleteBusinessObject(bo);
-            }
-        }
-    }    
-		
-	public boolean isAvailable(IContext context) {
-		return true;
-	}
-
-	public String getName() {
-		return JPAEditorMessages.ClickRemoveAttributeButtonFeature_createAttributeButtonlabel; 
-	}
-
-	public String getDescription() {
-		return JPAEditorMessages.ClickRemoveAttributeButtonFeature_createAttributeButtonDescription; 
-	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-
-		
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseAllEntitiesFeature.java
deleted file mode 100644
index 15bbd93..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseAllEntitiesFeature.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class CollapseAllEntitiesFeature extends AbstractCustomFeature implements ICustomFeature{
-	
-	public CollapseAllEntitiesFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public void execute(ICustomContext context) {
-		Diagram diagram = getFeatureProvider().getDiagramTypeProvider().getDiagram();
-		final EList<Shape> entShapes = diagram.getChildren();
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(diagram);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				for (final PictogramElement el : entShapes) {
-					String collapseFeatures = Graphiti.getPeService().getPropertyValue(el, JPAEditorConstants.COLLAPSE_FEATURES);
-					if (collapseFeatures == null) {	
-				        GraphicsAlgorithm algo = el.getGraphicsAlgorithm();
-						algo.setHeight(JPAEditorConstants.ENTITY_MIN_HEIGHT);
-						Graphiti.getPeService().setPropertyValue(el, JPAEditorConstants.COLLAPSE_FEATURES, String.valueOf(JPAEditorConstants.ENTITY_MIN_HEIGHT));
-						JPAEditorUtil.rearrangeAllConnections((ContainerShape) el, getFeatureProvider(), false);					
-					}
-				}
-			}
-		});	
-				
-	}
-
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-
-	@Override
-	public boolean isAvailable(IContext context) {
-		return true;
-	}
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItem;
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseCompartmentShapeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseCompartmentShapeFeature.java
deleted file mode 100644
index c0fb9c4..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseCompartmentShapeFeature.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class CollapseCompartmentShapeFeature extends AbstractCustomFeature{
-
-	public CollapseCompartmentShapeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public void execute(ICustomContext context) {
-		PictogramElement el = context.getPictogramElements()[0];
-		
-		final ContainerShape containerShape = (ContainerShape) el;
-		final ContainerShape entityShape = containerShape.getContainer();
-		
-		final GraphicsAlgorithm algo = el.getGraphicsAlgorithm();
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(algo);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-			    algo.setHeight(JPAEditorConstants.COMPARTMENT_MIN_HEIGHT);
-				GraphicsUpdater.updateEntityShape(entityShape);
-				GraphicsUpdater.setCollapsed(containerShape, true);
-				JPAEditorUtil.rearrangeAllConnections(entityShape, getFeatureProvider(), false);				
-			}
-		});
-	}
-
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-	
-    @Override
-	public boolean isAvailable(IContext context) {
-		boolean ret = false;
-		if (context instanceof ICustomContext) {
-			PictogramElement[] pes = ((ICustomContext) context).getPictogramElements();
-			if (pes != null && pes.length > 0) {
-				boolean collapsePossible = false;
-				for (int i = 0; i < pes.length; i++) {
-					PictogramElement pe = pes[i];
-					Object bo = getBusinessObjectForPictogramElement(pe);
-					if (bo != null) {
-						return false;
-					}
-					if (!collapsePossible) {
-						if(!GraphicsUpdater.isCollapsed((ContainerShape)pe)) {
-							collapsePossible = true;
-						}
-					}
-				}
-				if (collapsePossible) {
-					return true;
-				}
-			}
-		}
-		return ret;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseEntityFeature.java
deleted file mode 100644
index ac695dd..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseEntityFeature.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class CollapseEntityFeature extends AbstractCustomFeature implements ICustomFeature{
-	
-	public CollapseEntityFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public void execute(ICustomContext context) {
-		final PictogramElement el = context.getPictogramElements()[0];
-		
-        final GraphicsAlgorithm algo = el.getGraphicsAlgorithm();
-        
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(algo);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				algo.setHeight(JPAEditorConstants.ENTITY_MIN_HEIGHT);
-				Graphiti.getPeService().setPropertyValue(el, JPAEditorConstants.COLLAPSE_FEATURES, String.valueOf(JPAEditorConstants.ENTITY_MIN_HEIGHT));
-				JPAEditorUtil.rearrangeAllConnections((ContainerShape) el, getFeatureProvider(), false);
-			}
-		});
-	}
-
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-
-	@Override
-	public boolean isAvailable(IContext context) {
-		boolean ret = false;
-		if (context instanceof ICustomContext) {
-			PictogramElement[] pes = ((ICustomContext) context).getPictogramElements();
-			if (pes != null && pes.length > 0) {
-				boolean collapsePossible = false;
-				for (int i = 0; i < pes.length; i++) {
-					PictogramElement pe = pes[i];
-					Object bo = getBusinessObjectForPictogramElement(pe);
-					if (!(bo instanceof JavaPersistentType)) {
-						return false;
-					}
-					if (!collapsePossible) {
-						Property property = Graphiti.getPeService().getProperty(pe, JPAEditorConstants.COLLAPSE_FEATURES);
-						if (property == null) {
-							collapsePossible = true;
-						}
-					}
-				}
-				if (collapsePossible) {
-					return true;
-				}
-			}
-		}
-		return ret;
-	}
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseEntityMenuItem;
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFeature.java
deleted file mode 100644
index 284219f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFeature.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.features.impl.AbstractCreateFeature;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public class CreateJPAEntityFeature extends AbstractCreateFeature {
-	
-	private IPreferenceStore jpaPreferenceStore = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
-	private boolean isMappedSuperclassChild;
-	private String mappedSuperclassName;
-	private String mappedSuperclassPackage;
-	private boolean hasPrimarykey;
-
-
-	public CreateJPAEntityFeature(IFeatureProvider fp) {
-        super(fp, JPAEditorMessages.CreateJPAEntityFeature_jpaEntityFeatureName, JPAEditorMessages.CreateJPAEntityFeature_jpaEntityFeatureDescription);
-    }
-	
-	public CreateJPAEntityFeature(IFeatureProvider fp,
-			boolean isMappedSuperclassChild, String mappedSuperclassName,
-			String mappedSuperClassPackage) {
-		this(fp, isMappedSuperclassChild, mappedSuperclassName,
-				mappedSuperClassPackage, false);
-	}
-
-	public CreateJPAEntityFeature(IFeatureProvider fp,
-			boolean isMappedSuperclassChild, String mappedSuperclassName) {
-		this(fp, isMappedSuperclassChild, mappedSuperclassName, null, false);
-	}
-
-	public CreateJPAEntityFeature(IFeatureProvider fp,
-			boolean isMappedSuperclassChild, String mappedSuperclassName,
-			String mappedSuperClassPackage, boolean hasPrimaryKey) {
-		this(fp);
-		this.isMappedSuperclassChild = isMappedSuperclassChild;
-		this.mappedSuperclassName = mappedSuperclassName;
-		this.mappedSuperclassPackage = mappedSuperClassPackage;
-		this.hasPrimarykey = hasPrimaryKey;
-	}
-
-
-    public boolean canCreate(ICreateContext context) {
-        return context.getTargetContainer() instanceof Diagram;
-    }
-
-    @SuppressWarnings("restriction")
-	public Object[] create(ICreateContext context) {
-		List<Shape> shapes = this.getFeatureProvider().getDiagramTypeProvider().getDiagram().getChildren();
-		IProject targetProject = null;
-		JpaProject jpaProject = null;
-		if ((shapes == null) || (shapes.size() == 0)) {
-			jpaProject = getTargetJPAProject();
-			targetProject = jpaProject.getProject();
-		} else {
-			Shape sh = shapes.get(0);
-			JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(sh);
-			if (jpt == null)
-				return new Object[] {};
-			jpaProject = jpt.getJpaProject();
-			targetProject = jpaProject.getProject();
-		}    	
-		String entityName = getFeatureProvider().getJPAEditorUtil().
-								generateUniqueEntityName(jpaProject, 
-														 JPADiagramPropertyPage.getDefaultPackage(jpaProject.getProject()), 
-														 getFeatureProvider()); 
-
-		if(!JPAEditorUtil.checkIsSetPersistenceProviderLibrary(jpaProject)){
-			Shell shell = JPADiagramEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
-			IStatus status = new Status(IStatus.ERROR, JPADiagramEditor.ID, JPAEditorMessages.CreateJPAEntityFeature_createEntityErrorStatusMsg);
-			ErrorDialog.openError(shell, JPAEditorMessages.CreateJPAEntityFeature_createEntityErrorMsgTitle, 
-					JPAEditorMessages.CreateJPAEntityFeature_createEntityErrorMsg, status);
-			return new Object[] {};
-		}
-		
-		if (!JptJpaCorePlugin.discoverAnnotatedClasses(targetProject)) {
-			JPAEditorUtil.createRegisterEntityInXMLJob(jpaProject, entityName);
-		}
-		
-		try {
-			this.getFeatureProvider().getJPAEditorUtil().createEntityInProject(targetProject, entityName, jpaPreferenceStore, isMappedSuperclassChild, mappedSuperclassName, mappedSuperclassPackage, hasPrimarykey);
-		} catch (Exception e1) {
-			JPADiagramEditorPlugin.logError("Cannot create an entity in the project " + targetProject.getName(), e1);  //$NON-NLS-1$		 
-		}
-		
-		
-		try {
-			jpaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-		} catch (CoreException e1) {
-			JPADiagramEditorPlugin.logError("Cannot refresh the project", e1);  //$NON-NLS-1$		 
-		}
-		
-		ListIterator<PersistenceUnit> lit = jpaProject.getRootContextNode().getPersistenceXml().getPersistence().getPersistenceUnits().iterator();		
-		PersistenceUnit pu = lit.next();
-		JavaPersistentType jpt = (JavaPersistentType)pu.getPersistentType(entityName);
-
-		int cnt = 0;
-		while ((jpt == null) && (cnt < 25)) {
-			try {
-				Thread.sleep(200);
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError("Thread sleep interrupted", e);  //$NON-NLS-1$		 
-			}
-			jpt = (JavaPersistentType)pu.getPersistentType(entityName);
-			cnt++;
-		}		
-		
-		if (jpt != null) {
-			addGraphicalRepresentation(context, jpt);
-	        IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
-	        ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
-	        getFeatureProvider().getJPAEditorUtil().formatCode(cu, ws);			
-			return new Object[] { jpt };
-		} else {
-			JPADiagramEditorPlugin.logError("The JPA entity " + entityName + " could not be created", new Exception());  //$NON-NLS-1$	//$NON-NLS-2$	 
-		}		
-		return new Object[] {};
-    }
-        
-    @Override
-	public String getCreateImageId() {
-        return JPAEditorImageProvider.ADD_JPA_ENTITY;
-    }
-    
-	@Override
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}        
-        
-	private JpaProject getTargetJPAProject() {
-		return getFeatureProvider().getMoinIntegrationUtil().getProjectByDiagram(getDiagram());
-	}		
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFromMappedSuperclassFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFromMappedSuperclassFeature.java
deleted file mode 100644
index 620654b..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFromMappedSuperclassFeature.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
- 
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.features.impl.AbstractCreateFeature;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-  
-
-
-public class CreateJPAEntityFromMappedSuperclassFeature extends
-		AbstractCreateFeature {
-	private IPreferenceStore jpaPreferenceStore = JPADiagramEditorPlugin
-			.getDefault().getPreferenceStore();
-
-	public CreateJPAEntityFromMappedSuperclassFeature(IFeatureProvider fp) {
-		super(
-				fp,
-				JPAEditorMessages.CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureName,
-				JPAEditorMessages.CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureDescription);
-	}
-
-	public boolean canCreate(ICreateContext context) {
-		return context.getTargetContainer() instanceof Diagram;
-	}
-
-	public Object[] create(ICreateContext context) {
-		List<Shape> shapes = this.getFeatureProvider().getDiagramTypeProvider()
-				.getDiagram().getChildren();
-		IProject targetProject = null;
-		JpaProject jpaProject = null;
-		if ((shapes == null) || (shapes.size() == 0)) {
-			jpaProject = getTargetJPAProject();
-			targetProject = jpaProject.getProject();
-		} else {
-			Shape sh = shapes.get(0);
-			JavaPersistentType jpt = (JavaPersistentType) getFeatureProvider()
-					.getBusinessObjectForPictogramElement(sh);
-			if (jpt == null)
-				return new Object[] {};
-			jpaProject = jpt.getJpaProject();
-			targetProject = jpaProject.getProject();
-		}
-		
-		String mappedSuperclassName = getFeatureProvider()
-				.getJPAEditorUtil()
-				.generateUniqueMappedSuperclassName(
-						jpaProject,
-						JPADiagramPropertyPage.getDefaultPackage(jpaProject.getProject()),
-						getFeatureProvider());
-		
-		if (!JptJpaCorePlugin.discoverAnnotatedClasses(jpaProject.getProject())) {
-			JPAEditorUtil.createRegisterEntityInXMLJob(jpaProject, mappedSuperclassName);
-		}
-				
-
-		try {
-			this.getFeatureProvider()
-					.getJPAEditorUtil()
-					.createEntityFromMappedSuperclassInProject(targetProject,
-							mappedSuperclassName, jpaPreferenceStore);
-		} catch (Exception e1) {
-			JPADiagramEditorPlugin.logError("Cannot create an entity in the project " + targetProject.getName(), e1);  //$NON-NLS-1$		 
-		}
-		
-		CreateJPAEntityFeature createEntityFeature = new CreateJPAEntityFeature(
-				getFeatureProvider(), true, mappedSuperclassName);
-		return createEntityFeature.create(context);
-	}
-
-	public String getCreateImageId() {
-		return JPAEditorImageProvider.ADD_INHERITED_ENTITY;
-	}
-
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-
-	private JpaProject getTargetJPAProject() {
-		return getFeatureProvider().getMoinIntegrationUtil()
-				.getProjectByDiagram(getDiagram());
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyBiDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyBiDirRelationFeature.java
deleted file mode 100644
index 6e44389..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyBiDirRelationFeature.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateManyToManyBiDirRelationFeature extends
-		CreateManyToManyRelationFeature {
-
-	public CreateManyToManyBiDirRelationFeature(IJPAEditorFeatureProvider fp) {
-		super(fp, JPAEditorMessages.CreateManyToManyBiDirRelationFeature_manyToManyBiDirFeatureName,  
-				JPAEditorMessages.CreateManyToManyBiDirRelationFeature_manyToManyUniDirFeatureDescription); 
-	}
-		
-	@Override
-	public ManyToManyBiDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, PictogramElement target) {
-		JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
-		JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));		
-		
-		String ownerAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = ownerAttributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(ownerAttributeName);
-		String ownerAttributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);		
-
-		String inverseAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
-		String nameWithNonCapitalLetter2 = inverseAttributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(inverse))
-			nameWithNonCapitalLetter2 = JPAEditorUtil.produceValidAttributeName(inverseAttributeName);
-		String inverseAttributeText = JPAEditorUtil.produceUniqueAttributeName(inverse, ownerAttributeText, nameWithNonCapitalLetter2);		
-		
-		ManyToManyBiDirRelation rel = new ManyToManyBiDirRelation(fp, owner, inverse, ownerAttributeText, inverseAttributeText, true, 
-				getFeatureProvider().getCompilationUnit(owner),
-				getFeatureProvider().getCompilationUnit(inverse)); 
-		return rel;		
-
-	}	
-	
-    public String getCreateImageId() {
-        return JPAEditorImageProvider.ICON_MANY_TO_MANY_2_DIR;
-    }					
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyRelationFeature.java
deleted file mode 100644
index 79d040f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyRelationFeature.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-
-abstract class CreateManyToManyRelationFeature 
-		extends	CreateRelationFeature {
-
-	public CreateManyToManyRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
-		super(fp, name, description);
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyUniDirRelationFeature.java
deleted file mode 100644
index 1e58fd5..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyUniDirRelationFeature.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateManyToManyUniDirRelationFeature extends
-		CreateManyToManyRelationFeature {
-
-	public CreateManyToManyUniDirRelationFeature(IJPAEditorFeatureProvider fp) {
-		super(fp, JPAEditorMessages.CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureName, 
-				JPAEditorMessages.CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureDescription); 
-	}
-		
-	@Override
-	public ManyToManyUniDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, PictogramElement target) {
-		JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
-		JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));		
-
-		String attributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = attributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(attributeName);
-		String attributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);		
-		ManyToManyUniDirRelation relation = new ManyToManyUniDirRelation(fp, owner, inverse, attributeText, true, 
-				getFeatureProvider().getCompilationUnit(owner),
-				getFeatureProvider().getCompilationUnit(inverse)); 
-		return relation;		
-	}
-
-    public String getCreateImageId() {
-        return JPAEditorImageProvider.ICON_MANY_TO_MANY_1_DIR;
-    }				
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneBiDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneBiDirRelationFeature.java
deleted file mode 100644
index ceeb529..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneBiDirRelationFeature.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateManyToOneBiDirRelationFeature extends
-		CreateManyToOneRelationFeature {
-
-	public CreateManyToOneBiDirRelationFeature(IJPAEditorFeatureProvider fp) {
-		super(fp, JPAEditorMessages.CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureName,  
-				JPAEditorMessages.CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureDescription);
-	}
-		
-	@Override
-	public ManyToOneBiDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, 
-			PictogramElement target) {
-		JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
-		JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));		
-		
-		String ownerAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = ownerAttributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(ownerAttributeName);
-		String ownerAttributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);		
-
-		String inverseAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
-		String nameWithNonCapitalLetter2 = inverseAttributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(inverse))
-			nameWithNonCapitalLetter2 = JPAEditorUtil.produceValidAttributeName(inverseAttributeName);
-		String inverseAttributeText = JPAEditorUtil.produceUniqueAttributeName(inverse, ownerAttributeText, nameWithNonCapitalLetter2);		
-		
-		ManyToOneBiDirRelation rel = new ManyToOneBiDirRelation(fp, owner, inverse, ownerAttributeText, inverseAttributeText, true, 
-				getFeatureProvider().getCompilationUnit(owner),
-				getFeatureProvider().getCompilationUnit(inverse)); 
-		return rel;		
-	}
-	
-    public String getCreateImageId() {
-        return JPAEditorImageProvider.ICON_MANY_TO_ONE_2_DIR;
-    }			
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneRelationFeature.java
deleted file mode 100644
index 1f1c9ec..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneRelationFeature.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-abstract class CreateManyToOneRelationFeature 
-		extends	CreateRelationFeature {
-
-	public CreateManyToOneRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
-		super(fp, name, description);
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java
deleted file mode 100644
index fafc150..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateManyToOneUniDirRelationFeature extends
-		CreateManyToOneRelationFeature {
-
-	public CreateManyToOneUniDirRelationFeature(IJPAEditorFeatureProvider fp) {
-		super(fp, JPAEditorMessages.CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureName,  
-				JPAEditorMessages.CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureDescription);
-	}
-		
-	@Override
-	public ManyToOneUniDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, PictogramElement target) {
-		JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
-		JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-		
-		String attributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = attributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(attributeName);
-		String attributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);		
-		ManyToOneUniDirRelation relation = new ManyToOneUniDirRelation(fp, owner, inverse, attributeText, true, 
-				getFeatureProvider().getCompilationUnit(owner),
-				getFeatureProvider().getCompilationUnit(inverse));
-		return relation;
-	}
-	
-    public String getCreateImageId() {
-        return JPAEditorImageProvider.ICON_MANY_TO_ONE_1_DIR;
-    }			
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyRelationFeature.java
deleted file mode 100644
index c3ec2d1..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyRelationFeature.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-abstract class CreateOneToManyRelationFeature 
-		extends	CreateRelationFeature {
-
-	public CreateOneToManyRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
-		super(fp, name, description);
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyUniDirRelationFeature.java
deleted file mode 100644
index 2eb3367..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyUniDirRelationFeature.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateOneToManyUniDirRelationFeature extends
-		CreateOneToManyRelationFeature {
-
-	public CreateOneToManyUniDirRelationFeature(IJPAEditorFeatureProvider fp) {
-		super(fp, JPAEditorMessages.CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureName,  
-				JPAEditorMessages.CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureDescription); 
-	}
-		
-	@Override
-	public OneToManyUniDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, 
-			PictogramElement target) {
-		JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
-		JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));	
-				
-		String attributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = attributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(attributeName);
-		
-		String attributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);		
-		OneToManyUniDirRelation relation = new OneToManyUniDirRelation(fp, owner, inverse, attributeText, true, 
-				getFeatureProvider().getCompilationUnit(owner),
-				getFeatureProvider().getCompilationUnit(inverse));
-		return relation;	
-	}	
-	
-    public String getCreateImageId() {
-        return JPAEditorImageProvider.ICON_ONE_TO_MANY_1_DIR;
-    }		
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneBiDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneBiDirRelationFeature.java
deleted file mode 100644
index 3a65a5d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneBiDirRelationFeature.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateOneToOneBiDirRelationFeature extends CreateOneToOneRelationFeature {
-	
-	public CreateOneToOneBiDirRelationFeature(IJPAEditorFeatureProvider fp) {
-		super(fp, JPAEditorMessages.CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureName,  
-				JPAEditorMessages.CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureDescription); 
-	}
-		
-	@Override
-	public OneToOneBiDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, 
-			PictogramElement target) {
-		JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
-		JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));		
-	
-		String ownerAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = ownerAttributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(ownerAttributeName);
-		String ownerAttributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);		
-
-		String inverseAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
-		String nameWithNonCapitalLetter2 = inverseAttributeName;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(inverse))
-			nameWithNonCapitalLetter2 = JPAEditorUtil.produceValidAttributeName(inverseAttributeName);
-		String inverseAttributeText = JPAEditorUtil.produceUniqueAttributeName(inverse, ownerAttributeText, nameWithNonCapitalLetter2);		
-		
-		OneToOneBiDirRelation rel = new OneToOneBiDirRelation(fp, owner, inverse, ownerAttributeText, inverseAttributeText, true, 
-				getFeatureProvider().getCompilationUnit(owner),
-				getFeatureProvider().getCompilationUnit(inverse)); 
-		return rel;		
-	}
-	
-    public String getCreateImageId() {
-        return JPAEditorImageProvider.ICON_ONE_TO_ONE_2_DIR;
-    }	
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneRelationFeature.java
deleted file mode 100644
index f4b9fea..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneRelationFeature.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-abstract class CreateOneToOneRelationFeature 
-		extends CreateRelationFeature {
-	
-	public CreateOneToOneRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
-		super(fp, name, description);
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneUniDirRelationFeature.java
deleted file mode 100644
index dae132d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneUniDirRelationFeature.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-
-public class CreateOneToOneUniDirRelationFeature extends CreateOneToOneRelationFeature {
-	
-	public CreateOneToOneUniDirRelationFeature(IJPAEditorFeatureProvider fp) {
-		super(fp, JPAEditorMessages.CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureName, 
-				JPAEditorMessages.CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureDescription); 
-	}
-		
-	@Override
-	public OneToOneUniDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, 
-														PictogramElement target) {
-		
-		JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
-		JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-		
-		String name = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = name;
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-		String attribTxt = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);		
-		OneToOneUniDirRelation res = new OneToOneUniDirRelation(fp, owner, inverse, attribTxt, true, 
-				getFeatureProvider().getCompilationUnit(owner),
-				getFeatureProvider().getCompilationUnit(inverse));
-		return res;
-	}
-	
-    public String getCreateImageId() {
-        return JPAEditorImageProvider.ICON_ONE_TO_ONE_1_DIR;
-    }	
-		
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateRelationFeature.java
deleted file mode 100644
index 752b5bc..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateRelationFeature.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.context.ICreateConnectionContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.impl.AbstractCreateConnectionFeature;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-
-
-abstract public class CreateRelationFeature extends AbstractCreateConnectionFeature {
-
-	public CreateRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
-		super(fp, name, description);
-	}
-
-	public boolean canCreate(ICreateConnectionContext context) {
-		JavaPersistentType source = (JavaPersistentType)getPersistentType(context.getSourceAnchor());
-		JavaPersistentType target = (JavaPersistentType)getPersistentType(context.getTargetAnchor());
-	    if (source != null && target != null) {
-	        return true;
-	    }
-	    return false;
-	}
-
-	public boolean canStartConnection(ICreateConnectionContext context) {
-	    if (getPersistentType(context.getSourceAnchor()) != null) 
-	        return true;
-	    return false;
-	}
-	
-	public Connection create(ICreateConnectionContext context) {
-	    Connection newConnection = null;
-	    PersistentType source = getPersistentType(context.getSourceAnchor());
-	    PersistentType target = getPersistentType(context.getTargetAnchor());
-	    if (source != null && target != null) {
-	    	AbstractRelation rel = createRelation(getFeatureProvider(), context.getSourceAnchor().getParent(), 
-	    													context.getTargetAnchor().getParent());
-	        AddConnectionContext addContext =
-	            new AddConnectionContext(context.getSourceAnchor(), context
-	                .getTargetAnchor());
-	        addContext.setNewObject(rel);
-	        newConnection =
-	            (Connection) getFeatureProvider().addIfPossible(addContext);
-	    }    
-	    return newConnection;
-	}
-	
-	/**
-	 * Returns the PersistentType class belonging to the anchor, or null if not available.
-	 */
-	protected PersistentType getPersistentType(Anchor anchor) {
-	    if (anchor != null) {
-	        Object refObject =
-	            getBusinessObjectForPictogramElement(anchor.getParent());
-	        if (refObject instanceof PersistentType) {
-	            return (PersistentType) refObject;
-	        }
-	    }
-	    return null;
-	}
-	
-	
-	/**
-	 * Creates a new OneToOneRelation between two PersistentType classes.
-	 */
-	abstract protected AbstractRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, 
-															   PictogramElement target);
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider(); 
-	}
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteJPAEntityFeature.java
deleted file mode 100644
index 7b81077..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteJPAEntityFeature.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.context.IMultiDeleteInfo;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.ui.features.DefaultDeleteFeature;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.ui.PlatformUI;
-
-
-public class DeleteJPAEntityFeature extends DefaultDeleteFeature {
-	
-	private String entityClassName = null;
-	private String entityName = null;
-	public DeleteJPAEntityFeature(IFeatureProvider fp) {
-		super(fp);		
-	}
-	
-    public void delete(final IDeleteContext context) {
-    	PictogramElement pe = context.getPictogramElement();
-    	
-    	JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-    	entityClassName = jpt.getName();
-    	entityName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
-    	TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
-    	ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				deleteEl(context);
-			}
-		});
-    	
-    }
-    	
-    public void deleteEl(IDeleteContext context){
-    	super.delete(context);
-    }
-	
-    protected void deleteBusinessObject(Object bo) {
-    	JavaPersistentType jpt = null;
-		if (bo instanceof JavaPersistentType) {
-			jpt = (JavaPersistentType) bo;
-			
-		
-			JpaProject jpaProject = jpt.getJpaProject();
-			String name = jpt.getName();
-			
-			
-			JpaArtifactFactory.instance().forceSaveEntityClass(jpt, getFeatureProvider());
-			JpaArtifactFactory.instance().deleteEntityClass(jpt, getFeatureProvider());
-			if (!JptJpaCorePlugin.discoverAnnotatedClasses(jpt.getJpaProject().getProject())) {
-				JPAEditorUtil.createUnregisterEntityFromXMLJob(jpaProject, name);
-			}
-						
-		} 	
-    }
-    
-    public String getQuestionToUser() {
-    	return MessageFormat.format(JPAEditorMessages.DeleteJPAEntityFeature_deleteJPAEntityQuestion, entityName, entityClassName);
-    }
-    
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}		    
-	
-	protected boolean getUserDecision(IDeleteContext context) {
-		String msg = "";  //$NON-NLS-1$
-		IMultiDeleteInfo multiDeleteInfo = context.getMultiDeleteInfo();
-		if (multiDeleteInfo != null) {
-			msg = JPAEditorMessages.DeleteJPAEntityFeature_deleteJPAEntitiesQuestion;
-		} else {
-			if (entityClassName != null && entityClassName.length() > 0) {
-				msg = MessageFormat.format(JPAEditorMessages.DeleteJPAEntityFeature_deleteJPAEntityQuestion, entityName, entityClassName);
-			}
-		}
-		return MessageDialog.openQuestion(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
-				JPAEditorMessages.DeleteFeature_deleteConfirm, msg);
-	}
-
-	
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteRelationFeature.java
deleted file mode 100644
index 89e18ce..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteRelationFeature.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.context.impl.DeleteContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.ui.features.DefaultDeleteFeature;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.UnidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.PlatformUI;
-
-
-public class DeleteRelationFeature extends DefaultDeleteFeature{
-	
-	private static IJPAEditorUtil ut = null;
-		
-	public DeleteRelationFeature(IJPAEditorFeatureProvider fp) {
-		super(fp);
-		ut = fp.getJPAEditorUtil();
-	}
-	
-	public boolean canDelete(IDeleteContext context) {
-		return true;
-	}
-	
-	public boolean isAvailable(IContext context) {
-		return true;
-	}
-	
-	public boolean canExecute(IContext context) {
-		return true;
-	}	
-	
-    protected String getQuestionToUser() {
-    	return JPAEditorMessages.DeleteRelationFeature_deleteRelationQuestion;
-    }
-	
-    public void delete(IDeleteContext context) {
-        PictogramElement pe = context.getPictogramElement();
-        Object businessObjectForPictogramElement = getBusinessObjectForPictogramElement(pe);
-        if (businessObjectForPictogramElement != null) {
-            if (!getUserDecision(context)) {
-                return;
-            }
-        }
-
-        preDelete(context);
-        AbstractRelation rel = (AbstractRelation)businessObjectForPictogramElement;
-		
-        if (rel instanceof UnidirectionalRelation) {
-        	UnidirectionalRelation relation = (UnidirectionalRelation)rel;
-        	ClickRemoveAttributeButtonFeature feat = new ClickRemoveAttributeButtonFeature(getFeatureProvider());
-    		JavaPersistentAttribute attribute = relation.getAnnotatedAttribute();
-    		PictogramElement textShape = getFeatureProvider().getPictogramElementForBusinessObject(attribute);
-    		IDeleteContext delCtx = new DeleteContext(textShape);    		
-    		feat.delete(delCtx, false);
-    	}    	
-
-        if (rel instanceof BidirectionalRelation) { 			
-        	BidirectionalRelation relation = (BidirectionalRelation)(rel);
-        	ClickRemoveAttributeButtonFeature feat = new ClickRemoveAttributeButtonFeature(getFeatureProvider());
-        	
-    		JavaPersistentAttribute ownerAttribute = relation.getOwnerAnnotatedAttribute();
-    		PictogramElement ownerAttributeTextShape = getFeatureProvider().getPictogramElementForBusinessObject(ownerAttribute);
-    		IDeleteContext deleteOwnerAttributeContext = new DeleteContext(ownerAttributeTextShape);
-    		feat.delete(deleteOwnerAttributeContext, false);
-    		
-    		JavaPersistentAttribute inverseAttribute = relation.getInverseAnnotatedAttribute();
-    		PictogramElement inverseAttributeTextShape = getFeatureProvider().getPictogramElementForBusinessObject(inverseAttribute);
-    		IDeleteContext deleteInverseAttributeContext = new DeleteContext(inverseAttributeTextShape);
-    		feat.delete(deleteInverseAttributeContext, false);    		
-    	}    	
-
-        postDelete(context);
-        
-        /*
-        IRemoveContext rc = new RemoveContext(pe);
-        IFeatureProvider featureProvider = getFeatureProvider();
-        IRemoveFeature removeFeature = featureProvider.getRemoveFeature(rc);
-        if (removeFeature != null) {
-            removeFeature.remove(rc);
-        }
-        */
-        
-        
-    }	
-    
-	public void postDelete(IDeleteContext context) {
-        PictogramElement pe = context.getPictogramElement();
-        Object businessObjectForPictogramElement = getBusinessObjectForPictogramElement(pe);
-        IRelation rel = (IRelation)businessObjectForPictogramElement;	
-		IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
-		ICompilationUnit cu = getFeatureProvider().getCompilationUnit(rel.getOwner());		
-        ut.organizeImports(cu, ws);        
-		if (rel instanceof BidirectionalRelation) {
-			cu = getFeatureProvider().getCompilationUnit(rel.getInverse());
-			ut.organizeImports(cu, ws);  
-		}
-	}
-    
-    
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}    
-	
-	protected boolean getUserDecision(IDeleteContext context) {
-		return MessageDialog.openQuestion(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
-				JPAEditorMessages.DeleteFeature_deleteConfirm, JPAEditorMessages.DeleteRelationFeature_deleteRelationQuestion);
-	}
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java
deleted file mode 100644
index bd0b385..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDirectEditingContext;
-import org.eclipse.graphiti.features.impl.AbstractDirectEditingFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class DirectEditAttributeFeature extends AbstractDirectEditingFeature {
-	
-	private boolean isMethodAnnotated = false;
-
-	public DirectEditAttributeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public int getEditingType() {
-		return TYPE_TEXT;
-	}
-
-	@Override
-	public boolean canDirectEdit(IDirectEditingContext context) {
-		return true;
-	}
-
-	public String getInitialValue(IDirectEditingContext context) {
-		PictogramElement pe = context.getPictogramElement();
-		JavaPersistentAttribute jpa = (JavaPersistentAttribute)getFeatureProvider().
-											getBusinessObjectForPictogramElement(pe);
-		isMethodAnnotated = JpaArtifactFactory.instance().isMethodAnnotated(jpa);
-		Text txt = (Text) pe.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
-		String value =  txt.getValue();
-		if (isMethodAnnotated)
-			value = JPAEditorUtil.produceValidAttributeName(value);		
-		return value;
-	}
-
-	@Override
-	public String checkValueValid(String value, IDirectEditingContext context) {
-		if (isMethodAnnotated)
-			value = JPAEditorUtil.produceValidAttributeName(value);		
-		IStatus status = JavaConventions.validateFieldName(value, JavaCore.VERSION_1_5, JavaCore.VERSION_1_5);
-		if (!status.isOK())
-			return status.getMessage();
-		status = checkDuplicateAttribute(value, context);
-		if (!status.isOK())
-			return status.getMessage();
-		return null;
-	}
-
-	private IStatus checkDuplicateAttribute(String value, IDirectEditingContext context) {
-		PictogramElement pe = context.getPictogramElement();
-		JavaPersistentAttribute oldAt = (JavaPersistentAttribute) getBusinessObjectForPictogramElement(pe);
-		JavaPersistentAttribute newAl = (JavaPersistentAttribute)((JavaPersistentType)oldAt.getParent()).getAttributeNamed(value);
-		if (newAl != null && !newAl.equals(oldAt)) {
-			String message = MessageFormat.format(JPAEditorMessages.DirectEditAttributeFeature_attributeExists, value);
-			return new Status(IStatus.ERROR, JPADiagramEditorPlugin.PLUGIN_ID, message);
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-
-	public void setValue(String value, IDirectEditingContext context) {
-		if (isMethodAnnotated)
-			value = JPAEditorUtil.produceValidAttributeName(value);
-		PictogramElement pe = context.getPictogramElement();
-		JavaPersistentAttribute oldAt = (JavaPersistentAttribute) getBusinessObjectForPictogramElement(pe);
-
-		IRelation rel = getFeatureProvider().getRelationRelatedToAttribute(oldAt);
-		String inverseJPTName = null;
-		if (BidirectionalRelation.class.isInstance(rel)) 
-			inverseJPTName = rel.getInverse().getName();
-		if (oldAt.getName().equals(value))
-			return;
-		try {
-			JpaArtifactFactory.instance().renameAttribute(oldAt, value, inverseJPTName, getFeatureProvider());
-		} catch (InterruptedException e) {
-			return;
-		}
-		
-		if (pe.getGraphicsAlgorithm() == null)
-			return;
-		final GraphicsAlgorithm alg = pe.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
-		final String newValue = value;
-
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(alg);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				((Text) alg).setValue(newValue);
-			}
-		});
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditJPAEntityFeature.java
deleted file mode 100644
index cd6e455..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditJPAEntityFeature.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Set;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDirectEditingContext;
-import org.eclipse.graphiti.features.impl.AbstractDirectEditingFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-
-public class DirectEditJPAEntityFeature extends AbstractDirectEditingFeature {
-
-	private static String allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_";	//$NON-NLS-1$
-
-	public DirectEditJPAEntityFeature(IFeatureProvider fp) {
-	    super(fp);
-	}
-	
-	public int getEditingType() {
-	    return TYPE_TEXT;
-	}
-	
-	@Override
-	public boolean canDirectEdit(IDirectEditingContext context) {
-		return true;
-	}
-	
-	public String getInitialValue(IDirectEditingContext context) {
-	    Shape sh = (Shape)context.getPictogramElement();
-	    ContainerShape csh = sh.getContainer();
-	    JavaPersistentType jpt = (JavaPersistentType)getBusinessObjectForPictogramElement(csh);
-	    return JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
-	}
-	
-	@Override
-	public String checkValueValid(String value, IDirectEditingContext context) {
-		//CSN #1305664 2010
-		PictogramElement pe = context.getPictogramElement();
-	    ContainerShape csh = ((Shape)pe).getContainer();	    
-	    JavaPersistentType jpt = (JavaPersistentType) getFeatureProvider().getBusinessObjectForPictogramElement(csh);
-        String packageName = Signature.getQualifier(jpt.getName());
-	    PersistenceUnit unit = jpt.getPersistenceUnit();
-        
-	    for(ClassRef classRef : unit.getClassRefs()) {
-	    	if(classRef.getClassName().equals(packageName + Signature.C_DOT + value) && !(JPAEditorUtil.getText(jpt).equals(value))){
-		    	return MessageFormat.format(JPAEditorMessages.DirectEditJPAEntityFeature_duplicateEntityName, packageName+value);
-
-	    	}
-	    }
-	    
-	    if (value.length() < 1)
-	        return JPAEditorMessages.DirectEditJPAEntityFeature_classNameMsg; 
-	    if (value.contains(" ")) //$NON-NLS-1$
-	        return JPAEditorMessages.DirectEditJPAEntityFeature_scpacesNotAllowedMsg; 
-	    if (value.contains("\n")) //$NON-NLS-1$
-	        return JPAEditorMessages.DirectEditJPAEntityFeature_lineBreaksNotAllowedMsg;
-	    if(value.contains("{") || value.contains("}")) //$NON-NLS-1$ //$NON-NLS-2$
-	    	return JPAEditorMessages.DirectEditJPAEntityFeature_bracesNotAllowedMsg;
-	    for (int i = 0; i < value.length(); i++) {
-	    	if (allowed.indexOf(value.charAt(i)) < 0)
-	    		return MessageFormat.format(JPAEditorMessages.DirectEditJPAEntityFeature_invalidSymbolsMsg, value);	
-	    }
-	    return null;
-	}
-	
-	@Override
-	public void setValue(final String value, IDirectEditingContext context) {
-	    PictogramElement pe = context.getPictogramElement();
-	    ContainerShape csh = ((Shape)pe).getContainer();
-	    JavaPersistentType jpt = (JavaPersistentType)getBusinessObjectForPictogramElement(csh);
-	    Properties props = JPADiagramPropertyPage.loadProperties(jpt.getJpaProject().getProject());
-
-	    String specifiedEntityMappingName = JpaArtifactFactory.instance().getSpecifiedEntityName(jpt);
-	    if(specifiedEntityMappingName == null){
-	    	RenameEntityWithoutUIFeature ft = new RenameEntityWithoutUIFeature(getFeatureProvider(), value);
-	    	ft.execute(jpt);
-	    	return;
-	    } else {
-	    
-	    JpaArtifactFactory.instance().renameEntity(jpt, value);
-//	    Properties props = JPADiagramPropertyPage.loadProperties(jpt.getJpaProject().getProject());
-			if (JPADiagramPropertyPage.doesDirecteEditingAffectClassNameByDefault(jpt.getJpaProject().getProject(), props)) {
-				RenameEntityWithoutUIFeature ft = new RenameEntityWithoutUIFeature(getFeatureProvider(), value);
-				ft.execute(jpt);
-				return;
-			}
-		}
-	    
-	    final GraphicsAlgorithm alg = pe.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
-
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(alg);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			@Override
-			protected void doExecute() {
-				((Text) alg).setValue(value);
-			}
-		});	    
-	    
-	    Set<JavaPersistentAttribute> ats = JpaArtifactFactory.instance().getRelatedAttributes(jpt);
-	    Iterator<JavaPersistentAttribute> it = ats.iterator();
-	    while (it.hasNext()) {
-	    	JavaPersistentAttribute at = it.next();
-	    	PictogramElement pel = getFeatureProvider().getPictogramElementForBusinessObject(at);
-	    	String newAtName = JPAEditorUtil.decapitalizeFirstLetter(value);
-	    	if (JpaArtifactFactory.instance().isMethodAnnotated(at)) 
-	    		newAtName = JPAEditorUtil.produceValidAttributeName(newAtName);
-	    	try {
-				newAtName = JpaArtifactFactory.instance().renameAttribute(at, newAtName, jpt.getName(), getFeatureProvider()).getName();
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError(e);
-			}
-			
-	    	final GraphicsAlgorithm algo = pel.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
-            final String attName = newAtName;
-	  		TransactionalEditingDomain tedit = TransactionUtil.getEditingDomain(algo);
-	  		tedit.getCommandStack().execute(new RecordingCommand(tedit) {
-	  			@Override
-				protected void doExecute() {
-	  				((Text) algo).setValue(attName);
-	  			}
-	  		});	 
-	    }
-	}
-	
-	@Override
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}	
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DiscardAndRemoveAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DiscardAndRemoveAllEntitiesFeature.java
deleted file mode 100644
index 90b7b10..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DiscardAndRemoveAllEntitiesFeature.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.swt.widgets.Display;
-
-
-public class DiscardAndRemoveAllEntitiesFeature extends RemoveAllEntitiesFeature {
-
-	public DiscardAndRemoveAllEntitiesFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	public String getConfirmationText() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesConfirmation;
-	}
-	
-	public void execute(ICustomContext context) {
-		MessageDialog dlg = new MessageDialog(Display.getCurrent().getShells()[0], 
-												JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAllEntitiesMenu, 
-												null, getConfirmationText(), 0, 
-												new String[] {JPAEditorMessages.BTN_OK, JPAEditorMessages.BTN_CANCEL}, Dialog.CANCEL);
-		if (dlg.open() != Dialog.OK)
-			return;		
-		Iterator<Shape> it = this.getDiagram().getChildren().iterator();
-		while (it.hasNext()) {
-			Shape sh = it.next();
-			RestoreEntityFeature ft = new RestoreEntityFeature(getFeatureProvider());
-			ICustomContext ctx = new CustomContext(new PictogramElement[] { sh });
-			ft.execute(ctx);
-			allShapes.add(sh);
-		}
-		super.execute(context);
-	}		
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.DiscardAndRemoveAllEntitiesFeature_ContextMenuOperationDescription;
-		
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandAllEntitiesFeature.java
deleted file mode 100644
index b801b68..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandAllEntitiesFeature.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class ExpandAllEntitiesFeature extends AbstractCustomFeature{
-		
-	public ExpandAllEntitiesFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	public void execute(ICustomContext context) {
-		final Diagram diagram = getFeatureProvider().getDiagramTypeProvider().getDiagram();
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(diagram);
-		
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				EList<Shape> shapes = diagram.getChildren();
-				for (PictogramElement el : shapes) {			
-					String collapseFeatures = Graphiti.getPeService().getPropertyValue(el, JPAEditorConstants.COLLAPSE_FEATURES);
-					if (collapseFeatures != null) {
-						Object bo = getBusinessObjectForPictogramElement(el);
-						if(bo instanceof JavaPersistentType){
-							ContainerShape containerShape = (ContainerShape) el;	
-							GraphicsUpdater.updateEntityShape(containerShape);
-							GraphicsUpdater.updateEntityHeigth(containerShape);
-							Graphiti.getPeService().removeProperty(el, JPAEditorConstants.COLLAPSE_FEATURES);
-							JPAEditorUtil.rearrangeAllConnections(containerShape, getFeatureProvider(), false);
-						}					
-					}
-				}
-			}
-		});
-		
-	}
-	
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-
-	@Override
-	public boolean isAvailable(IContext context) {
-		return true;
-	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-	
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItem;
-	}
-	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandCompartmentShapeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandCompartmentShapeFeature.java
deleted file mode 100644
index e27e430..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandCompartmentShapeFeature.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class ExpandCompartmentShapeFeature extends AbstractCustomFeature{
-	
-	public ExpandCompartmentShapeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public void execute(ICustomContext context) {
-		PictogramElement el = context.getPictogramElements()[0];
-
-		Object ob = getFeatureProvider().getBusinessObjectForPictogramElement(el);
-		int pictogramHeight = JPAEditorConstants.COMPARTMENT_MIN_HEIGHT;
-		int newHeight = JPAEditorConstants.COMPARTMENT_BUTTOM_OFFSET;
-		final ContainerShape containerShape = (ContainerShape) el;
-		if(ob == null)
-			newHeight = GraphicsUpdater.increaseCompartmentHeigth(containerShape, newHeight);
-		final int pictHeight = pictogramHeight + newHeight;
-        final GraphicsAlgorithm algo = el.getGraphicsAlgorithm();
-        final ContainerShape entityShape = containerShape.getContainer();
-        TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(algo);
-        ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-		        algo.setHeight(pictHeight);
-		        int height = GraphicsUpdater.getPrimaryShape(entityShape).getGraphicsAlgorithm().getHeight() +
-		                     GraphicsUpdater.getRelationShape(entityShape).getGraphicsAlgorithm().getHeight() + 
-		                     GraphicsUpdater.getBasicShape(entityShape).getGraphicsAlgorithm().getHeight() + JPAEditorConstants.ENTITY_MIN_HEIGHT;
-		        
-		        if(height>entityShape.getGraphicsAlgorithm().getHeight()){
-		        	ICustomContext cont = new CustomContext(new PictogramElement[] {entityShape});
-		        	ICustomFeature expandEntity = new ExpandEntityFeature(getFeatureProvider());
-		        	expandEntity.execute(cont);
-		        }
-		        GraphicsUpdater.updateEntityShape(entityShape);
-				GraphicsUpdater.setCollapsed(containerShape, false);
-				JPAEditorUtil.rearrangeAllConnections(entityShape, getFeatureProvider(), false);				
-			}
-        });
-	}
-	
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-	
-	
-	@Override
-	public boolean isAvailable(IContext context) {
-		boolean ret = false;
-		if (context instanceof ICustomContext) {
-			PictogramElement[] pes = ((ICustomContext) context).getPictogramElements();
-			if (pes != null && pes.length > 0) {
-				boolean expandPossible = false;
-				for (int i = 0; i < pes.length; i++) {
-					PictogramElement pe = pes[i];
-					Object bo = getBusinessObjectForPictogramElement(pe);
-					if (bo != null) {
-						expandPossible = false;
-						return false;
-					}
-					if (!expandPossible) {
-						if (GraphicsUpdater.isCollapsed((ContainerShape)pe)) {
-							expandPossible = true;
-						}
-					}
-				}
-				if (expandPossible) {
-					return true;
-				}
-			}
-		}
-
-		return ret;
-	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandEntityFeature.java
deleted file mode 100644
index 8c52d27..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandEntityFeature.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class ExpandEntityFeature extends AbstractCustomFeature{
-		
-	public ExpandEntityFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	public void execute(ICustomContext context) {
-		final PictogramElement el = context.getPictogramElements()[0];
-
-		Object bo = getBusinessObjectForPictogramElement(el);
-		if(bo instanceof JavaPersistentType){
-		final ContainerShape containerShape = (ContainerShape) el;
-	
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(containerShape);
-			ted.getCommandStack().execute(new RecordingCommand(ted) {
-				protected void doExecute() {
-
-					GraphicsUpdater.updateEntityShape(containerShape);
-					GraphicsUpdater.updateEntityHeigth(containerShape);
-					Graphiti.getPeService().removeProperty(el, JPAEditorConstants.COLLAPSE_FEATURES);
-
-					JPAEditorUtil.rearrangeAllConnections(containerShape, getFeatureProvider(), false);
-				}
-			});
-		}
-	}
-	
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-
-	@Override
-	public boolean isAvailable(IContext context) {
-		boolean ret = false;
-		if (context instanceof ICustomContext) {
-			PictogramElement[] pes = ((ICustomContext) context).getPictogramElements();
-			if (pes != null && pes.length > 0) {
-				boolean expandPossible = false;
-				for (int i = 0; i < pes.length; i++) {
-					PictogramElement pe = pes[i];
-					Object bo = getBusinessObjectForPictogramElement(pe);
-					if (!(bo instanceof JavaPersistentType)) {
-						return false;
-					}
-					if (!expandPossible) {
-						Property property = Graphiti.getPeService().getProperty(pe, JPAEditorConstants.COLLAPSE_FEATURES);
-						if (property != null) {
-							expandPossible = true;
-						}
-					}
-				}
-				if (expandPossible) {
-					return true;
-				}
-			}
-		}
-
-		return ret;
-	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_expandEntityMenuItem;
-	}
-	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java
deleted file mode 100644
index 755d3e8..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-
-
-public class GraphicalAddAttributeFeature extends AbstractAddShapeFeature {
-
-	public GraphicalAddAttributeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public PictogramElement add(final IAddContext context) {
-		final ContainerShape entityShape = context.getTargetContainer();
-		final Wrp wrp = new Wrp();
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(entityShape);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				JavaPersistentAttribute newAttr = (JavaPersistentAttribute) context.getNewObject();
-				String txt = JPAEditorUtil.getText(newAttr);
-				HashSet<String> annots = JpaArtifactFactory.instance().getAnnotationNames(newAttr);
-				ContainerShape textShape = null;
-				ContainerShape primaryShape = GraphicsUpdater.getPrimaryShape(entityShape);
-				ContainerShape relationShape = GraphicsUpdater.getRelationShape(entityShape);
-				ContainerShape basicShape = GraphicsUpdater.getBasicShape(entityShape);
-				textShape = addAttributeToProperlyShape(entityShape, txt, annots, primaryShape, relationShape, basicShape);
-				link(textShape, newAttr);
-				layoutPictogramElement(entityShape);
-				wrp.setObj(textShape);
-			}
-			
-		});
-		return (PictogramElement)wrp.getObj();
-	}
-
-	private ContainerShape addAttributeToProperlyShape(ContainerShape entityShape, String txt, HashSet<String> annots,
-			ContainerShape primaryShape, ContainerShape relationShape, ContainerShape basicShape) {
-		ContainerShape textShape = null;
-		if (annots.contains(JPAEditorConstants.ANNOTATION_ID) || annots.contains(JPAEditorConstants.ANNOTATION_EMBEDDED_ID)) {
-			textShape = addAttributeToShape(entityShape, txt, annots, primaryShape);
-		} else if (annots.contains(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)
-				|| annots.contains(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)
-				|| annots.contains(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)
-				|| annots.contains(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
-			textShape = addAttributeToShape(entityShape, txt, annots, relationShape);
-		} else {
-			textShape = addAttributeToShape(entityShape, txt, annots, basicShape);
-		}
-		return textShape;
-	}
-
-	private ContainerShape addAttributeToShape(ContainerShape entityShape, String txt, HashSet<String> annots,
-			ContainerShape containerShape) {
-		ContainerShape textShape = null;
-		int childrenSizeBefore = containerShape.getChildren().size();
-		int containerHeightBefore = containerShape.getGraphicsAlgorithm().getHeight();
-		textShape = addAttribute(getFeatureProvider(), containerShape, txt, annots);
-
-		GraphicsUpdater.updateContainer(containerShape, childrenSizeBefore, containerHeightBefore);
-		GraphicsUpdater.updateEntityShape(entityShape);
-
-		return textShape;
-	}
-
-	private static ContainerShape addAttribute(IJPAEditorFeatureProvider fp, ContainerShape containerShape,
-			String attribTxt, HashSet<String> annotations) {
-
-		int width = containerShape.getContainer().getGraphicsAlgorithm().getWidth();
-		ContainerShape iconShape = Graphiti.getPeService().createContainerShape(containerShape, false);
-		Graphiti.getPeService().setPropertyValue(iconShape, JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.ICON.toString());
-		int attribIndex = fp.getAttribsNum(containerShape);
-		Rectangle iconRect = UpdateAttributeFeature.addRectangleForIcon(iconShape, attribIndex);
-		Image icon = null;
-		Object ob = fp.getBusinessObjectForPictogramElement(containerShape.getContainer());
-		JavaPersistentType jpt = (JavaPersistentType)ob;
-		boolean isMethodAnnotated = JpaArtifactFactory.instance().isMethodAnnotated(jpt); 
-		boolean isCollection = isMethodAnnotated ? 
-				JpaArtifactFactory.instance().isGetterMethodReturnTypeCollection(containerShape.getContainer(), fp, attribTxt) :
-				JpaArtifactFactory.instance().isCollection(containerShape.getContainer(), fp, attribTxt); 
-		if (isCollection && annotations.isEmpty()) {
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_UNMAPPED);
-		} else{
-		    icon = JPAEditorUtil.createAttributeIcon(iconRect, annotations);
-		}
-		Graphiti.getGaService().setLocationAndSize(icon, JPAEditorConstants.ICON_X, JPAEditorConstants.ICON_Y,
-				JPAEditorConstants.ICON_WIDTH, JPAEditorConstants.ICON_HEIGHT);
-		ContainerShape textShape = Graphiti.getPeService().createContainerShape(containerShape, false);
-		Graphiti.getPeService().setPropertyValue(textShape, JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.ATTRIBUTE.toString());
-		Rectangle textRectangle = UpdateAttributeFeature.addRectangleForText(textShape, attribIndex, width);
-		textShape.setActive(true);
-		Text text = UpdateAttributeFeature.addText(fp, textRectangle, attribTxt);
-		Graphiti.getGaService().setWidth(text, width - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
-		Graphiti.getGaService().setLocationAndSize(text, 1, -2, width
-				- JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER, JPAEditorConstants.ATTRIBUTE_RECT_HEIGHT);
-		fp.increaseAttribsNum(containerShape);
-		return textShape;
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-
-	public boolean canAdd(IAddContext context) {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalRemoveAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalRemoveAttributeFeature.java
deleted file mode 100644
index c8d8cdf..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalRemoveAttributeFeature.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.AnchorContainer;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-class GraphicalRemoveAttributeFeature extends AbstractCustomFeature {
-
-	public GraphicalRemoveAttributeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public void execute(ICustomContext context) {
-		final PictogramElement pe = context.getInnerPictogramElement();
-		if (pe == null) 
-			return;
-		TransactionalEditingDomain ted =  TransactionUtil.getEditingDomain(pe);
-		if (ted == null)
-			return;
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			@Override
-			protected void doExecute() {
-				Shape sh = (Shape) pe;
-				Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(sh);
-				if ((bo == null) || (!JavaPersistentType.class.isInstance(bo)))
-					return;
-				ContainerShape entityShape = (ContainerShape) pe;
-				ContainerShape primShape = GraphicsUpdater.getPrimaryShape(entityShape);
-				ContainerShape relationShape = GraphicsUpdater.getRelationShape(entityShape);
-				ContainerShape basicShape = GraphicsUpdater.getBasicShape(entityShape);
-
-				removeCompartmentChildren(primShape);
-				removeCompartmentChildren(relationShape);
-				removeCompartmentChildren(basicShape);
-
-				readdCompartmentsChildren((JavaPersistentType) bo, entityShape, primShape, relationShape, basicShape);
-
-				layoutPictogramElement(entityShape);
-				reconnect((JavaPersistentType) bo);
-			}
-		});		
-
-	}
-
-	public void reconnect(JavaPersistentType jpt) {
-		IJPAEditorFeatureProvider fp = getFeatureProvider();
-		Collection<IRelation> rels = JpaArtifactFactory.instance().produceAllRelations(jpt, fp);
-		JpaArtifactFactory.instance().refreshEntityModel(fp, jpt);
-		Iterator<IRelation> it = rels.iterator();
-		while (it.hasNext()) {
-			IRelation rel = it.next();
-			AddRelationFeature relF = new AddRelationFeature(fp);
-			AnchorContainer acSource = (AnchorContainer) fp.getPictogramElementForBusinessObject(rel.getOwner());
-			AnchorContainer acTarget = (AnchorContainer) fp.getPictogramElementForBusinessObject(rel.getInverse());
-			AddConnectionContext ctx = new AddConnectionContext(acSource.getAnchors().iterator().next(), acTarget
-					.getAnchors().iterator().next());
-			ctx.setNewObject(rel);
-			relF.add(ctx);
-//			JpaArtifactFactory.instance().refreshEntityModel(fp, jpt);
-		}
-	}
-
-	@SuppressWarnings("deprecation")
-	private void readdCompartmentsChildren(JavaPersistentType javaPersistentType, ContainerShape entityShape,
-			ContainerShape primaryShape, ContainerShape relationShape, ContainerShape basicShape) {
-
-		UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(getFeatureProvider());
-		updateFeature.addSeparatorsToShape(primaryShape);
-		updateFeature.addSeparatorsToShape(relationShape);
-		updateFeature.addSeparatorsToShape(basicShape);
-
-		for (JavaPersistentAttribute attribute : javaPersistentType.getAttributes()) {
-			updateFeature.addAttributes(entityShape, attribute);
-
-			getFeatureProvider().renewAttributeJoiningStrategyPropertyListener(attribute);
-			getFeatureProvider().addJPTForUpdate(javaPersistentType.getName());
-		}
-	}
-
-	private void removeCompartmentChildren(ContainerShape compartmentShape) {
-		int y = 0;
-		List<Shape> children = compartmentShape.getChildren();
-		for (int i = 0; i < new ArrayList<Shape>(compartmentShape.getChildren()).size(); i++) {
-			Shape shape = compartmentShape.getChildren().get(i);
-			y = shape.getGraphicsAlgorithm().getY();
-			Graphiti.getPeService().deletePictogramElement(shape);
-		}
-		for (int i = getFeatureProvider().getAttribsNum(compartmentShape); i > 0; i--) {
-			Shape shape = compartmentShape.getChildren().get(i);
-			y = shape.getGraphicsAlgorithm().getY();
-			Graphiti.getPeService().deletePictogramElement(shape);
-			getFeatureProvider().decreaseAttribsNum(compartmentShape);
-		}
-		children = compartmentShape.getChildren();
-		shiftUpLowerAttribs(y, children);
-		compartmentShape.getGraphicsAlgorithm().setHeight(0);
-	}
-
-	@Override
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-
-	private void shiftUpLowerAttribs(int y, List<Shape> children) {
-		for (int i = 0; i < children.size(); i++) {
-			Shape shp = children.get(i);
-			if (shp != null) {
-				int grY = children.get(i).getGraphicsAlgorithm().getY();
-				if (grY > y) {
-					children.get(i).getGraphicsAlgorithm().setY(grY - JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP);
-				}
-				children.get(i).setVisible(false);
-				Graphiti.getPeService().deletePictogramElement(children.get(i));
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/JPAMoveConnectionDecoratorFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/JPAMoveConnectionDecoratorFeature.java
deleted file mode 100644
index 2180e95..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/JPAMoveConnectionDecoratorFeature.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IMoveConnectionDecoratorContext;
-import org.eclipse.graphiti.features.impl.DefaultMoveConnectionDecoratorFeature;
-
-public class JPAMoveConnectionDecoratorFeature extends
-		DefaultMoveConnectionDecoratorFeature {
-
-	public JPAMoveConnectionDecoratorFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	@Override
-	public boolean canExecute(IContext context) {
-		return false;
-	}
-	
-	@Override
-	public boolean canMoveConnectionDecorator(
-			IMoveConnectionDecoratorContext context) {
-		return false;
-	}
-	
-	@Override
-	public boolean isAvailable(IContext context) {
-		return false;
-	}	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/LayoutJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/LayoutJPAEntityFeature.java
deleted file mode 100644
index b9eae4f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/LayoutJPAEntityFeature.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.graphiti.datatypes.IDimension;
-import org.eclipse.graphiti.features.context.ILayoutContext;
-import org.eclipse.graphiti.features.impl.AbstractLayoutFeature;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Point;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IGraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-
-
-public class LayoutJPAEntityFeature extends AbstractLayoutFeature {
-
-	private IPeServiceUtil peUtil = null;
-
-    public LayoutJPAEntityFeature(IJPAEditorFeatureProvider fp) {
-        super(fp);
-        peUtil = fp.getPeUtil();
-    }
-
-    public boolean canLayout(ILayoutContext context) {
-        PictogramElement pe = context.getPictogramElement();
-        Object bo = getBusinessObjectForPictogramElement(pe);
-        return (bo instanceof JavaPersistentType);
-    }
-
-    public boolean layout(ILayoutContext context) {
-		boolean anythingChanged = false;
-		ContainerShape containerShape = (ContainerShape) context
-				.getPictogramElement();
-		GraphicsAlgorithm containerGa = containerShape.getGraphicsAlgorithm();
-
-		if(containerGa.getHeight() < JPAEditorConstants.ENTITY_MIN_HEIGHT){
-			containerGa.setHeight(JPAEditorConstants.ENTITY_MIN_HEIGHT);
-		}
-		
-		configureEntityCollapseExpandProperty(containerShape, containerGa);
-		
-		if (containerGa.getWidth() < JPAEditorConstants.ENTITY_MIN_WIDTH) {
-			containerGa.setWidth(JPAEditorConstants.ENTITY_MIN_WIDTH);
-			anythingChanged = true;
-		}
-		int containerWidth = containerGa.getWidth();
-		Iterator<Shape> iter = containerShape.getChildren().iterator();
-		while (iter.hasNext()) {
-			Shape shape = iter.next();
-			anythingChanged = layoutContainerEntityChildren(anythingChanged,
-					containerWidth, shape);
-
-		}
-		Property property = peUtil.getProperty(containerShape, JPAEditorConstants.COLLAPSE_FEATURES);
-		if (property == null) {
-			IGraphicsUpdater gu = getFeatureProvider().getGraphicsUpdater();
-			gu.updateEntityHeigth(containerShape);
-		}
-
-		return anythingChanged;
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-    
-	private void configureEntityCollapseExpandProperty(
-			ContainerShape containerShape, GraphicsAlgorithm containerGa) {
-		if(containerGa.getHeight() == JPAEditorConstants.ENTITY_MIN_HEIGHT){
-			peUtil.setPropertyValue(containerShape, JPAEditorConstants.COLLAPSE_FEATURES, String.valueOf(JPAEditorConstants.ENTITY_MIN_HEIGHT));
-		}
-		else if(containerGa.getHeight()>JPAEditorConstants.ENTITY_MIN_HEIGHT){
-			peUtil.removeProperty(containerShape, JPAEditorConstants.COLLAPSE_FEATURES);
-		}
-	}
-
-	private boolean layoutContainerEntityChildren(boolean anythingChanged,
-			int containerWidth, Shape shape) {
-		GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm();
-		IDimension size = Graphiti.getGaService().calculateSize(graphicsAlgorithm);
-		if (containerWidth != size.getWidth()) {
-			if (graphicsAlgorithm instanceof Polyline) {
-				anythingChanged = layoutPolyline(containerWidth,
-						graphicsAlgorithm);
-			} else if (graphicsAlgorithm instanceof Rectangle) {
-				
-				Rectangle rect = (Rectangle) graphicsAlgorithm;
-				List<GraphicsAlgorithm> gra = rect.getGraphicsAlgorithmChildren();
-				Iterator<GraphicsAlgorithm> it = gra.iterator();
-				while (it.hasNext()) {
-					GraphicsAlgorithm gr = it.next();
-					if (gr instanceof Image){
-						layoutHeaderIcon(shape, graphicsAlgorithm);
-					}
-					else if (gr instanceof Text) {
-						Text txt = (Text) gr;
-						if(!txt.getFont().isItalic()){
-						    layoutHeaderText(containerWidth, graphicsAlgorithm, gr);
-						}else{
-							layoutAttributesGroups(anythingChanged, gr, containerWidth);
-						}
-					}					
-				}
-				anythingChanged = true;
-			} 
-		}
-		return anythingChanged;
-	}
-
-	private void layoutHeaderText(int containerWidth,
-			GraphicsAlgorithm graphicsAlgorithm, GraphicsAlgorithm gr) {
-		Graphiti.getGaService().setWidth(graphicsAlgorithm,
-						containerWidth - JPAEditorConstants.HEADER_TEXT_RECT_WIDTH_REDUCER);
-		Graphiti.getGaService().setWidth(gr, containerWidth - JPAEditorConstants.HEADER_TEXT_RECT_WIDTH_REDUCER);
-	}
-
-	private void layoutHeaderIcon(Shape shape,
-			GraphicsAlgorithm graphicsAlgorithm) {
-		GraphicsAlgorithm headerIconGraphicsAlg = shape
-				.getGraphicsAlgorithm();
-		Graphiti.getGaService().setWidth(graphicsAlgorithm, JPAEditorConstants.HEADER_ICON_RECT_WIDTH);
-		Graphiti.getGaService().setWidth(headerIconGraphicsAlg, JPAEditorConstants.HEADER_ICON_RECT_HEIGHT);
-	}
-
-	private boolean layoutPolyline(int containerWidth,
-			GraphicsAlgorithm graphicsAlgorithm) {
-		boolean anythingChanged;
-		Polyline headerBottomLine = (Polyline) graphicsAlgorithm;
-		Point secondPoint = headerBottomLine.getPoints().get(1);
-		Point newSecondPoint = Graphiti.getGaService().createPoint(/* headerBottomLine, */
-				containerWidth, secondPoint.getY());
-		headerBottomLine.getPoints().set(1, newSecondPoint);
-		anythingChanged = true;
-		return anythingChanged;
-	}
-
-	private void layoutAttributesGroups(boolean anythingChanged, GraphicsAlgorithm graphicsAlgorithm,
-			int containerWidth) {
-		ContainerShape containerShape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(graphicsAlgorithm);
-		layoutConcreteCompartmentShape(anythingChanged, containerShape, containerWidth);
-	}
-
-	private void layoutConcreteCompartmentShape(boolean anythingChanged, ContainerShape containerShape,
-			int containerWidth) {
-
-		layoutCompartmentShape(containerShape, containerWidth);
-
-		Iterator<Shape> iter = containerShape.getChildren().iterator();
-		while(iter.hasNext()) {
-			Shape shape = iter.next();
-			GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm();
-			if (graphicsAlgorithm instanceof Rectangle) {
-				Rectangle rect = (Rectangle) graphicsAlgorithm;
-				List<GraphicsAlgorithm> gra = rect.getGraphicsAlgorithmChildren();
-				if(gra.isEmpty()){
-					Graphiti.getGaService().setWidth(graphicsAlgorithm, containerWidth);
-				}
-				Iterator<GraphicsAlgorithm> it = gra.iterator();
-				while (it.hasNext()) {
-					GraphicsAlgorithm gr = it.next();
-					if (gr instanceof Image) {
-						layoutAttributeIcon(shape, graphicsAlgorithm);
-					}
-					if (gr instanceof Text) {
-						layoutAttributeText(containerWidth, graphicsAlgorithm, gr);
-					}
-				}
-				anythingChanged = true;
-			} 
-		}
-	}
-
-	private void layoutAttributeText(int containerWidth,
-			GraphicsAlgorithm graphicsAlgorithm, GraphicsAlgorithm gr) {
-		Graphiti.getGaService().setWidth(graphicsAlgorithm,
-						containerWidth - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
-		Graphiti.getGaService().setWidth(gr,
-						containerWidth - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
-	}
-
-	private void layoutAttributeIcon(Shape shape,
-			GraphicsAlgorithm graphicsAlgorithm) {		
-		GraphicsAlgorithm headerIconGraphicsAlg = shape.getGraphicsAlgorithm();
-		Graphiti.getGaService().setWidth(graphicsAlgorithm,JPAEditorConstants.ICON_RECT_WIDTH);
-		Graphiti.getGaService().setWidth(headerIconGraphicsAlg, JPAEditorConstants.ICON_RECT_WIDTH);
-	}
-
-	private void layoutCompartmentShape(ContainerShape containerShape,
-			int containerWidth) {
-		GraphicsAlgorithm graphic = containerShape.getGraphicsAlgorithm();
-		List<GraphicsAlgorithm> graphics = graphic.getGraphicsAlgorithmChildren();
-		Iterator<GraphicsAlgorithm> iterator = graphics.iterator();
-		while (iterator.hasNext()) {
-			GraphicsAlgorithm graphicsAlgorithm = iterator.next();
-			Graphiti.getGaService().setWidth(graphic, containerWidth);
-			Graphiti.getGaService().setWidth(graphicsAlgorithm, containerWidth);
-		}
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveAttributeFeature.java
deleted file mode 100644
index fd9e639..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveAttributeFeature.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IMoveShapeContext;
-import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature;
-
-/*
- * The attribute shapes (residing within the entity shapes) 
- * are NOT supposed to be moveable (at least - not by 
- * drag-and-drop). The only purpose of this class is to 
- * disable this ability
- * 
- */
-
-public class MoveAttributeFeature extends DefaultMoveShapeFeature {
-	public MoveAttributeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-    public boolean canMoveShape(IMoveShapeContext context) {
-        return false;
-    }
-    
-    
-    public boolean canExecute(IContext context) {
-        return false;
-    }
-
-    
-    public boolean isAvailable(IContext context) {
-    	return false;
-    }	
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityFeature.java
deleted file mode 100644
index 9fbf3ca..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityFeature.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-@SuppressWarnings("restriction")
-public class MoveEntityFeature extends RefactorEntityFeature {	
-	
-	public MoveEntityFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	public void execute(ICustomContext context) {
-		ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
-		IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
-		ReorgMoveAction action = new ReorgMoveAction(ws);
-		execute(context, action, cu);
-	}
-	
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.MoveEntityFeature_ContextMenuOperationDescription;
-	}
-	
-		
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityShapeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityShapeFeature.java
deleted file mode 100644
index 4d167a7..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityShapeFeature.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IMoveShapeContext;
-import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class MoveEntityShapeFeature extends DefaultMoveShapeFeature {
-
-	public MoveEntityShapeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	protected void moveAllBendpoints(IMoveShapeContext context) {
-	}
-	
-	protected void postMoveShape(IMoveShapeContext context) {
-		ContainerShape cs = (ContainerShape)context.getShape();
-		JPAEditorUtil.rearrangeAllConnections(cs, getFeatureProvider(), false);
-		Collection<ContainerShape> css = JPAEditorUtil.getRelatedShapes(cs);
-		Iterator<ContainerShape> csIt = css.iterator();
-		while (csIt.hasNext()) {
-			ContainerShape cs1 = csIt.next();
-			JPAEditorUtil.rearrangeAllConnections(cs1, getFeatureProvider(), true);
-		}
-	}	
-	
-		@Override
-	 	protected void internalMove(final IMoveShapeContext context) {
-	 		PictogramElement el = context.getPictogramElement();
-	 		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(el);
-	 		ted.getCommandStack().execute(new RecordingCommand(ted) {
-	 			protected void doExecute() {
-	 			   move(context);
-	 			}
-	 		});
-	 	}
-	 	
-	 	public void move(IMoveShapeContext context){
-	 		super.internalMove(context);
-	 	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenJPADetailsViewFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenJPADetailsViewFeature.java
deleted file mode 100644
index e6f881c..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenJPADetailsViewFeature.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-
-public class OpenJPADetailsViewFeature extends AbstractCustomFeature {
-	
-	public OpenJPADetailsViewFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}	
-	
-	public void execute(ICustomContext context) {
-		try {
-			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().
-					showView(JPAEditorConstants.ID_VIEW_JPA_DETAILS);
-		} catch (PartInitException e) {
-			JPADiagramEditorPlugin.logError("Can't open JPA Details view", e);  //$NON-NLS-1$		 	
-		}
-	}
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_openJPADetailsView;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenMiniatureViewFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenMiniatureViewFeature.java
deleted file mode 100644
index bcd7856..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenMiniatureViewFeature.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-
-public class OpenMiniatureViewFeature extends AbstractCustomFeature {
-	
-	public OpenMiniatureViewFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}	
-	
-	public void execute(ICustomContext context) {
-		try {
-			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().
-					showView(JPAEditorConstants.ID_VIEW_MINIATURE);
-		} catch (PartInitException e) {
-			JPADiagramEditorPlugin.logError("Can't open Miniature view", e);  //$NON-NLS-1$		 			
-		}
-	}
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_openMiniatureView;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorAttributeTypeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorAttributeTypeFeature.java
deleted file mode 100644
index c5c4387..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorAttributeTypeFeature.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-import java.util.List;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.dialog.SelectTypeDialog;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public class RefactorAttributeTypeFeature extends AbstractCustomFeature {
-
-	//private static final TracerI tracer = TracingManager.getTracer(RefactorAttributeTypeFeature.class);				
-	
-	public RefactorAttributeTypeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-			
-	
-	public void execute(ICustomContext context) {
-		PictogramElement pe = context.getPictogramElements()[0];
-		Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-		if ((bo == null) || (!(bo instanceof JavaPersistentAttribute)))
-				return;
-		JavaPersistentAttribute jpa = (JavaPersistentAttribute)bo;
-		String typeName = JPAEditorUtil.getAttributeTypeNameWithGenerics(jpa);
-		String msg = MessageFormat.format(JPAEditorMessages.SelectTypeDialog_chooseAttributeTypeDialogText, 
-				jpa.getName(), JPAEditorUtil.returnSimpleName(((PersistentType)jpa.getParent()).getName()));		
-		SelectTypeDialog d = new SelectTypeDialog(msg, typeName);
-		if (d.open() != IDialogConstants.OK_ID)
-			return;
-		String newTypeName = d.getTypeName();
-		String[] attributeTypeTypeNames = JPAEditorUtil.getGenericsElementTypes(newTypeName);
-		if (attributeTypeTypeNames != null)
-			newTypeName = newTypeName.substring(0, newTypeName.indexOf('<')).trim();
-		
-		getFeatureProvider().addAddIgnore((JavaPersistentType)jpa.getParent(), jpa.getName());
-		JavaResourceAttribute jra = jpa.getResourceAttribute();
-		getFeatureProvider().addRemoveIgnore((JavaPersistentType)jpa.getParent(), jra.getName());
-		boolean isMethodAnnotated = jra.getKind() == Kind.METHOD;
-
-		List<String> annotations = JpaArtifactFactory.instance().getAnnotationStrings(jpa);
-		JpaArtifactFactory.instance().deleteAttribute((JavaPersistentType)jpa.getParent(), jpa.getName(),
-				getFeatureProvider());		
-		JavaPersistentAttribute newAt = JpaArtifactFactory.instance().createANewAttribute((JavaPersistentType)jpa.getParent(),
-				jpa.getName(), newTypeName, attributeTypeTypeNames, jpa.getName(), annotations,
-				false, isMethodAnnotated, getFeatureProvider());
-		getFeatureProvider().replaceAttribute(jpa, newAt);
-        IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
-        ICompilationUnit cu = getFeatureProvider().getCompilationUnit((JavaPersistentType)newAt.getParent());
-        getFeatureProvider().getJPAEditorUtil().formatCode(cu, ws);					
-		JpaArtifactFactory.instance().remakeRelations(getFeatureProvider(), 
-				((Shape)pe).getContainer(), (JavaPersistentType)newAt.getParent());
-	}
-	
-	@Override
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.RefactorAttributeTypeFeature_ContextMenuOperationDescription;
-	}
-	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorEntityFeature.java
deleted file mode 100644
index c9e4c14..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorEntityFeature.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.ui.actions.SelectionDispatchAction;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jpt.common.core.JptResourceModel;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.utility.model.event.CollectionAddEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionClearEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionRemoveEvent;
-import org.eclipse.jpt.common.utility.model.listener.CollectionChangeListener;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.java.OwnableRelationshipMappingAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.AddEntityContext;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-
-
-public abstract class RefactorEntityFeature extends AbstractCustomFeature {
-
-	protected JavaPersistentType jpt = null;
-	protected Set<JavaPersistentAttribute> ats = null;
-	protected boolean hasNameAnnotation = false;
-
-	public RefactorEntityFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	@Override
-	public boolean isAvailable(IContext context) {
-    	if (!(context instanceof ICustomContext))
-    		return false;
-    	ICustomContext ctx = (ICustomContext)context;
-    	PictogramElement pe = ctx.getInnerPictogramElement();
-    	Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-    	if (bo instanceof JavaPersistentType) {
-    		jpt = (JavaPersistentType)bo;
-    		hasNameAnnotation = JpaArtifactFactory.instance().hasNameAnnotation(jpt);
-    		return true;
-    	}
-    	if (pe instanceof Shape) {
-    		ContainerShape cs = ((Shape)pe).getContainer();
-    		if (cs == null)
-    			return false;
-     		bo = getFeatureProvider().getBusinessObjectForPictogramElement(cs);
-        	if (bo instanceof JavaPersistentType) {
-        		jpt = (JavaPersistentType)bo;
-        		hasNameAnnotation = JpaArtifactFactory.instance().hasNameAnnotation(jpt);
-        		return true;
-        	}
-    	}    	
-		return false;
-	}
-	
-	@Override
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-	
-	public void execute(ICustomContext context, SelectionDispatchAction action, ICompilationUnit cu) {
-		StructuredSelection sel = new StructuredSelection(cu);
-		final Shape pict = (Shape)getFeatureProvider().getPictogramElementForBusinessObject(jpt);
-		JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().
-									getBusinessObjectForPictogramElement(pict);
-		final PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpt);
-		final Semaphore s = new Semaphore(0);
-		final JPAProjectListener lsnr = new JPAProjectListener(s);
-		jpt.getJpaProject().addCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
-		ShowBusy showBusy = new ShowBusy(s);
-		JPASolver.ignoreEvents = true;
-		final String oldName = jpt.getName();
-		
-		try {
-			action.run(sel);
-		} catch (Exception e) {} 
-		BusyIndicator.showWhile(Display.getCurrent(), showBusy);
-		jpt.getJpaProject().removeCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
-		JPASolver.ignoreEvents = false;
-		final boolean rename = RenameEntityFeature.class.isInstance(this);
-		
-		if (!showBusy.isMoved()) 
-			return;
-		
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pict);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			@Override
-			protected void doExecute() {
-				remapEntity(oldName, pict, pu, rename, lsnr, getFeatureProvider());
-			}
-		});	
-	}
-	
-	public void execute(ICustomContext context, String newName, ICompilationUnit cu, JavaPersistentType jpt) {
-		final String oldName = jpt.getName();
-		final Shape pict = (Shape)getFeatureProvider().getPictogramElementForBusinessObject(jpt);
-		jpt = (JavaPersistentType)getFeatureProvider().
-									getBusinessObjectForPictogramElement(pict);		
-		final PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpt);
-		final Semaphore s = new Semaphore(0);
-		final JPAProjectListener lsnr = new JPAProjectListener(s);
-		jpt.getJpaProject().addCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
-		ShowBusy showBusy = new ShowBusy(s);
-		JPASolver.ignoreEvents = true;
-		JpaArtifactFactory.instance().renameEntityClass(jpt, newName, getFeatureProvider());		
-		BusyIndicator.showWhile(Display.getCurrent(), showBusy);
-		jpt.getJpaProject().removeCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
-		JPASolver.ignoreEvents = false;		
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pict);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			@Override
-			protected void doExecute() {
-				remapEntity(oldName, pict, pu, true, lsnr, getFeatureProvider());
-			}
-		});
-	}
-	
-	public static void remapEntity(final String oldName,
-								   final Shape pict,
-								   final PersistenceUnit pu,
-								   final boolean rename,
-								   final JPAProjectListener lsnr,
-								   final IJPAEditorFeatureProvider fp) {
-		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
-			public void run() {
-				// TODO figure out why this was necessary:
-				// pu.getJpaProject().updateAndWait();
-				final int x = pict.getGraphicsAlgorithm().getX();
-				final int y = pict.getGraphicsAlgorithm().getY();
-				final int width = pict.getGraphicsAlgorithm().getWidth();
-				final int height = pict.getGraphicsAlgorithm().getHeight();		
-				
-				final ContainerShape cs = Graphiti.getPeService().createContainerShape(fp.getDiagramTypeProvider().getDiagram(), 
-						true);
-				cs.setVisible(true);
-				
-				AddContext cont = new AddContext();
-				cont.setX(x);
-				cont.setY(y);
-				cont.setWidth(width);
-				cont.setHeight(height);
-				RoundedRectangle rect = AddJPAEntityFeature.createEntityRectangle(cont, cs, fp.getDiagramTypeProvider().getDiagram()); 	
-				rect.setFilled(true);
-				
-				IRemoveContext ctx = new RemoveContext(pict); 
-				RemoveJPAEntityFeature ft = new RemoveJPAEntityFeature(fp);
-				
-				boolean primaryCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.PRIMARY_COLLAPSED));
-				boolean relationCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.RELATION_COLLAPSED));
-				boolean basicCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.BASIC_COLLAPSED));
-
-				AddEntityContext addCtx = new AddEntityContext(primaryCollapsed, relationCollapsed, basicCollapsed);
-				String newJPTName = lsnr.getNewJPTName();
-				
-				JavaPersistentType newJPT = JpaArtifactFactory.instance().getJPT(newJPTName, pu);
-				if (!JptJpaCorePlugin.discoverAnnotatedClasses(newJPT.getJpaProject().getProject())) {
-					JPAEditorUtil.createUnregisterEntityFromXMLJob(newJPT.getJpaProject(), oldName);
-				}									
-				if (rename) {
-					String tableName = JPAEditorUtil.formTableName(newJPT);
-					JpaArtifactFactory.instance().setTableName(newJPT, tableName);
-				}
-				addCtx.setNewObject(newJPT);
-				addCtx.setTargetContainer(fp.getDiagramTypeProvider().getDiagram());
-				addCtx.setX(x);
-				addCtx.setY(y);
-				addCtx.setWidth(width);
-				addCtx.setHeight(height);
-				AddJPAEntityFeature ft1 = new AddJPAEntityFeature(fp);
-				ft.remove(ctx);
-				ft1.add(addCtx);
-				PictogramElement pe = fp.getPictogramElementForBusinessObject(newJPT);
-				fp.getDiagramTypeProvider().getDiagramEditor().setPictogramElementForSelection(pe);
-				Graphiti.getPeService().deletePictogramElement(cs);	
-				
-				JpaArtifactFactory.instance().refreshEntityModel(fp, newJPT);
-				if (!JptJpaCorePlugin.discoverAnnotatedClasses(newJPT.getJpaProject().getProject())) {
-					JPAEditorUtil.createRegisterEntityInXMLJob(newJPT.getJpaProject(), newJPTName);
-				}
-			}
-		});
-		
-	}
-	
-	
-	
-	@Override
-	protected Diagram getDiagram() {
-		return getFeatureProvider().getDiagramTypeProvider().getDiagram();
-	}	
-	
-	@Override
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-	
-	class ShowBusy implements Runnable {
-		private Semaphore s;
-		boolean moved = false;
-		ShowBusy(Semaphore s) {
-			this.s = s;
-		}
-		
-		public void run() {
-			try {
-				moved = s.tryAcquire(2, 4, TimeUnit.SECONDS);
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError("Thread interrupted", e);  //$NON-NLS-1$		 							
-			}
-		}
-
-		boolean isMoved() {
-			return moved;
-		}		
-	}
-	
-	public class JPAProjectListener implements CollectionChangeListener {
-		private Semaphore s = null;
-		private String newJptName = null;
-		
-		public JPAProjectListener(Semaphore s) {
-			this.s = s;
-		}
-						
-		public void itemsAdded(CollectionAddEvent event) {
-			Iterator<?> it = event.getItems().iterator();
-			Object o = it.next();
-			JpaFile jpaFile = (JpaFile)o;
-			
-			JptResourceModel rm = jpaFile.getResourceModel();
-			if (rm == null)
-				return;
-			if (!JavaResourceCompilationUnit.class.isInstance(rm))
-				return;
-			JavaResourceCompilationUnit jrcu = (JavaResourceCompilationUnit)rm;
-			JavaResourceAbstractType jrt = jrcu.getPrimaryType();		
-			newJptName = jrt.getQualifiedName();
-			s.release();
-			if ((ats == null) || hasNameAnnotation)
-				return;
-			final Iterator<JavaPersistentAttribute> iter = ats.iterator();
-			Runnable r = new Runnable() {
-				public void run() {
-					Hashtable<String, String> atOldToNewName = new Hashtable<String, String>();
-					Set<JavaPersistentAttribute> newSelfAts = new HashSet<JavaPersistentAttribute>();
-					while (iter.hasNext()) {
-						JavaPersistentAttribute at = iter.next();
-						ICompilationUnit cu = getFeatureProvider().getCompilationUnit((JavaPersistentType) at.getParent());
-						if (!cu.exists()) {
-							at = (JavaPersistentAttribute)at.getPersistenceUnit().getPersistentType(newJptName).getAttributeNamed(at.getName());
-							JavaPersistentAttribute newAt = null;
-							try {
-								newAt = JpaArtifactFactory.instance().renameAttribute(at, JPAEditorUtil.returnSimpleName(newJptName), newJptName, getFeatureProvider());
-							} catch (InterruptedException e) {
-								JPADiagramEditorPlugin.logError(e);
-							}
-							atOldToNewName.put(at.getName(), newAt.getName());
-							newSelfAts.add(newAt);
-						} else {
-							try {
-								JpaArtifactFactory.instance().renameAttribute(at, JPAEditorUtil.returnSimpleName(newJptName), newJptName, getFeatureProvider());
-							} catch (InterruptedException e) {
-								JPADiagramEditorPlugin.logError(e);
-							}
-						}
-					}
-					Iterator<JavaPersistentAttribute> itr =  newSelfAts.iterator();
-					while (itr.hasNext()) {
-						JavaPersistentAttribute at = itr.next();
-						JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)at.getParent());
-						JavaAttributeMapping m = at.getMapping();
-						Annotation mappingAnnotation = m.getMappingAnnotation();
-											
-						if(mappingAnnotation == null){
-							JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), (JavaPersistentType)at.getParent());
-							mappingAnnotation = m.getMappingAnnotation();
-						}	
-						if (mappingAnnotation == null)
-							return;
-						if (OwnableRelationshipMappingAnnotation.class.isInstance(mappingAnnotation)) {
-							OwnableRelationshipMappingAnnotation ownableMappingAnnotation = (OwnableRelationshipMappingAnnotation)mappingAnnotation;
-							String oldMappedBy = ownableMappingAnnotation.getMappedBy();
-							if (oldMappedBy != null) {
-								String newMappedBy = atOldToNewName.get(oldMappedBy);
-								if (newMappedBy != null)
-									ownableMappingAnnotation.setMappedBy(newMappedBy);
-							}
-						}
-					}
-					
-				}				
-			};
-			Display.getDefault().asyncExec(r);
-		}
-
-		public void itemsRemoved(CollectionRemoveEvent arg0) {
-			s.release();
-		}
-
-		public void collectionChanged(CollectionChangeEvent event) {
-		}
-		
-		public void collectionCleared(CollectionClearEvent arg0) {}
-		
-		public String getNewJPTName() {
-			return newJptName;
-		}
-		
-
-	};
-	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAllEntitiesFeature.java
deleted file mode 100644
index f1225ab..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAllEntitiesFeature.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-
-public abstract class RemoveAllEntitiesFeature extends AbstractCustomFeature {
-
-	protected Set<Shape> allShapes = new HashSet<Shape>();
-	
-	public RemoveAllEntitiesFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	public abstract String getConfirmationText();
-
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-	
-	public void execute(ICustomContext context) {
-		Iterator<Shape> it = allShapes.iterator();
-		while (it.hasNext()) {
-			Shape sh = it.next();
-			final RemoveJPAEntityFeature ft = new RemoveJPAEntityFeature(this.getFeatureProvider());
-			final IRemoveContext ctx = new RemoveContext(sh);
-			PictogramElement pe = ctx.getPictogramElement();
-			
-			TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
-			ted.getCommandStack().execute(new RecordingCommand(ted) {
-				@Override
-				protected void doExecute() {
-					ft.remove(ctx);
-				}
-			});
-		}
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAndSaveEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAndSaveEntityFeature.java
deleted file mode 100644
index b70aaa5..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAndSaveEntityFeature.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.impl.DefaultRemoveFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-
-
-public class RemoveAndSaveEntityFeature extends DefaultRemoveFeature {
-	
-    public RemoveAndSaveEntityFeature(IFeatureProvider fp) {
-    	super(fp);
-    }
-    
-    public void preRemove(IRemoveContext context) {
-    	PictogramElement pe = context.getPictogramElement();
-    	Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-    	Set<Shape> shapesForDeletion = new HashSet<Shape>();
-    	if (bo instanceof PersistentType) {
-    		IFeatureProvider fp = getFeatureProvider();
-    		List<Shape> lst = ((ContainerShape)pe).getChildren();
-    		for (int i = lst.size() - 1; i >= 0; i--) {
-    			Shape textShape = lst.get(i);
-    			Object o = fp.getBusinessObjectForPictogramElement(textShape);
-    			if ((o != null) && (o instanceof JavaPersistentAttribute)) {
-    				shapesForDeletion.add(textShape);
-    			}
-    		}
-    		Iterator<Shape> it = shapesForDeletion.iterator();
-    		while(it.hasNext()) {
-				RemoveAttributeFeature f = new RemoveAttributeFeature(fp, false, true);
-				IRemoveContext ctx = new RemoveContext(it.next());
-				f.remove(ctx);    			
-    		}
-    		getFeatureProvider().remove(((PersistentType)bo).getName(), true); 
-    	} 			
-    }
-    
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAttributeFeature.java
deleted file mode 100644
index 055d602..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAttributeFeature.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.features.impl.DefaultRemoveFeature;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class RemoveAttributeFeature extends DefaultRemoveFeature {
-
-	private boolean skipRemoveRelations = false;
-	private boolean skipCreateRelations = false;
-	private JavaPersistentType jpt = null;
-	private ICustomFeature graphicalRemove;
-
-	public RemoveAttributeFeature(IFeatureProvider fp) {
-		this(fp, new GraphicalRemoveAttributeFeature(fp));
-	}
-
-	public RemoveAttributeFeature(IFeatureProvider fp, boolean skipRemoveRelations, boolean skipCreateRelations) {
-		this(fp);
-		this.skipRemoveRelations = skipRemoveRelations;
-		this.skipCreateRelations = skipCreateRelations;
-	}
-
-	public RemoveAttributeFeature(IFeatureProvider fp, ICustomFeature graphicalRemove) {
-		super(fp);
-		this.graphicalRemove = graphicalRemove;
-	}
-
-	public void setKey(String key) {
-	}
-
-	public boolean isAvailable(IContext context) {
-		return false;
-	}
-
-	public boolean canExecute(IContext context) {
-		return false;
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-
-	public void preRemove(IRemoveContext context) {
-		final PictogramElement pe = context.getPictogramElement();
-		if (pe == null) {
-			JPADiagramEditorPlugin.logError("PictogramElement is null\n", new Exception());  //$NON-NLS-1$		 							
-			return;
-		}
-		IJPAEditorFeatureProvider fp = getFeatureProvider();
-		Object bo = fp.getBusinessObjectForPictogramElement(pe);
-		if(bo == null)
-			return;
-		
-		if (bo instanceof JavaPersistentAttribute) {
-			JavaPersistentAttribute jpa = (JavaPersistentAttribute) bo;
-			
-			HashSet<String> ignores = ((JPAEditorFeatureProvider) getFeatureProvider()).getAddIgnore();
-			if (!ignores.isEmpty()) {
-				Iterator<String> iter = ignores.iterator();
-				if (iter.hasNext()) {
-					String iterStr = iter.next();
-					if (iterStr.endsWith(jpa.getName())) {
-						ignores.remove(iterStr);
-					}
-				}
-			}
-			
-			jpt = (JavaPersistentType)jpa.getParent();
-			fp.remove(fp.getKeyForBusinessObject(bo));
-			if (!skipRemoveRelations) {
-				IRelation rel = fp.getRelationRelatedToAttribute(jpa);
-				removeRelation(rel);
-			}
-		}
-
-		ContainerShape entityShape = ((ContainerShape) pe).getContainer().getContainer();
-		try{
-		graphicalRemoveAttribute(entityShape);
-		} catch (Exception e){
-			JPADiagramEditorPlugin.logError(e); 
-		}
-	}
-
-	private void graphicalRemoveAttribute(PictogramElement pe) {
-		CustomContext customContext = new CustomContext();
-		customContext.setInnerPictogramElement(pe);
-		graphicalRemove.execute(customContext);
-	}
-
-	private void removeRelation(IRelation rel) {
-		if (rel == null)
-			return;
-		Connection conn = (Connection) getFeatureProvider().getPictogramElementForBusinessObject(rel);
-		RemoveContext ctx = new RemoveContext(conn);
-		RemoveRelationFeature ft = new RemoveRelationFeature(getFeatureProvider());
-		ft.remove(ctx);
-	}
-
-	public void postRemove(IRemoveContext context) {
-		if (skipCreateRelations)
-			return;
-		if (jpt == null)
-			return;
-		JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), jpt);
-
-		Collection<IRelation> rels = JpaArtifactFactory.instance()
-				.produceAllRelations(jpt, getFeatureProvider());
-		Iterator<IRelation> iter = rels.iterator();
-		while (iter.hasNext()) {
-			IRelation rel = iter.next();
-			ContainerShape ownerShape = (ContainerShape) getFeatureProvider().getPictogramElementForBusinessObject(
-					rel.getOwner());
-			ContainerShape inverseShape = (ContainerShape) getFeatureProvider().getPictogramElementForBusinessObject(
-					rel.getInverse());
-			AddConnectionContext cntx = new AddConnectionContext(JPAEditorUtil.getAnchor(ownerShape), JPAEditorUtil
-					.getAnchor(inverseShape));
-			cntx.setNewObject(rel);
-			AddRelationFeature ft = new AddRelationFeature(getFeatureProvider());
-			ft.add(cntx);
-//			JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), jpt);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveJPAEntityFeature.java
deleted file mode 100644
index e188f07..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveJPAEntityFeature.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.impl.DefaultRemoveFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.PlatformUI;
-
-
-public class RemoveJPAEntityFeature extends DefaultRemoveFeature {
-	
-	
-    public RemoveJPAEntityFeature(IFeatureProvider fp) {
-    	super(fp);
-    }
-    
-    public void preRemove(IRemoveContext context) {
-    	PictogramElement pe = context.getPictogramElement();
-    			
-//		RestoreEntityFeature ft = new RestoreEntityFeature(getFeatureProvider());
-//		ICustomContext customContext = new CustomContext(new PictogramElement[] { pe });
-//		ft.execute(customContext);
-    	
-    	final Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-    	Set<Shape> shapesForDeletion = new HashSet<Shape>();
-    	if (bo instanceof JavaPersistentType) {
-    		JavaPersistentType jpt = (JavaPersistentType)bo;
-    		JpaArtifactFactory.instance().restoreEntityClass(jpt, getFeatureProvider());    		
-    		IFeatureProvider fp = getFeatureProvider();
-    		List<Shape> lst = ((ContainerShape)pe).getChildren();
-    		for (int i = lst.size() - 1; i >= 0; i--) {
-    			Shape textShape = lst.get(i);
-    			Object o = fp.getBusinessObjectForPictogramElement(textShape);
-    			if ((o != null) && (o instanceof JavaPersistentAttribute)) {
-    				shapesForDeletion.add(textShape);
-    			}
-    		}
-    		Iterator<Shape> it = shapesForDeletion.iterator();
-    		while(it.hasNext()) {
-				RemoveAttributeFeature f = new RemoveAttributeFeature(fp, false, true);
-				IRemoveContext ctx = new RemoveContext(it.next());
-				f.remove(ctx);    			
-    		}
-    		//---------------------------------------------------------------------
-    		//--Workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=281345
-    		//Job job = new Job("Remove JPA entity") {				//$NON-NLS-1$
-			//	protected IStatus run(IProgressMonitor monitor) {
-		    		String name = ((PersistentType)bo).getName();
-					getFeatureProvider().remove(name, true);
-					//return new Status(IStatus.OK, 
-					//	  JPADiagramEditorPlugin.PLUGIN_ID, 
-					//	  name + " is removed"); 	//$NON-NLS-1$
-									  
-			//	}
-    		//};
-    		//job.schedule();
-    		//---------------------------------------------------------------------
-    	} 			
-    }
-    
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-
-	
-	public void execute(IContext ctx) {
-		if (!IRemoveContext.class.isInstance(ctx)) 
-			return;
-		IRemoveContext context = (IRemoveContext)ctx; 
-    	PictogramElement pe = context.getPictogramElement();
-    	Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-    	if (!JavaPersistentType.class.isInstance(bo))
-    		return;
-    	JavaPersistentType jpt = (JavaPersistentType)bo;
-		if (JPAEditorUtil.isEntityOpenElsewhere(jpt, true)) {
-			String shortEntName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
-			String message = NLS.bind(JPAEditorMessages.RemoveJPAEntityFeature_discardWarningMsg, shortEntName);
-			MessageDialog dialog = new MessageDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
-					JPAEditorMessages.JPASolver_closeEditors, null, message,
-			MessageDialog.WARNING, new String[]{JPAEditorMessages.BTN_OK, JPAEditorMessages.BTN_CANCEL}, 0) {
-				protected int getShellStyle() {
-					return SWT.CLOSE 
-					| SWT.TITLE | SWT.BORDER
-					| SWT.APPLICATION_MODAL
-					| getDefaultOrientation();}};
-			if (dialog.open() != 0)	
-				return;    			
-		}		
-		super.execute(context);
-	}
-	
-	
-	
-
-	
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveRelationFeature.java
deleted file mode 100644
index 6f73e1d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveRelationFeature.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.IRemoveFeature;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.impl.AbstractFeature;
-import org.eclipse.graphiti.internal.Messages;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-
-
-@SuppressWarnings("restriction")
-public class RemoveRelationFeature extends AbstractFeature implements IRemoveFeature {
-	
-	private static final String NAME = Messages.DefaultRemoveFeature_0_xfld;	
-
-	public RemoveRelationFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-    public boolean isAvailable(IContext context) {
-        return true;
-    }	
-
-    public boolean canRemove(IRemoveContext context) {
-    	return true;
-    }
-    
-    public boolean canExecute(IContext context) {
-    	return true;
-    }
-    
-    public void preRemove(IRemoveContext context) {
-    	PictogramElement pe = context.getPictogramElement();
-    	Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-    	if (bo instanceof AbstractRelation) {
-    		AbstractRelation rel = (AbstractRelation)bo;
-    		getFeatureProvider().remove(rel.getId());
-    	}    	
-    }    
-        
-	public final void remove(final IRemoveContext context) {
-		if (!getUserDecision()) {
-			return;
-		}
-		preRemove(context);
-		final PictogramElement pe = context.getPictogramElement();
-		if (pe == null) 
-			return;
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
-		RecordingCommand rc = new RecordingCommand(ted) {
-			protected void doExecute() {
-				if (pe instanceof Shape) {
-					Shape shape = (Shape) pe;
-					removeAllConnections(shape);
-				}
-				Graphiti.getPeService().deletePictogramElement(pe);
-				postRemove(context);
-			}
-		};
-		ted.getCommandStack().execute(rc);
-	}
-    
-	protected void removeAllConnections(Shape shape) {
-		IFeatureProvider featureProvider = getFeatureProvider();
-		for (Iterator<Anchor> iter = shape.getAnchors().iterator(); iter.hasNext();) {
-			Anchor anchor = iter.next();
-			for (Iterator<Connection> iterator = Graphiti.getPeService().getAllConnections(anchor).iterator(); iterator.hasNext();) {
-				Connection connection = iterator.next();
-				if (connection.eResource() != null) {
-					IRemoveContext rc = new RemoveContext(connection);
-					IRemoveFeature removeFeature = featureProvider.getRemoveFeature(rc);
-					if (removeFeature != null) {
-						ConnectionDecorator decorators[] = connection.getConnectionDecorators().toArray(new ConnectionDecorator[0]);
-						for (ConnectionDecorator decorator : decorators) {
-							if (decorator != null && (decorator.eResource() != null)) {
-								EcoreUtil.delete(decorator, true);
-							}
-						}
-						removeFeature.remove(rc);
-					}
-				}
-			}
-		}
-	}
-
-	public void postRemove(IRemoveContext context) {
-	}
-	
-	@Override
-	public String getName() {
-		return NAME;
-	}
-		
-    
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}    
-    
-
-	public void execute(IContext context) {
-		if (context instanceof IRemoveContext) {
-			remove((IRemoveContext)context);
-		}
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityFeature.java
deleted file mode 100644
index 1258cfa..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityFeature.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.ui.actions.RenameAction;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-
-public class RenameEntityFeature extends RefactorEntityFeature {
-
-	public RenameEntityFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public void execute(ICustomContext context) {
-		ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
-		IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
-		RenameAction action = new RenameAction(ws);
-		ats = JpaArtifactFactory.instance().getRelatedAttributes(jpt);
-		execute(context, action, cu);		
-	}
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.RenameEntityFeature_ContextMenuOperationDescription;
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityWithoutUIFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityWithoutUIFeature.java
deleted file mode 100644
index 928be7c..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityWithoutUIFeature.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class RenameEntityWithoutUIFeature extends RefactorEntityFeature {
-	
-	private String newName = null;
-
-	public RenameEntityWithoutUIFeature(IFeatureProvider fp, String newName) {
-		super(fp);
-		this.newName = newName;
-	}
-
-	public void execute(JavaPersistentType jpt) {
-		ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
-		ats = JpaArtifactFactory.instance().getRelatedAttributes(jpt);
-		execute(new CustomContext(), newName, cu, jpt);
-	}
-
-	public void execute(ICustomContext context) {
-		// not used
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeAttributeFeature.java
deleted file mode 100644
index 22308ab..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeAttributeFeature.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IResizeShapeContext;
-import org.eclipse.graphiti.features.impl.DefaultResizeShapeFeature;
-
-
-public class ResizeAttributeFeature  extends DefaultResizeShapeFeature {
-
-	public ResizeAttributeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-    public boolean canResizeShape(IResizeShapeContext context) {
-        return false;
-    }
-    
-    
-    public boolean canExecute(IContext context) {
-        return false;
-    }
-
-    
-    public boolean isAvailable(IContext context) {
-    	return false;
-    }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeJPAEntityFeature.java
deleted file mode 100644
index cbf59b9..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeJPAEntityFeature.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IResizeShapeContext;
-import org.eclipse.graphiti.features.impl.DefaultResizeShapeFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class ResizeJPAEntityFeature extends DefaultResizeShapeFeature {
-
-	public ResizeJPAEntityFeature(IFeatureProvider fp) {
-        super(fp);
-    }
-
-    @Override
-    public boolean canResizeShape(IResizeShapeContext context) {
-        boolean canResize = super.canResizeShape(context);
-        if (canResize) {
-        	Shape shape = context.getShape();
-            Object bo = getBusinessObjectForPictogramElement(shape);       	
-            if (bo == null) return false;
-            if (bo instanceof PersistentType) {
-            	PersistentType c = (PersistentType) bo;
-                if (c.getName() != null && 
-                		c.getName().length() == 1) {
-                    canResize = false;
-                }
-            }
-        }
-        return canResize;
-    }
-    
-	private void resizeContainerShape(IResizeShapeContext context) {
-		super.resizeShape(context);
-	}
-
-	public void resizeShape(final IResizeShapeContext context) {
-		final ContainerShape entityShape = (ContainerShape) context.getShape();
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(entityShape);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-				resizeContainerShape(context);
-				JPAEditorUtil.rearrangeAllConnections(entityShape,
-						getFeatureProvider(), false);
-			}
-		});
-	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return  (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}
-	
-    
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RestoreEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RestoreEntityFeature.java
deleted file mode 100644
index 60b6747..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RestoreEntityFeature.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.PlatformUI;
-
-
-public class RestoreEntityFeature extends AbstractCustomFeature {
-	
-	public RestoreEntityFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}
-	
-	public void execute(ICustomContext context) {
-		JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(context.getPictogramElements()[0]);
-		if (JPAEditorUtil.isEntityOpenElsewhere(jpt, true)) {
-			String shortEntName = JPAEditorUtil
-					.returnSimpleName(JpaArtifactFactory.instance()
-							.getEntityName(jpt));
-			String message = NLS.bind(
-					JPAEditorMessages.JPASolver_closeWarningMsg, shortEntName);
-			MessageDialog dialog = new MessageDialog(PlatformUI.getWorkbench()
-					.getActiveWorkbenchWindow().getShell(),
-					JPAEditorMessages.JPASolver_closeEditors, null, message,
-					MessageDialog.WARNING,
-					new String[] { JPAEditorMessages.BTN_OK }, 0) {
-				protected int getShellStyle() {
-					return SWT.CLOSE | SWT.TITLE | SWT.BORDER
-							| SWT.APPLICATION_MODAL | getDefaultOrientation();
-				}
-			};
-			dialog.open();
-			return;
-		}
-		JpaArtifactFactory.instance().restoreEntityClass(jpt, getFeatureProvider());		
-	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}	
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_discardChangesMenuItem;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveAndRemoveAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveAndRemoveAllEntitiesFeature.java
deleted file mode 100644
index 9665d51..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveAndRemoveAllEntitiesFeature.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.swt.widgets.Display;
-
-
-public class SaveAndRemoveAllEntitiesFeature extends RemoveAllEntitiesFeature {
-
-	public SaveAndRemoveAllEntitiesFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	public String getConfirmationText() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesConfirmation;
-	}
-	
-
-	public void execute(ICustomContext context) {
-		MessageDialog dlg = new MessageDialog(Display.getCurrent().getShells()[0], 
-				JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAllEntitiesMenu, 
-				null, getConfirmationText(), 0, 
-				new String[] {JPAEditorMessages.BTN_OK, JPAEditorMessages.BTN_CANCEL}, Dialog.CANCEL);
-		if (dlg.open() != Dialog.OK)
-			return;
-		Iterator<Shape> it = this.getDiagram().getChildren().iterator();
-		while (it.hasNext()) {
-			Shape sh = it.next();
-			SaveEntityFeature ft = new SaveEntityFeature(getFeatureProvider());
-			ICustomContext ctx = new CustomContext(new PictogramElement[] { sh });
-			ft.execute(ctx);
-			allShapes.add(sh);
-		}
-		super.execute(context);
-	}	
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.SaveAndRemoveAllEntitiesFeature_ContextMenuOperationDescription;
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveEntityFeature.java
deleted file mode 100644
index 0189647..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveEntityFeature.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class SaveEntityFeature extends AbstractCustomFeature {
-
-	public SaveEntityFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-	
-	public boolean canExecute(ICustomContext context) {
-		return true;
-	}	
-
-	public void execute(ICustomContext context) {
-		JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(context.getPictogramElements()[0]);
-		JpaArtifactFactory.instance().forceSaveEntityClass(jpt, getFeatureProvider());
-	}
-	
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider)super.getFeatureProvider();
-	}	
-	
-	@Override
-	public String getName() {
-		return JPAEditorMessages.JPAEditorToolBehaviorProvider_saveMenuItem;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/UpdateAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/UpdateAttributeFeature.java
deleted file mode 100644
index 853f916..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/UpdateAttributeFeature.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Color;
-import org.eclipse.graphiti.mm.algorithms.styles.Orientation;
-import org.eclipse.graphiti.mm.pictograms.AnchorContainer;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class UpdateAttributeFeature extends AbstractCustomFeature {
-
-	public UpdateAttributeFeature(IFeatureProvider fp) {
-		super(fp);
-	}
-
-	public void reconnect(JavaPersistentType jpt) {
-		IJPAEditorFeatureProvider fp = getFeatureProvider();
-		Collection<IRelation> rels = JpaArtifactFactory.instance().produceAllRelations(jpt, fp);
-		JpaArtifactFactory.instance().refreshEntityModel(fp, jpt);
-
-		Iterator<IRelation> it = rels.iterator();
-		while (it.hasNext()) {
-			IRelation rel = it.next();
-			AddRelationFeature relF = new AddRelationFeature(fp);
-			AnchorContainer acSource = (AnchorContainer) fp.getPictogramElementForBusinessObject(rel.getOwner());
-			AnchorContainer acTarget = (AnchorContainer) fp.getPictogramElementForBusinessObject(rel.getInverse());
-			if ((acSource != null) && (acTarget != null)) { 
-				AddConnectionContext ctx = new AddConnectionContext(acSource.getAnchors().iterator().next(), acTarget
-					.getAnchors().iterator().next());
-				ctx.setNewObject(rel);
-				relF.add(ctx);
-			}
-		}
-	}
-
-	/**
-	 * @deprecated use the {@link GraphicalRemoveAttributeFeature}
-	 */
-	public void execute(ICustomContext context) {
-		GraphicalRemoveAttributeFeature remove = new GraphicalRemoveAttributeFeature(getFeatureProvider());
-		remove.execute(context);
-	}
-
-	/**
-	 * @deprecated Use GraphicalAddAttributeFeature
-	 * @param entityShape
-	 * @param newAttr
-	 * @return
-	 */
-	public ContainerShape addAttributes(ContainerShape entityShape, JavaPersistentAttribute newAttr) {
-		AddContext context = new AddContext();
-		context.setNewObject(newAttr);
-		context.setTargetContainer(entityShape);
-		GraphicalAddAttributeFeature feature = new GraphicalAddAttributeFeature(getFeatureProvider());
-		return (ContainerShape) feature.add(context);
-	}
-
-	public IJPAEditorFeatureProvider getFeatureProvider() {
-		return (IJPAEditorFeatureProvider) super.getFeatureProvider();
-	}
-
-	public static Text addText(IFeatureProvider fp, Rectangle textRectangle, String txt) {
-		Text text = Graphiti.getGaService().createDefaultText(fp.getDiagramTypeProvider().getDiagram(), textRectangle, txt);
-		Color color = Graphiti.getGaService().manageColor(fp.getDiagramTypeProvider().getDiagram(),
-				JPAEditorConstants.ENTITY_TEXT_FOREGROUND);
-		text.setForeground(color);
-		text.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT);
-		text.setVerticalAlignment(Orientation.ALIGNMENT_TOP);
-		text.getFont().setBold(true);
-		return text;
-	}
-
-	public static Rectangle addRectangleForText(ContainerShape cs, int attribIndex, int width) {
-		Rectangle rect = Graphiti.getGaService().createRectangle(cs);
-		rect.setFilled(false);
-		rect.setLineVisible(false);
-		rect.setHeight(JPAEditorConstants.ATTRIBUTE_RECT_HEIGHT);
-		rect.setWidth(width - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
-		rect.setX(JPAEditorConstants.ATTRIBUTE_TEXT_RECT_X);
-		rect
-				.setY(JPAEditorConstants.ATTRIBUTES_TOP_OFFSET + attribIndex
-						* JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP);
-		return rect;
-	}
-
-	public static Rectangle addRectangleForIcon(ContainerShape cs, int attribIndex) {
-		Rectangle rect = Graphiti.getGaService().createRectangle(cs);
-		rect.setFilled(false);
-		rect.setLineVisible(false);
-		rect.setHeight(JPAEditorConstants.ICON_RECT_HEIGHT);
-		rect.setX(JPAEditorConstants.ICON_RECT_LEFT_OFFSET);
-		rect.setWidth(JPAEditorConstants.ICON_RECT_WIDTH);
-		rect
-				.setY(JPAEditorConstants.ATTRIBUTES_TOP_OFFSET + attribIndex
-						* JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP);
-		return rect;
-	}
-
-	public void addSeparatorsToShape(ContainerShape compartmentShape) {
-		addSeparatorToCollection(compartmentShape, 0);
-		addSeparatorToCollection(compartmentShape, JPAEditorConstants.COMPARTMENT_MIN_HEIGHT);
-	}
-
-	private Shape addSeparatorToCollection(ContainerShape containerShape, int y) {
-		final int width = containerShape.getGraphicsAlgorithm().getWidth();
-		Shape shape = Graphiti.getPeService().createShape(containerShape, false);
-		Rectangle rectangle = Graphiti.getGaService().createRectangle(shape);
-		rectangle.setForeground(manageColor(JPAEditorConstants.ENTITY_BACKGROUND));
-		rectangle.setBackground(manageColor(JPAEditorConstants.ENTITY_BORDER_COLOR));
-		rectangle.setLineVisible(false);
-		Graphiti.getGaService().setSize(rectangle, width, JPAEditorConstants.SEPARATOR_HEIGHT);
-		Graphiti.getGaService().setLocationAndSize(rectangle, 0, y, width, JPAEditorConstants.SEPARATOR_HEIGHT);
-		return shape;
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/JPAEditorMessages.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/JPAEditorMessages.java
deleted file mode 100644
index 14afdf1..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/JPAEditorMessages.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n;
-
-import org.eclipse.osgi.util.NLS;
-
-public class JPAEditorMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.messages"; //$NON-NLS-1$
-	
-	public static String AddJPAEntityFeature_basicAttributesShapes;
-
-	public static String AddJPAEntityFeature_primaryKeysShape;
-
-	public static String AddJPAEntityFeature_relationAttributesShapes;
-
-	public static String ClickAddAttributeButtonFeature_createAttributeButtonDescription;
-	public static String ClickAddAttributeButtonFeature_createAttributeButtonLabel;
-	
-	public static String ClickRemoveAttributeButtonFeature_createAttributeButtonDescription;
-	public static String ClickRemoveAttributeButtonFeature_createAttributeButtonlabel;
-	public static String ClickRemoveAttributeButtonFeature_deleteAttributeQuestion;
-	
-	public static String CreateDiagramJob_createDiagramJobName;
-	public static String CreateDiagramJob_getJPADiagramMonitorTaskName;
-	
-	public static String CreateJPAEntityFeature_createEntityErrorMsg;
-
-	public static String CreateJPAEntityFeature_createEntityErrorMsgTitle;
-
-	public static String CreateJPAEntityFeature_createEntityErrorStatusMsg;
-
-	public static String CreateJPAEntityFeature_jpaEntityFeatureDescription;
-	public static String CreateJPAEntityFeature_jpaEntityFeatureName;
-	public static String CreateJPAEntityFeature_jpaProjectSelectionDialogDescription;
-	public static String CreateJPAEntityFeature_jpaProjectSelectionDialogTitle;
-	public static String CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureDescription;
-	public static String CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureName;
-	
-	public static String CreateManyToManyBiDirRelationFeature_manyToManyBiDirFeatureName;
-	public static String CreateManyToManyBiDirRelationFeature_manyToManyUniDirFeatureDescription;
-	
-	public static String CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureDescription;
-	public static String CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureName;
-	
-	public static String CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureDescription;
-	public static String CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureName;
-	
-	public static String CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureDescription;
-	public static String CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureName;
-	
-	public static String CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureDescription;
-	public static String CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureName;
-	
-	public static String CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureDescription;
-	public static String CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureName;
-	
-	public static String CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureDescription;
-	public static String CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureName;
-	
-	public static String DeleteFeature_deleteConfirm;
-	
-	public static String DeleteJPAEntityFeature_deleteJPAEntityQuestion;
-	public static String DeleteJPAEntityFeature_deleteJPAEntitiesQuestion;
-	
-	public static String DeleteRelationFeature_deleteRelationQuestion;
-	
-	public static String DirectEditAttributeFeature_attributeExists;
-
-	public static String DirectEditAttributeFeature_classNameMsg;
-	public static String DirectEditJPAEntityFeature_bracesNotAllowedMsg;
-
-	public static String DirectEditJPAEntityFeature_duplicateEntityName;
-	public static String DirectEditAttributeFeature_lineBreaksNotAllowedMsg;
-	public static String DirectEditAttributeFeature_spacesNotAllowedMsg;
-	
-	public static String DirectEditJPAEntityFeature_classNameMsg;
-	public static String DirectEditJPAEntityFeature_lineBreaksNotAllowedMsg;
-	public static String DirectEditJPAEntityFeature_scpacesNotAllowedMsg;
-	public static String DirectEditJPAEntityFeature_invalidSymbolsMsg;
-
-	public static String DiscardAndRemoveAllEntitiesFeature_ContextMenuOperationDescription;
-	
-	public static String JpaArtifactFactory_CanNotCheckReturnType;
-
-	public static String JPADiagramEditor_waitingForMoin;
-	
-	public static String JPADiagramPropertyPage_errSavePropsMsgTitle;
-	public static String JPADiagramPropertyPage_errSavePropsMsgText;
-
-	public static String JPAEditorPreferencesPage_pageDescription;
-	public static String JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription;
-
-	public static String JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle;
-
-	public static String JPAEditorPreferencesPage_DefaultPackageMsg;
-	public static String JPAEditorPreferencesPage_DefaultTableNamePrefixMsg;
-	public static String JPAEditorPreferencesPage_DefaultTableNameLabel;
-	public static String JPAEditorPreferencesPage_DefaultPackageToUse;
-	public static String JPAEditorPreferencesPage_invalidPackage;
-	public static String JPAEditorPreferencesPage_invalidTableNamePrefix;
-	public static String JPAEditorPreferencesPage_directEditAffectsClass;
-	public static String JPAEditorPreferencesPage_directEditAffectsClassTooltip;	
-	public static String JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip;
-	public static String JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel;
-	public static String JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel;
-	public static String JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel;
-	public static String JPAEditorPreferencesPage_defaultFolderControlTooltip;
-	public static String JPAEditorPreferencesPage_defaultFolderControlLabel;
-	public static String JPAEditorPreferencesPage_invalidFolder;
-	public static String JPAEditorPreferencesPage_emptyFolder;
-	public static String JPAEditorPreferencesPage_oneToManyOldStyle;
-	public static String JPAEditorPreferencesPage_oneToManyOldStyleTooltip;
-	
-	public static String JPAEditorPropertyPage_oneToManyOldStyle;
-	public static String JPAEditorPropertyPage_oneToManyOldStyleTooltip;
-
-	public static String JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItem;
-
-	public static String JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItemDescr;
-	public static String JPAEditorToolBehaviorProvider_collapseCompartToolTip;
-
-	public static String JPAEditorToolBehaviorProvider_collapseEntityMenuItem;
-	public static String JPAEditorToolBehaviorProvider_collapseEntityMenuItemDescr;
-	public static String JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItem;
-	public static String JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItemDescr;
-
-	public static String JPAEditorToolBehaviorProvider_createAttributeButtonDescription;
-	public static String JPAEditorToolBehaviorProvider_createAttributeButtonlabel;
-	public static String JPAEditorToolBehaviorProvider_customSubMenuDescription;
-	public static String JPAEditorToolBehaviorProvider_customSubMenuText;
-	public static String JPAEditorToolBehaviorProvider_deleteAttributeButtonDescription;
-	public static String JPAEditorToolBehaviorProvider_deleteAttributeButtonlabel;
-	public static String JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonDescription;
-	public static String JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonLabel;
-
-	public static String JPAEditorToolBehaviorProvider_discardChangesMenuItem;
-
-	public static String JPAEditorToolBehaviorProvider_discardChangesMenuItemDescr;
-	public static String JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonDescription;
-	public static String JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonLabel;
-	public static String JPAEditorToolBehaviorProvider_saveButtonText;
-	public static String JPAEditorToolBehaviorProvider_saveButtonDescription;
-
-	public static String JPAEditorToolBehaviorProvider_saveMenuItem;
-
-	public static String JPAEditorToolBehaviorProvider_saveMenuItemDescr;
-	public static String JPAEditorToolBehaviorProvider_restoreButtonText;
-	public static String JPAEditorToolBehaviorProvider_restoreButtonDescription;
-	public static String JPAEditorToolBehaviorProvider_removeAndSaveButtonText;
-	public static String JPAEditorToolBehaviorProvider_removeAndSaveButtonDescription;
-	public static String JPAEditorToolBehaviorProvider_showAllTheEntities;
-	public static String JPAEditorToolBehaviorProvider_showAllTheEntitiesDesc;
-	public static String JPAEditorToolBehaviorProvider_refactorSubMenu;
-	public static String JPAEditorToolBehaviorProvider_renameEntityClass;
-	public static String JPAEditorToolBehaviorProvider_moveEntityClass;	
-	public static String JPAEditorToolBehaviorProvider_openJPADetailsView; 
-	public static String JPAEditorToolBehaviorProvider_openJPADetailsViewDesc;	
-	public static String JPAEditorToolBehaviorProvider_openMiniatureView; 
-	public static String JPAEditorToolBehaviorProvider_openMiniatureViewDesc;	
-	public static String JPAEditorToolBehaviorProvider_applyPattern; 
-	public static String JPAEditorToolBehaviorProvider_applyPatternDesc;
-	public static String JPAEditorToolBehaviorProvider_expandAttrMenuItem;
-
-	public static String JPAEditorToolBehaviorProvider_expandAttrMenuItemDescr;
-	public static String JPAEditorToolBehaviorProvider_expandCompartToolTip;
-
-	public static String JPAEditorToolBehaviorProvider_expandEntityMenuItem;
-	public static String JPAEditorToolBehaviorProvider_expandEntitymenuItemDescr;
-	
-	public static String JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItem;
-	public static String JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItemDescr;	
-
-	public static String JPAEditorToolBehaviorProvider_refactorAttributeType; 
-	public static String JPAEditorToolBehaviorProvider_refactorAttributeTypeDesc;
-	public static String JPAEditorToolBehaviorProvider_removeAllEntitiesMenu;
-	public static String JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction;
-	public static String JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction;
-	public static String JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesConfirmation;
-	public static String JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesConfirmation;	
-	
-	public static String JPAEditorDiagramTypeProvider_cantMakeDiagramWritableTitle;
-	public static String JPAEditorDiagramTypeProvider_cantMakeDiagramWritableMsg;
-	public static String JPAEditorDiagramTypeProvider_JPADiagramReadOnlyTitle;
-	public static String JPAEditorDiagramTypeProvider_JPADiagramReadOnlyMsg;
-	public static String JPAEditorDiagramTypeProvider_JPADiagramReadOnlyHasToAddMsg;
-
-	public static String OpenJpaDiagramActionDelegate_openJPADiagramErrorMsgTitle;
-	public static String OpenJpaDiagramActionDelegate_openJPADiagramErrorMsg;
-	public static String OpenJpaDiagramActionDelegate_jpaSupportWarningTitle;
-	public static String OpenJpaDiagramActionDelegate_jpaSupportWarningMsg;
-	public static String OpenJpaDiagramActionDelegate_noPersistenceUnitTitle;
-	public static String OpenJpaDiagramActionDelegate_noPersistenceUnitMsg; 
-
-	
-	public static String SaveAndRemoveAllEntitiesFeature_ContextMenuOperationDescription;
-
-	public static String SelectTypeDialog_chooseAttributeTypeDialogText;
-	public static String SelectTypeDialog_browseBtnTxt;
-	public static String SelectTypeDialog_browseBtnDesc;
-	public static String SelectTypeDialog_typeLabel;
-	public static String SelectTypeDialog_chooseAttributeTypeDialogWindowTitle;
-	public static String SelectTypeDialog_chooseAttributeTypeDialogTitle;
-	public static String SelectTypeDialog_invalidTypeMsgTitle;
-	public static String SelectTypeDialog_invalidTypeMsgText;
-	public static String SelectTypeDialog_emptyTypeErrorText;
-
-	
-	public static String JPAEditorUtil_fullnameTooltipText;	
-	public static String JPAEditorUtil_typeTooltipText;
-	public static String JPAEditorUtil_applyChangesJobName;
-	public static String JPAEditorUtil_inheritTypeTooltipText;
-
-	
-	public static String PaletteCompartment_Connections;
-	public static String PaletteCompartment_Objects;
-	
-	public static String JPASolver_closeWarningMsg;
-	public static String JPASolver_closeEditors;
-	
-	public static String RefactorAttributeTypeFeature_ContextMenuOperationDescription;
-	
-	public static String RemoveJPAEntityFeature_discardWarningMsg;
-	
-	public static String RenameEntityFeature_ContextMenuOperationDescription;
-	 
-	public static String BTN_OK;
-	public static String BTN_CANCEL;	
-	
-	public static String MoveEntityFeature_ContextMenuOperationDescription; 
-	
-	public static String EntitiesCoordinatesXML_CannotCloseFileStreamErrorMSG;
-
-	public static String EntitiesCoordinatesXML_CannotCreateDOMFileErrorMSG;
-
-	public static String EntitiesCoordinatesXML_CannotFindFileErrorMSG;
-
-	public static String EntitiesCoordinatesXML_CannotObtainProjectErrorMSG;
-
-	public static String EntitiesCoordinatesXML_CannotParseFileErrorMSG;
-
-	public static String EntitiesCoordinatesXML_CannotReadFileErrorMSG;
-
-	public static String EntitiesCoordinatesXML_CannotRefrfreshFile;
-
-	public static String ModelIntegrationUtil_CannotSetFileContentErrorMSG;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, JPAEditorMessages.class);
-	}
-
-	private JPAEditorMessages() {
-	}
-}
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/messages.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/messages.properties
deleted file mode 100644
index 1a9895f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/messages.properties
+++ /dev/null
@@ -1,215 +0,0 @@
-################################################################################
-# <copyright>
-#
-# Copyright (c) 2005, 2010 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#    Petya Sabeva - initial API, implementation and documentation
-#
-# </copyright>
-#
-################################################################################
-AddJPAEntityFeature_basicAttributesShapes=Other Attributes
-AddJPAEntityFeature_primaryKeysShape=Primary Key
-AddJPAEntityFeature_relationAttributesShapes=Relation Attributes
-ClickAddAttributeButtonFeature_createAttributeButtonDescription=Create a new attribute of this entity.
-ClickAddAttributeButtonFeature_createAttributeButtonLabel=Create Attribute
-
-ClickRemoveAttributeButtonFeature_createAttributeButtonDescription=Create a new attribute of this entity.
-ClickRemoveAttributeButtonFeature_createAttributeButtonlabel=Create Attribute
-ClickRemoveAttributeButtonFeature_deleteAttributeQuestion=Do you want to delete attribute "{0}"?
-
-CreateDiagramJob_createDiagramJobName=Creating diagram for: {0}...
-CreateDiagramJob_getJPADiagramMonitorTaskName=Get JPA Diagram
-CreateJPAEntityFeature_createEntityErrorMsg=Entity could not be created.
-CreateJPAEntityFeature_createEntityErrorMsgTitle=Cannot Create Entity
-CreateJPAEntityFeature_createEntityErrorStatusMsg=Persistence API library is not into the project's classpath.
-CreateJPAEntityFeature_jpaEntityFeatureDescription=Create a new JPA entity.
-CreateJPAEntityFeature_jpaEntityFeatureName=Java Entity
-CreateJPAEntityFeature_jpaProjectSelectionDialogDescription=Select a JPA project to contain the entity.
-CreateJPAEntityFeature_jpaProjectSelectionDialogTitle=Select JPA Project
-CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureDescription=Create a new JPA entity that will inherit a new Mapped Superclass.
-CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureName=Inherited Entity
-
-CreateManyToManyBiDirRelationFeature_manyToManyBiDirFeatureName=Many-to-Many
-CreateManyToManyBiDirRelationFeature_manyToManyUniDirFeatureDescription=Create new bidirectional many-to-many relation.
-
-CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureDescription=Create new unidirectional many-to-many relation.
-CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureName=Many-to-Many
-
-CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureDescription=Create new bidirectional many-to-one relation.
-CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureName=Many-to-One
-
-CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureDescription=Create new unidirectional many-to-one relation.
-CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureName=Many-to-One
-
-CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureDescription=Create new unidirectional one-to-many relation.
-CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureName=One-to-Many
-
-CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureDescription=Create new bidirectional one-to-one relation.
-CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureName=One-to-One
-
-CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureDescription=Create new unidirectional one-to-one relation.
-CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureName=One-to-One
-
-DeleteFeature_deleteConfirm=Confirm Delete
-DeleteJPAEntityFeature_deleteJPAEntityQuestion=Do you want to remove the entity "{0}" from the diagram and delete the corresponding Java resource "{1}"?
-DeleteJPAEntityFeature_deleteJPAEntitiesQuestion=Do you want to remove the selected entities from the diagram and delete the corresponding Java resources?
-
-DeleteRelationFeature_deleteRelationQuestion=Do you want to remove this relation from the diagram and update the corresponding Java resources?
-
-DirectEditAttributeFeature_attributeExists=Attribute with name "{0}" already exists.
-DirectEditAttributeFeature_classNameMsg=Enter an attribute name.
-DirectEditAttributeFeature_lineBreaksNotAllowedMsg=You cannot use line breaks in attribute names.
-DirectEditAttributeFeature_spacesNotAllowedMsg=You cannot use spaces in attribute names.
-
-DirectEditJPAEntityFeature_bracesNotAllowedMsg=You cannot use braces in entity names.
-DirectEditJPAEntityFeature_classNameMsg=Enter an entity name.
-DirectEditJPAEntityFeature_duplicateEntityName=Entity with name "{0}" already exists.
-DirectEditJPAEntityFeature_lineBreaksNotAllowedMsg=You cannot use line breaks in entity names.
-DirectEditJPAEntityFeature_scpacesNotAllowedMsg=You cannot use spaces in entity names.
-DirectEditJPAEntityFeature_invalidSymbolsMsg="{0}" is not a valid entity name.
-DiscardAndRemoveAllEntitiesFeature_ContextMenuOperationDescription=Remove All Entities From Diagram and Discard Changes
-
-JpaArtifactFactory_CanNotCheckReturnType=Cannot check the return type
-
-JPADiagramEditor_waitingForMoin=Waiting for MOIN connection initialization...
-
-JPADiagramPropertyPage_errSavePropsMsgTitle=Cannot Save Properties
-JPADiagramPropertyPage_errSavePropsMsgText=The JPA diagram properties could not be saved
-
-JPAEditorPreferencesPage_pageDescription=Default settings for the JPA diagram editor:
-JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription=Relation attributes, which you generate using the JPA editor,\nare automatically created to be of the specified collection type.
-JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle=Default Collection Type
-JPAEditorPreferencesPage_DefaultPackageMsg=Entities, which you generate using the JPA editor palette,\nare automatically created in the specified package.
-JPAEditorPreferencesPage_DefaultTableNamePrefixMsg=Entities, which you have created, using the JPA editor palette, are automatically\nannotated with @Table(name=...), where the name of the table is a result of\nconcatenation of the given prefix and the name of the entity. If you set\na blank prefix, the newly created entities are not annotated with @Table.
-JPAEditorPreferencesPage_DefaultTableNameLabel=Default &table name prefix:
-JPAEditorPreferencesPage_DefaultPackageToUse=Default &Java package for new entities:
-JPAEditorPreferencesPage_invalidPackage="{0}" is not a valid Java identifier.
-JPAEditorPreferencesPage_invalidTableNamePrefix=Table name prefix may contain letters, digits and underscores only, and must not start with a digit.
-JPAEditorPreferencesPage_directEditAffectsClass=&Editing the entity name in the diagram affects the class name in the source file
-JPAEditorPreferencesPage_directEditAffectsClassTooltip=If this option is checked and the entity name is appointed\nby the @Entity annotation, direct entity name editing will\naffect the annotation and will cause class name refactoring.\nIf this option is unchecked, direct editing will affect the\nannotation only. If the entity name is not appointed by the\n@Entity annotation, direct editing will cause class name\nrefactoring regardless this option is checked or not.
-JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip=Entities, which you generate using the JPA editor palette,\nare automatically created with the specified access.
-JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel=Entity access type
-JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel=&Field-based
-JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel=&Property-based
-JPAEditorPreferencesPage_defaultFolderControlTooltip=The newly created diagram file(s) will be stored in this folder
-JPAEditorPreferencesPage_defaultFolderControlLabel=Folder for &diagrams:
-JPAEditorPreferencesPage_invalidFolder=The folder name must be preceded by "{0}".
-JPAEditorPreferencesPage_emptyFolder=The folder name for diagrams must not be empty.
-JPAEditorPreferencesPage_oneToManyOldStyle=&One-to-Many unidirectional old (JPA 1.0) style relations in JPA 2.0 projects 
-JPAEditorPreferencesPage_oneToManyOldStyleTooltip=If this option is checked, the newly created One-to-Many\nunidirectional relations in JPA 2.0 projects will be old\n(JPA 1.0) style.  I.e., the corresponding attributes will\nbe created without @JoinColumn(s) annotation.
-
-JPAEditorPropertyPage_oneToManyOldStyle=&One-to-Many unidirectional old (JPA 1.0) style relations
-JPAEditorPropertyPage_oneToManyOldStyleTooltip=If this option is checked, the newly created One-to-Many\nunidirectional relations will be old (JPA 1.0) style.\nI.e., the corresponding attributes will be created without\n@JoinColumn(s) annotation.
-
-JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItem=Collapse Attributes Group
-JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItemDescr=Collapse the attributes group.
-JPAEditorToolBehaviorProvider_collapseCompartToolTip=Double click to collapse "{0}" attributes group.
-JPAEditorToolBehaviorProvider_collapseEntityMenuItem=Collapse Entity
-JPAEditorToolBehaviorProvider_collapseEntityMenuItemDescr=Collapse entity.
-JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItem=Collapse All
-JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItemDescr=Collapse all entities
-JPAEditorToolBehaviorProvider_createAttributeButtonDescription=Create new attribute of this entity.
-JPAEditorToolBehaviorProvider_createAttributeButtonlabel=Create Attribute
-JPAEditorToolBehaviorProvider_customSubMenuDescription=Custom features submenu
-JPAEditorToolBehaviorProvider_customSubMenuText=Custom
-JPAEditorToolBehaviorProvider_deleteAttributeButtonDescription=Delete this attribute from the model.
-JPAEditorToolBehaviorProvider_deleteAttributeButtonlabel=Delete Attribute
-JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonDescription=Remove this JPA entity from the diagram and delete it from the JPA model.
-JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonLabel=Delete
-JPAEditorToolBehaviorProvider_discardChangesMenuItem=Discard Changes
-JPAEditorToolBehaviorProvider_discardChangesMenuItemDescr=Discard all changes made to this JPA entity after the last saving.
-JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonDescription=Discard all changes made to this JPA entity after the last saving and remove it from the diagram.
-JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonLabel=Discard Changes and Remove
-JPAEditorToolBehaviorProvider_saveButtonText=Save
-JPAEditorToolBehaviorProvider_saveButtonDescription=Save all changes made to this JPA entity.
-JPAEditorToolBehaviorProvider_saveMenuItem=Save
-JPAEditorToolBehaviorProvider_saveMenuItemDescr=Save all changes made to this JPA entity.
-JPAEditorToolBehaviorProvider_restoreButtonText=Discard Changes
-JPAEditorToolBehaviorProvider_restoreButtonDescription=Discard all changes made to this JPA entity after the last saving.
-JPAEditorToolBehaviorProvider_removeAndSaveButtonText=Save And Remove
-JPAEditorToolBehaviorProvider_removeAndSaveButtonDescription=Save all changes made to this entity and remove it from the diagram.
-JPAEditorToolBehaviorProvider_showAllTheEntities=Show All Entities
-JPAEditorToolBehaviorProvider_showAllTheEntitiesDesc=Show all entities within the project on the diagram.
-JPAEditorToolBehaviorProvider_refactorSubMenu=Refactor Entity Class
-JPAEditorToolBehaviorProvider_renameEntityClass=Rename...
-JPAEditorToolBehaviorProvider_moveEntityClass=Move...
-JPAEditorToolBehaviorProvider_openJPADetailsView=Open JPA Details View
-JPAEditorToolBehaviorProvider_openJPADetailsViewDesc=Open the JPA Details view to view/modify the details of the selected persistent object.
-JPAEditorToolBehaviorProvider_openMiniatureView=Open Miniature View 
-JPAEditorToolBehaviorProvider_openMiniatureViewDesc=Open the Miniature view to display the diagram in a larger scale.
-JPAEditorToolBehaviorProvider_applyPattern=Apply Template... 
-JPAEditorToolBehaviorProvider_applyPatternDesc=Apply Template
-JPAEditorToolBehaviorProvider_expandAttrMenuItem=Expand Attributes Group
-JPAEditorToolBehaviorProvider_expandAttrMenuItemDescr=Expand the attributes group.
-JPAEditorToolBehaviorProvider_expandCompartToolTip=Double click to expand "{0}" attributes group.
-JPAEditorToolBehaviorProvider_expandEntityMenuItem=Expand Entity
-JPAEditorToolBehaviorProvider_expandEntitymenuItemDescr=Expand entity.
-JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItem=Expand All
-JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItemDescr=Expand all entities.
-JPAEditorToolBehaviorProvider_refactorAttributeType=Refactor Attribute Type...
-JPAEditorToolBehaviorProvider_refactorAttributeTypeDesc=Change the type of the selected attribute.
-JPAEditorToolBehaviorProvider_removeAllEntitiesMenu=Remove All Entities From Diagram
-JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction=...and Save Changes
-JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction=...and Discard Changes
-JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesConfirmation=Do you want to save the changes and remove all entities from the diagram?
-JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesConfirmation=Do you want to discard the changes and remove all entities from the diagram?
-
-JPAEditorDiagramTypeProvider_cantMakeDiagramWritableTitle=Can't Make Diagram Writable
-JPAEditorDiagramTypeProvider_cantMakeDiagramWritableMsg=Cannot make the JPA diagram file writable:\n\n{0}
-JPAEditorDiagramTypeProvider_JPADiagramReadOnlyTitle=JPA Diagram Read-Only
-JPAEditorDiagramTypeProvider_JPADiagramReadOnlyMsg=The JPA diagram file is read-only and cannot be synchronized with the model. In order to open the diagram, the JPA editor must make this file writable.
-JPAEditorDiagramTypeProvider_JPADiagramReadOnlyHasToAddMsg=Cannot show the selected entity in the JPA diagram, because the diagram file is read-only. In order to show the entity, the JPA editor must make this file writable.
-
-OpenJpaDiagramActionDelegate_openJPADiagramErrorMsgTitle=Cannot Open Diagram
-OpenJpaDiagramActionDelegate_openJPADiagramErrorMsg=Cannot open the JPA diagram editor
-OpenJpaDiagramActionDelegate_jpaSupportWarningTitle=JPA Support
-OpenJpaDiagramActionDelegate_jpaSupportWarningMsg=JPA Diagram Editor has partial  JPA 2.0  support only.   When you use it with  JPA 2.0 enabled projects you should visualize JPA 1.0 compliant entities only. Otherwise, the editor behavior will become erratic. 
-OpenJpaDiagramActionDelegate_noPersistenceUnitTitle=No Persistence Unit
-OpenJpaDiagramActionDelegate_noPersistenceUnitMsg=The JPA Diagram Editor can not be open, because the persistence unit does not exist or is corrupted. 
-
-JPAEditorUtil_fullnameTooltipText=\ Class Name: {0} 
-JPAEditorUtil_typeTooltipText=\ Type: {0} 
-JPAEditorUtil_applyChangesJobName=Apply changes to persistence.xml.
-JPAEditorUtil_inheritTypeTooltipText=\ Class Name: {0} \n This entity inherits {1}
-
-PaletteCompartment_Connections=Relations
-PaletteCompartment_Objects=Entities
-
-BTN_OK=OK
-BTN_CANCEL=Cancel
-EntitiesCoordinatesXML_CannotCloseFileStreamErrorMSG=Cannot close the stream
-EntitiesCoordinatesXML_CannotCreateDOMFileErrorMSG=Cannot create DOM file.
-EntitiesCoordinatesXML_CannotFindFileErrorMSG=Cannot find file.
-EntitiesCoordinatesXML_CannotObtainProjectErrorMSG=Cannot obtain project.
-EntitiesCoordinatesXML_CannotParseFileErrorMSG=Cannot parse file.
-EntitiesCoordinatesXML_CannotReadFileErrorMSG=Cannot read file.
-EntitiesCoordinatesXML_CannotRefrfreshFile=Cannot refresh the diagram xml file.
-
-SelectTypeDialog_chooseAttributeTypeDialogText=Select a primitive type for the attribute "{0}" of the entity "{1}" or choose the "Browse" button to select a class type.
-SelectTypeDialog_browseBtnTxt=&Browse...
-SelectTypeDialog_browseBtnDesc=Browse to select a class.
-SelectTypeDialog_typeLabel=&Type:
-SelectTypeDialog_chooseAttributeTypeDialogWindowTitle=Select Type
-SelectTypeDialog_chooseAttributeTypeDialogTitle=Select New Attribute Type
-SelectTypeDialog_invalidTypeMsgTitle=Invalid Type
-SelectTypeDialog_invalidTypeMsgText="{0}" is not valid java type or primitive.
-SelectTypeDialog_emptyTypeErrorText=The new type name must not be empty
-
-JPASolver_closeWarningMsg=The entity "{0}" is open elsewhere with identical changes. Using this button will not lose those changes. Close the other editor(s), where the entity "{0}" is open and try again!
-JPASolver_closeEditors=Close Editors  
-MoveEntityFeature_ContextMenuOperationDescription=Move Entity Class
-
-RefactorAttributeTypeFeature_ContextMenuOperationDescription=Refactor Attribute Type
-ModelIntegrationUtil_CannotSetFileContentErrorMSG=Cannot set file content.
-
-RemoveJPAEntityFeature_discardWarningMsg=The entity "{0}" is open elsewhere with identical changes. Using this button will remove the entity from the diagram, but will not lose those changes. In order to lose the changes you need first to close the other editor(s), where the entity "{0}" is open and try again!\n\nDo you want to continue with removing anyway?
-
-RenameEntityFeature_ContextMenuOperationDescription=Rename Entity Class
-
-SaveAndRemoveAllEntitiesFeature_ContextMenuOperationDescription=Remove All Entities From Diagram and Save Changes
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPADiagramEditorInput.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPADiagramEditorInput.java
deleted file mode 100644
index d73728f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPADiagramEditorInput.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui;
-
-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.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.ui.editor.DiagramEditorInput;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPADiagramEditorInput;
-
-
-public class JPADiagramEditorInput extends DiagramEditorInput 
-									implements IJPADiagramEditorInput {
-	
-	private Diagram diagram;
-	private String projectName;
-	
-
-	public JPADiagramEditorInput(Diagram diagram, 
-								 String diagramUriString, 
-								 TransactionalEditingDomain domain, 
-								 String providerId, 
-								 boolean disposeEditingDomain) {
-		
-		super(diagramUriString, domain, providerId, disposeEditingDomain);
-		this.diagram = diagram; 
-		this.projectName = ModelIntegrationUtil.getProjectByDiagram(diagram.getName()).getName();		
-	}
-
-	public JPADiagramEditorInput(Diagram diagram,
-								 URI diagramUri, 
-								 TransactionalEditingDomain domain, 
-								 String providerId, 
-								 boolean disposeEditingDomain) {
-		
-		super(diagramUri, domain, providerId, disposeEditingDomain);
-		this.diagram = diagram;
-		this.projectName = ModelIntegrationUtil.getProjectByDiagram(diagram.getName()).getName();
-	}
-	
-	@SuppressWarnings("rawtypes")
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(EObject.class)) {
-			return getDiagram();
-		} 
-		if (adapter.equals(Diagram.class)) {
-			return getDiagram();
-		}
-		if (adapter.equals(TransactionalEditingDomain.class))
-			return ModelIntegrationUtil.getTransactionalEditingDomain(diagram);
-		if (adapter.equals(IFile.class)) {
-			Resource eResource = diagram.eResource();
-			URI eUri = eResource.getURI();
-			if (eUri.isPlatformResource()) {
-				String platformString = eUri.toPlatformString(true);
-				return ResourcesPlugin.getWorkspace().getRoot()
-						.findMember(platformString);
-			} else {
-				IProject project = ModelIntegrationUtil.getProjectByDiagram(
-						diagram.getName()).getProject();
-				return findXMLFile(project);
-			}
-		}
-		return null;
-	}
-	
-	private IFile findXMLFile(IProject project){
-		try {
-			IResource[] resources = project.members();
-			for (IResource res : resources) {
-				if (res instanceof IFolder) {
-					IFile existingXMLFile = ((IFolder) res)
-							.getFile(diagram.getName()
-									+ "." + ModelIntegrationUtil.DIAGRAM_XML_FILE_EXTENSION); //$NON-NLS-1$
-					if (existingXMLFile != null && existingXMLFile.exists()) {
-						return existingXMLFile;
-					}
-				}
-			}
-		} catch (CoreException e) {
-			JPADiagramEditorPlugin
-					.logError(
-							JPAEditorMessages.EntitiesCoordinatesXML_CannotObtainProjectErrorMSG,
-							e);
-		}
-		IFile existingXMLFile = project.getFile(ModelIntegrationUtil
-				.getDiagramsXMLFolderPath(project)
-				.append(diagram.getName())
-				.addFileExtension(
-						ModelIntegrationUtil.DIAGRAM_XML_FILE_EXTENSION));
-		if (existingXMLFile != null && existingXMLFile.exists()) {
-			return existingXMLFile;
-		}
-		return null;
-	}
-	
-	public Diagram getDiagram() {
-		return diagram;
-	}	
-	
-	public static JPADiagramEditorInput createEditorInput(Diagram diagram, TransactionalEditingDomain domain, String providerId,
-			boolean disposeEditingDomain) {
-		final Resource resource = diagram.eResource();
-		if (resource == null) {
-			throw new IllegalArgumentException();
-		}
-		final String fragment = resource.getURIFragment(diagram);
-		final URI fragmentUri = resource.getURI().appendFragment(fragment);
-		JPADiagramEditorInput diagramEditorInput;
-		diagramEditorInput = new JPADiagramEditorInput(diagram, fragmentUri, domain, providerId, disposeEditingDomain);
-		return diagramEditorInput;
-	}
-	
-
-	public String getProjectName() {
-		return projectName;
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPAEditorMatchingStrategy.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPAEditorMatchingStrategy.java
deleted file mode 100644
index 68c0979..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPAEditorMatchingStrategy.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.IModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPADiagramEditorInput;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorMatchingStrategy;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.PartInitException;
-
-
-public class JPAEditorMatchingStrategy implements IEditorMatchingStrategy {
-	
-	private IJPAEditorFeatureProvider fp = null;
-	
-	private static final String CODE_GENERATED = "CODE_GENERATED"; 	//$NON-NLS-1$
-	public static final String DOUBLE_CLICK = "DOUBLE_CLICK";		//$NON-NLS-1$
-	
-	
-	public JPAEditorMatchingStrategy() {}
-	
-	/**
-	 * This constructor is intended solely for the test purposes
-	 *  
-	 * @param fp the feature provider
-	 */
-	public JPAEditorMatchingStrategy(IJPAEditorFeatureProvider fp) {
-		this.fp = fp;
-	}
-	
-	public boolean matches(IEditorReference editorRef, IEditorInput input) {
-		if (input instanceof IFileEditorInput) {
-			IFileEditorInput fileInput = (IFileEditorInput) input;
-			IFile entityFile = fileInput.getFile();
-			if(!entityFile.getName().endsWith(".java")){ //$NON-NLS-1$
-				return false;
-			}
-			try {
-				QualifiedName qn = new QualifiedName(null, DOUBLE_CLICK);
-				if ("true".equals(entityFile.getSessionProperty(qn))) { //$NON-NLS-1$
-					entityFile.setSessionProperty(qn, null);
-					return false;
-				}
-			} catch (CoreException e1) {
-				JPADiagramEditorPlugin.logError("Cannot get session property DOUBLE_CLICK", e1);  //$NON-NLS-1$		 							
-			}
-			JavaPersistentType inputJptType = null; 
-			
-			if (fp == null) {
-				inputJptType = JPAEditorUtil.getJPType(JavaCore.createCompilationUnitFrom(entityFile));
-			} else {
-				inputJptType = fp.getJPAEditorUtil().getJPType(JavaCore.createCompilationUnitFrom(entityFile));
-			}
-			if (inputJptType == null)
-				return false;
-			PersistenceUnit persistenceUnit = inputJptType.getPersistenceUnit();
-			JpaProject jpaProject = persistenceUnit.getJpaProject();
-
-			try {
-				IEditorInput editorInput = editorRef.getEditorInput();
-				if (editorInput instanceof IJPADiagramEditorInput) {
-					IJPADiagramEditorInput jpInput = (IJPADiagramEditorInput) editorInput;
-					Diagram diagram = jpInput.getDiagram();
-					if (diagram != null) {
-						
-						IJPAEditorFeatureProvider featureProvider = null;
-						IDiagramTypeProvider diagramProvider = null;
-						if (fp != null) {
-							featureProvider = this.fp;
-							diagramProvider = featureProvider.getDiagramTypeProvider();
-						} else {
-							diagramProvider = ModelIntegrationUtil.getProviderByDiagram(diagram.getName());
-							featureProvider = (IJPAEditorFeatureProvider)diagramProvider.getFeatureProvider();
-						}
-						IModelIntegrationUtil moinIntegrationUtil = featureProvider.getMoinIntegrationUtil();
-						JpaProject jpaProjectFromEditor = moinIntegrationUtil.getProjectByDiagram(diagram);
-						if (jpaProject.equals(jpaProjectFromEditor)) {
-							if (fileInput.getName() != CODE_GENERATED) 
-								return false;
-							PictogramElement pe = featureProvider.getPictogramElementForBusinessObject(inputJptType);
-							if (pe != null) {
-								diagramProvider.getDiagramEditor().setPictogramElementForSelection(pe);
-								return true;
-							}
-							
-							ICustomFeature feature = featureProvider.getAddAllEntitiesFeature();
-							CustomContext context = new CustomContext();
-							feature.execute(context);
-							return true;
-						}
-					}
-				}
-			} catch (PartInitException e) {
-				JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
-			}
-		} else if (input instanceof IJPADiagramEditorInput) {
-			return editorRef.getPartName().equals(((IJPADiagramEditorInput) input).getProjectName());
-		}
-		return false;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/OpenJpaDiagramActionDelegate.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/OpenJpaDiagramActionDelegate.java
deleted file mode 100644
index a629d3d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/OpenJpaDiagramActionDelegate.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui;
-
-import java.lang.ref.WeakReference;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.graphiti.ui.editor.DiagramEditorInput;
-import org.eclipse.graphiti.ui.internal.Messages;
-import org.eclipse.jdt.internal.ui.dialogs.OptionalMessageDialog;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jpt.jpa.core.JpaNode;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.CreateDiagramJob;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-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;
-
-
-@SuppressWarnings({ "unused", "restriction" })
-public class OpenJpaDiagramActionDelegate implements IObjectActionDelegate {
-			
-	private class OpenEditorRunnable implements Runnable {
-		private Diagram diagram;
-
-		private OpenEditorRunnable(Diagram diagram) {
-			this.diagram = diagram;
-		}
-
-		public void run() {
-			//ModelIntegrationUtil.mapDiagramToProject(diagram, jpaProject);			
-			openDiagramEditor(diagram);
-		}
-	}
-		
-	public static IDiagramEditor openDiagramEditor(Diagram diagram) {
-		
-		String diagramName = diagram.getName();
-		JpaProject jpaProject = ModelIntegrationUtil.getProjectByDiagram(diagramName);
-		if (!JPAEditorUtil.checkJPAFacetVersion(jpaProject, "1.0") && !ModelIntegrationUtil.isDiagramOpen(diagramName)) {					//$NON-NLS-1$
-			boolean wasEnabled = OptionalMessageDialog.isDialogEnabled(JPAEditorConstants.JPA_SUPPORT_DIALOG_ID);
-			int btnIndex = OptionalMessageDialog.open(JPAEditorConstants.JPA_SUPPORT_DIALOG_ID, 
-									   Display.getDefault().getShells()[0], 
-									   JPAEditorMessages.OpenJpaDiagramActionDelegate_jpaSupportWarningTitle, 
-									   Display.getDefault().getSystemImage(SWT.ICON_WARNING),
-									   JPAEditorMessages.OpenJpaDiagramActionDelegate_jpaSupportWarningMsg, 
-									   0, 
-									   new String[] {JPAEditorMessages.BTN_OK}, 
-									   0);
-		}
-		
-		TransactionalEditingDomain defaultTransEditDomain = TransactionUtil.getEditingDomain((diagram.eResource().getResourceSet())); 
-		final JPADiagramEditorInput diagramEditorInput = JPADiagramEditorInput.createEditorInput(diagram, defaultTransEditDomain, JPAEditorDiagramTypeProvider.ID, false); 
-		IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		final IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-		final Wrp wrp = new Wrp();
-		try {
-			final IEditorPart editorPart = IDE.openEditor(workbenchPage, diagramEditorInput, JPADiagramEditor.ID);
-			if (editorPart instanceof JPADiagramEditor) {				
-				JPADiagramEditor ret = (JPADiagramEditor) editorPart;
-				wrp.setObj(ret);
-				PlatformUI.getWorkbench().addWorkbenchListener( new IWorkbenchListener() {
-				    public boolean preShutdown( IWorkbench workbench, boolean forced ) {                            
-				    	workbenchPage.closeEditor( editorPart, true);
-				        return true;
-				    }
-				 
-				    public void postShutdown( IWorkbench workbench ){
-				 
-				    }
-				});
-				//CSN #1305850 2010
-				//if(ret.isDirty())
-				//	ret.doSave(new NullProgressMonitor());
-			}
-		} catch (PartInitException e) {
-			JPADiagramEditorPlugin.logError("Can't open JPA editor", e);  //$NON-NLS-1$		 							
-		}	
-		return (JPADiagramEditor)wrp.getObj();
-	}
-
-
-	private static final String ERROR_OPENING_DIAGRAM = JPAEditorMessages.OpenJpaDiagramActionDelegate_openJPADiagramErrorMsg;
-	private JpaProject jpaProject;
-	private Shell shell;
-	private WeakReference<ISelection> selectionRef = new WeakReference<ISelection>(null); 
-	
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		shell = targetPart.getSite().getShell();
-	}
-
-	public void run(IAction action) {
-		PersistenceUnit persistenceUnit = null;
-        try {      	
-        	persistenceUnit = obtainJpaProjectAndPersistenceUnit(selectionRef.get());
-		} catch (Exception e) {
-			handleException(e);
-			return;
-		}
-		if (persistenceUnit == null) {
-			MessageDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), 
-									JPAEditorMessages.OpenJpaDiagramActionDelegate_noPersistenceUnitTitle,
-									JPAEditorMessages.OpenJpaDiagramActionDelegate_noPersistenceUnitMsg);
-			return;
-		}
-		final CreateDiagramJob createDiagramRunnable = new CreateDiagramJob(persistenceUnit, 10, true);
-		createDiagramRunnable.setRule(ResourcesPlugin.getWorkspace().getRoot());
-		createDiagramRunnable.addJobChangeListener(new JobChangeAdapter(){
-			public void done(IJobChangeEvent event) {
-				shell.getDisplay().syncExec(new OpenEditorRunnable(createDiagramRunnable.getDiagram()));
-			}
-		});
-		createDiagramRunnable.setUser(true);
-		createDiagramRunnable.schedule();
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		selectionRef = new WeakReference<ISelection>(selection);
-	}
-
-	protected PersistenceUnit obtainJpaProjectAndPersistenceUnit(ISelection selection) throws CoreException {
-		Object firstElement = ((IStructuredSelection) selection).getFirstElement();
-        if (firstElement instanceof JpaNode) {
-        	jpaProject = ((JpaNode)firstElement).getJpaProject();
-        } else if (firstElement instanceof IProject) {
-			jpaProject = JpaArtifactFactory.instance().getJpaProject((IProject)firstElement);
-        }
-        return JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
-	}
-		
-
-	private void handleException(Exception e) {
-		JPADiagramEditorPlugin.logError(ERROR_OPENING_DIAGRAM, e);;
-		IStatus status = new ErrStatus(IStatus.ERROR, JPADiagramEditor.ID, e.toString(), e);
-		ErrorDialog.openError(shell, JPAEditorMessages.OpenJpaDiagramActionDelegate_openJPADiagramErrorMsgTitle, 
-				ERROR_OPENING_DIAGRAM, status);
-	}
-	
-	private class ErrStatus extends Status {
-		
-		public ErrStatus(int severity, String pluginId, String message, Throwable exception) {
-			super(severity, message, message, exception);
-		}
-		
-		public IStatus[] getChildren() {
-			StackTraceElement[] st = getException().getStackTrace();
-			IStatus[] res = new IStatus[st == null ? 0 : st.length];
-			for (int i = 0; i < st.length; i++) 
-				res[i] = new Status(IStatus.ERROR, JPADiagramEditor.ID, st[i].toString());
-			return res;
-		}
-	}
-	
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/CreateDiagramJob.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/CreateDiagramJob.java
deleted file mode 100644
index e2ea8f1..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/CreateDiagramJob.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;
-
-import java.text.MessageFormat;
-
-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.graphiti.mm.pictograms.Diagram;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-
-
-public class CreateDiagramJob extends Job {
-
-	//private Connection moinConnection = null;
-	private PersistenceUnit persistenceUnit;
-	private Diagram diagram;
-	private int grid;
-	private boolean snap;
-	
-	/*
-	public Connection getMoinConnection() {
-		return moinConnection;
-	}
-	*/
-	
-	public Diagram getDiagram() {
-		return diagram;
-	}
-
-	public CreateDiagramJob(PersistenceUnit persistenceUnit, int grid, boolean snap) {
-		super(MessageFormat.format(JPAEditorMessages.CreateDiagramJob_createDiagramJobName, new Object[] { persistenceUnit.getJpaProject().getName()})); 
-		this.persistenceUnit = persistenceUnit;
-		this.grid = grid;
-		this.snap = snap;
-	}
-
-	public IStatus run(IProgressMonitor monitor) {
-		//IProject project = persistenceUnit.getJpaProject().getProject();
-		try{
-			monitor.beginTask(JPAEditorMessages.CreateDiagramJob_getJPADiagramMonitorTaskName, 3); 
-			monitor.worked(1);
-			//moinConnection = ConnectionManager.getInstance().createConnection(project);
-			monitor.worked(1);
-			diagram = ModelIntegrationUtil.createDiagram(persistenceUnit, grid, snap);
-			monitor.worked(1);
-		} catch (CoreException e) {
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/IModelIntegrationUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/IModelIntegrationUtil.java
deleted file mode 100644
index 6e8c6ce..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/IModelIntegrationUtil.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.jpt.jpa.core.JpaProject;
-
-public interface IModelIntegrationUtil {
-	public JpaProject getProjectByDiagram(Diagram diagram);
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtil.java
deleted file mode 100644
index 086de3b..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtil.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.ref.WeakReference;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.WeakHashMap;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.filesystem.IFileSystem;
-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;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.ui.editor.DiagramEditorFactory;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-
-public class ModelIntegrationUtil {
-
-	public static final String DIAGRAM_FILE_EXTENSION = "xmi"; 		//$NON-NLS-1$
-	public static final String DIAGRAM_XML_FILE_EXTENSION = "xml"; 		//$NON-NLS-1$
-	public static final String JPA_DIAGRAM_TYPE = "JPA Diagram"; 	//$NON-NLS-1$
-	public static final String DEFAULT_RES_FOLDER = "src";		//$NON-NLS-1$
-
-	private static boolean xmiExists = false;
-	private static WeakHashMap<IProject, WeakReference<Diagram>> projectToDiagram = new  WeakHashMap<IProject, WeakReference<Diagram>>();
-	
-	public static IPath createDiagramPath(PersistenceUnit persistenceUnit) throws CoreException {
-	    IProject project = persistenceUnit.getJpaProject().getProject();
-	    String diagramName = persistenceUnit.getJpaProject().getName();
-		IPath newXMIFilePath = getDiagramsFolderPath(project).append(diagramName).addFileExtension(DIAGRAM_FILE_EXTENSION);	
-		IFileSystem fileSystem = EFS.getLocalFileSystem();
-		IFileStore newXMIFile = fileSystem.getStore(newXMIFilePath);
-        
-	    IPath folderPath = copyExistingXMIContentAndDeleteFile(project, diagramName, newXMIFile);
-	    if(folderPath != null){
-		    IPath path = new Path(folderPath.segment(0));
-		    for (int i = 1; i < folderPath.segmentCount(); i++) {
-		    	path = path.append(folderPath.segment(i));
-			    IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder(path);
-			    if (!folder.exists())
-			    	folder.create(true, true, null);
-		    }	    	
-	    	IFile diagramXMLFile = ResourcesPlugin.getWorkspace().getRoot().getFile(folderPath.append(diagramName).addFileExtension(DIAGRAM_XML_FILE_EXTENSION));
-	    	String content = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"+ //$NON-NLS-1$
-		   			"<entities>\n"+ //$NON-NLS-1$
-		   			"</entities>\n"; //$NON-NLS-1$
-	    	if(diagramXMLFile == null || !diagramXMLFile.exists()){
-			   InputStream source = new ByteArrayInputStream(content.getBytes());
-			   diagramXMLFile.create(source, true, new NullProgressMonitor());
-		   } else
-				try {
-					if(diagramXMLFile.getContents().read() == -1){
-						   diagramXMLFile.setContents(new ByteArrayInputStream(content.getBytes()), true, false, new NullProgressMonitor());
-					}
-				} catch (IOException e) {
-					JPADiagramEditorPlugin.logError(JPAEditorMessages.ModelIntegrationUtil_CannotSetFileContentErrorMSG, e);
-				}
-	    }
-
-	    return newXMIFilePath;		
-	}
-	
-	private static IPath copyExistingXMIContent(IContainer container,
-			String xmiFileName, IFileStore newXMIFile) throws JavaModelException,	CoreException {
-		IPath folderPath = null;
-		IResource[] resources = container.members();
-	    for(IResource res : resources){
-	    	if(res instanceof IFolder) {
-	    		folderPath = ((IFolder)res).getFullPath();
-				IFile existingXMIFile =((IFolder)res).getFile(xmiFileName); //$NON-NLS-1$
-	    		if(existingXMIFile != null && existingXMIFile.exists()){
-		    		IFileStore folder = EFS.getLocalFileSystem().getStore(existingXMIFile.getLocationURI());
-	    			folder.copy(newXMIFile, EFS.OVERWRITE, null);
-	    		    existingXMIFile.delete(true, new NullProgressMonitor());
-	    		    setXmiExists(true);
-	    		    return folderPath;
-	    		}
-	    	}
-	    	if(res instanceof IContainer) 
-	    		copyExistingXMIContent((IContainer)res,
-	    				xmiFileName, newXMIFile);
-	    }		
-		return null;
-	}
-
-	public static IPath copyExistingXMIContentAndDeleteFile(IProject project,
-			String diagramName, IFileStore newXMIFile) throws JavaModelException,	CoreException {
-		String xmiFileName = diagramName + "." + DIAGRAM_FILE_EXTENSION;		//$NON-NLS-1$
-		IPath folderPath = copyExistingXMIContent(project, xmiFileName, newXMIFile);
-		if (folderPath != null)
-			return folderPath;
-	    IPath projectPath = project.getFullPath();
-	    folderPath = projectPath.append(getDiagramsXMLFolderPath(project));
-	    return folderPath;
-	}
-	
-	public static Diagram createDiagram(PersistenceUnit persistenceUnit, 
-										int grid, 
-										boolean snap) throws CoreException {
-		IPath path = createDiagramPath(persistenceUnit);
-		Diagram d = createDiagram(persistenceUnit.getJpaProject().getProject(), path, persistenceUnit.getJpaProject().getName(), grid, snap); 
-	    return d;
-	}
-	
-	public static TransactionalEditingDomain getTransactionalEditingDomain(Diagram diagram) {
-		TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(diagram);
-		return editingDomain;
-	}
-	
-	public static ResourceSet getResourceSet(Diagram diagram) {
-		JpaProject jpaProject = getProjectByDiagram(diagram.getName());
-		if (jpaProject == null)
-			return null;
-		TransactionalEditingDomain defaultTransEditDomain = (TransactionalEditingDomain)jpaProject.getProject().getAdapter(TransactionalEditingDomain.class);
-		ResourceSet resourceSet = defaultTransEditDomain.getResourceSet();
-		return resourceSet;
-	}
-	
-	private static class Wrp {
-		private Object o;
-		public Object getObject() {
-			return o;
-		}
-		
-		public void setObject(Object o) {
-			this.o = o;
-		}
-	}
-	
-	public static Diagram createDiagram(IProject project, 
-									 IPath diagramFileName,
-									 String diagramName,
-									 int grid, 
-									 boolean snap) {
-		
-		Diagram diagram = getDiagramByProject(project);
-		if (diagram != null)
-			return diagram;
-		TransactionalEditingDomain defaultTransEditDomain = DiagramEditorFactory.createResourceSetAndEditingDomain();
-		ResourceSet resourceSet = defaultTransEditDomain.getResourceSet();
-
-		String pathName = diagramFileName.toString();
-		URI resourceURI = URI.createFileURI(pathName);
-		final Resource resource = resourceSet.createResource(resourceURI);
-		//resource.setTrackingModification(false);
-			//(ResourceSetManager.getProjectForResourceSet(resourceSet));
-		defaultTransEditDomain.getCommandStack().execute(new RecordingCommand(defaultTransEditDomain) {
-			@Override
-			protected void doExecute() {
-				try {
-					resource.load(null);
-				} catch (IOException e) {
-					JPADiagramEditorPlugin.logInfo("The diagram file does not exist. It will be created");		//$NON-NLS-1$
-					JPADiagramEditorPlugin.logInfo(e.getLocalizedMessage());
-				}
-			}
-		});
-		
-		if (!resource.isLoaded())
-			return createNewDiagram(project, defaultTransEditDomain, resourceSet, resource, diagramName, grid, snap);
-		
-		EList<EObject> objs = resource.getContents();
-		if (objs == null) 
-			return createNewDiagram(project, defaultTransEditDomain, resourceSet, resource, diagramName, grid, snap);
-		Iterator<EObject> it = objs.iterator();
-		while (it.hasNext()) {
-			EObject obj = it.next();
-			if ((obj == null) && !Diagram.class.isInstance(obj))
-				continue;
-			diagram = (Diagram)obj;
-			//diagramsToResources.put(diagram, resource);
-			defaultTransEditDomain.getCommandStack().flush();
-			return diagram;
-		}
-		return createNewDiagram(project, defaultTransEditDomain, resourceSet, resource, diagramName, grid, snap);
-	}
-	
-	private static Diagram createNewDiagram(final IProject project,
-											TransactionalEditingDomain editingDomain,
-											ResourceSet resourceSet,
-											final Resource resource,
-											final String diagramName,
-											final int grid, 
-											final boolean snap) {
-		final Wrp wrp = new Wrp();
-		editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) {
-			@Override
-			protected void doExecute() {
-				Diagram diagram = Graphiti.getPeService().createDiagram(JPA_DIAGRAM_TYPE, diagramName, grid, snap);
-				projectToDiagram.put(project, new WeakReference<Diagram>(diagram));
-				wrp.setObject(diagram);
-				resource.getContents().add(diagram);
-				try {
-					resource.save(Collections.EMPTY_MAP);
-				} catch (IOException e) {
-					JPADiagramEditorPlugin.logError("Cannot create new diagram", e); //$NON-NLS-1$
-				}				
-			}
-		});	
-		editingDomain.getCommandStack().flush();
-		//mapDiagramToProject((Diagram)wrp.getObject(), resource);
-		return (Diagram)wrp.getObject();		
-	}
-	
-	public static IPath getResourceFolderPath(IProject project) {
-		return getEMFResourceFolderPath(project);
-	}
-		
-	public static IPath getEMFResourceFolderPath(IProject project) {
-		return project.getProjectRelativePath().append(DEFAULT_RES_FOLDER);		
-	}	
-	
-	public static IPath getDiagramsXMLFolderPath(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);		
-		return new Path(JPADiagramPropertyPage.getDefaultFolder(project, props));
-	}
-	
-	public static IPath getDiagramsFolderPath(IProject project){
-		return JPADiagramEditorPlugin.getDefault().getStateLocation();
-	}
-		
-	public static JpaProject getProjectByDiagram(String diagramName) {
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(diagramName);
-		return JpaArtifactFactory.instance().getJpaProject(project);
-	}
-	
-	public static boolean isDiagramOpen(String diagramName) {
-		IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-		IEditorReference[] editorRefs = workbenchPage.getEditorReferences();
-		for (IEditorReference editorRef : editorRefs) {
-			if(!JPADiagramEditorPlugin.PLUGIN_ID.equals(editorRef.getId())) 
-				continue;
-			JPADiagramEditor editor = (JPADiagramEditor)editorRef.getEditor(false);
-			if (editor == null)
-				continue;
-			JPAEditorDiagramTypeProvider diagramProvider = editor.getDiagramTypeProvider();  
-			Diagram d = diagramProvider.getDiagram();
-			if (diagramName.equals(d.getName()))
-				return true;
-		}		
-		return false;
-	}
-			
-		
-	public static JPAEditorDiagramTypeProvider getProviderByDiagram(String diagramName) {
-		IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-		IEditorReference[] editorRefs = workbenchPage.getEditorReferences();
-		for (IEditorReference editorRef : editorRefs) {
-			if(!JPADiagramEditorPlugin.PLUGIN_ID.equals(editorRef.getId())) 
-				continue;
-			JPADiagramEditor editor = (JPADiagramEditor)editorRef.getEditor(false);
-			if (editor == null)
-				continue;
-			JPAEditorDiagramTypeProvider diagramProvider = editor.getDiagramTypeProvider();  
-			Diagram d = diagramProvider.getDiagram();
-			if (diagramName.equals(d.getName()))
-				return diagramProvider;
-		}
-		return null;
-	}
-	
-	public static boolean xmiExists() {
-		return xmiExists;
-	}
-
-	public static void setXmiExists(boolean xmiExists) {
-		ModelIntegrationUtil.xmiExists = xmiExists;
-	}
-
-	public static IPath getDiagramXMLFullPath(String diagramName) {
-		if (diagramName == null)
-			return null;
-		JpaProject jpaProject = getProjectByDiagram(diagramName);
-		if (jpaProject == null)
-			return null;
-		IProject project = jpaProject.getProject();
-		return project.getFile(ModelIntegrationUtil
-				.getDiagramsXMLFolderPath(project)
-				.append(diagramName)
-				.addFileExtension(
-						ModelIntegrationUtil.DIAGRAM_XML_FILE_EXTENSION)).getFullPath();
-	}
-	
-	synchronized public static void putProjectToDiagram(IProject project, Diagram d) {
-		projectToDiagram.put(project, new WeakReference<Diagram>(d));
-	}
-
-	synchronized public static Diagram getDiagramByProject(IProject project) {
-		if (project == null)
-			return null;
-		IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage workbenchPage = null; 
-		try {
-			workbenchPage = workbenchWindow.getActivePage();
-			IEditorReference[] editorRefs = workbenchPage.getEditorReferences();
-			for (IEditorReference editorRef : editorRefs) {
-				if(!JPADiagramEditorPlugin.PLUGIN_ID.equals(editorRef.getId())) 
-					continue;
-				JPADiagramEditor editor = (JPADiagramEditor)editorRef.getEditor(false);
-				if (editor == null)
-					continue;
-				JPAEditorDiagramTypeProvider diagramProvider = editor.getDiagramTypeProvider();  
-				Diagram d = diagramProvider.getDiagram();
-				if (d.getName().equals(project.getName()))
-					return d;
-			}			
-		} catch (NullPointerException e) {
-			// ignore
-		}
-		WeakReference<Diagram> ref = projectToDiagram.get(project);
-		if (ref != null)
-			return ref.get();
-		return null;
-	}
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtilImpl.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtilImpl.java
deleted file mode 100644
index 5167fe4..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtilImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.jpt.jpa.core.JpaProject;
-
-public class ModelIntegrationUtilImpl implements IModelIntegrationUtil {
-	
-	public JpaProject getProjectByDiagram(Diagram diagram) {
-		return ModelIntegrationUtil.getProjectByDiagram(diagram.getName());
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferenceInitializer.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferenceInitializer.java
deleted file mode 100644
index 6c2d88d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferenceInitializer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-
-public class JPAEditorPreferenceInitializer extends
-		AbstractPreferenceInitializer {
-	
-	public static final String PROPERTY_DIAGRAM_FOLDER 				= "org.eclipse.jpt.jpadiagrameditor.ui.diagramfolder";						//$NON-NLS-1$
-	public static final String PROPERTY_ENTITY_PACKAGE 				= "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultPackage";				//$NON-NLS-1$
-	public static final String PROPERTY_TABLE_NAME_PREFIX 			= "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultTableNamePrefix";		//$NON-NLS-1$
-	public static final String PROPERTY_DIRECT_EDIT_CLASS_NAME 		= "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultDirectEditClassName";	//$NON-NLS-1$
-	public static final String PROPERTY_ENTITY_ACCESS_TYPE 			= "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultEntityAccessType";	//$NON-NLS-1$	
-	public static final String PROPERTY_DEFAULT_COLLECTION_TYPE 	= "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultCollectionType";		//$NON-NLS-1$
-	public static final String PROPERTY_ONE_TO_MANY_OLD_STYLE	  	= "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultOneToManyOldStyle";			//$NON-NLS-1$
-	
-
-	
-	
-	public static final String PROPERTY_VAL_DIAGRAM_FOLDER		 	= "diagrams";			//$NON-NLS-1$	
-	public static final String PROPERTY_VAL_ENTITY_PACKAGE 			= "org.persistence";	//$NON-NLS-1$
-	public static final String PROPERTY_VAL_PREFIX 					= "T_";					//$NON-NLS-1$
-	public static final String PROPERTY_VAL_ACCESS_FIELD_BASED 		= "field";				//$NON-NLS-1$
-	public static final String PROPERTY_VAL_ACCESS_PROPERTY_BASED 	= "property";			//$NON-NLS-1$
-	
-	public static final String PROPERTY_VAL_COLLECTION_TYPE 	= "collection";			//$NON-NLS-1$
-	public static final String PROPERTY_VAL_LIST_TYPE 			= "list";			//$NON-NLS-1$
-	public static final String PROPERTY_VAL_SET_TYPE 			= "set";			//$NON-NLS-1$
-	public static final String PROPERTY_VAL_MAP_TYPE 			= "map";			//$NON-NLS-1$
-
-	
-	
-	private IPreferenceStore store;
-
-	public JPAEditorPreferenceInitializer() {
-		store = JPADiagramEditorPlugin.getDefault()
-		.getPreferenceStore();
-	}
-	
-	public JPAEditorPreferenceInitializer(IPreferenceStore store) {
-		this.store = store;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @seeorg.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#
-	 * initializeDefaultPreferences()
-	 */
-	@Override
-	public void initializeDefaultPreferences() {
-		store.setDefault(PROPERTY_DIAGRAM_FOLDER, PROPERTY_VAL_DIAGRAM_FOLDER);		
-		store.setDefault(PROPERTY_ENTITY_PACKAGE, PROPERTY_VAL_ENTITY_PACKAGE);
-		store.setDefault(PROPERTY_TABLE_NAME_PREFIX, PROPERTY_VAL_PREFIX);
-		store.setDefault(PROPERTY_DIRECT_EDIT_CLASS_NAME, true);
-		store.setDefault(PROPERTY_ENTITY_ACCESS_TYPE, PROPERTY_VAL_ACCESS_FIELD_BASED);
-		store.setDefault(PROPERTY_DEFAULT_COLLECTION_TYPE, PROPERTY_VAL_COLLECTION_TYPE);
-		store.setDefault(PROPERTY_ONE_TO_MANY_OLD_STYLE, false);
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferencesPage.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferencesPage.java
deleted file mode 100644
index 2753c5e..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferencesPage.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-@SuppressWarnings("restriction")
-public class JPAEditorPreferencesPage extends FieldEditorPreferencePage
-		implements IWorkbenchPreferencePage {
-
-	private static final String 	FICTIVE_PROJECT_NAME = "PROJECT NAME";		//$NON-NLS-1$ 
-	private static final String 	COLLECTIION_TYPE = "java.util.Collection"; //$NON-NLS-1$
-	private static final String 	LIST_TYPE = "java.util.List"; //$NON-NLS-1$
-	private static final String 	SET_TYPE = "java.util.Set"; //$NON-NLS-1$
-	private static final String 	MAP_TYPE = "java.util.Map"; //$NON-NLS-1$
-	
-	private StringFieldEditor 		fDefaultDiagramFolderField;
-	private StringFieldEditor 		fDefaultEntityPackageField;
-	private StringFieldEditor 		fDefaultTableNamePrefix;
-	private JPABooleanFieldEditor 	directEditAffectsClass;
-	private RadioGroupFieldEditor 	entityAccessTypeChooser;
-	private RadioGroupFieldEditor   defaultCollectionTypeChooser;
-	private JPABooleanFieldEditor 	oneToManyOldStyle;
-
-	public JPAEditorPreferencesPage() {
-		super(GRID);
-		setPreferenceStore(JPADiagramEditorPlugin.getDefault()
-				.getPreferenceStore());
-		setDescription(JPAEditorMessages.JPAEditorPreferencesPage_pageDescription);
-	}
-
-	public void init(IWorkbench workbench) {
-	}
-		
-	@Override
-	protected void createFieldEditors() {
-		Composite parent = getFieldEditorParent();
-		createFolderField(parent);
-		createEntityPackageField(parent);
-		createTableNameField(parent);
-		
-		directEditAffectsClass = new JPABooleanFieldEditor("",	//$NON-NLS-1$ 
-				JPAEditorMessages.JPAEditorPreferencesPage_directEditAffectsClass, 
-				BooleanFieldEditor.DEFAULT, parent);
-		directEditAffectsClass.setPreferenceName(JPAEditorPreferenceInitializer.PROPERTY_DIRECT_EDIT_CLASS_NAME);
-		directEditAffectsClass.getCheckBox(parent).setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_directEditAffectsClassTooltip);
-		addField(directEditAffectsClass);		
-		entityAccessTypeChooser = new RadioGroupFieldEditor(
-				JPAEditorPreferenceInitializer.PROPERTY_ENTITY_ACCESS_TYPE,
-				JPAEditorMessages.JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel,
-				1,
-			    new String[][] {
-					{JPAEditorMessages.JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel, JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_FIELD_BASED},
-					{JPAEditorMessages.JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel, JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_PROPERTY_BASED}},				
-					parent, true);
-		entityAccessTypeChooser.setPreferenceStore(getPreferenceStore());
-		entityAccessTypeChooser.getRadioBoxControl(parent).setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip);
-		addField(entityAccessTypeChooser);
-		
-		
-		
-		defaultCollectionTypeChooser = new RadioGroupFieldEditor(
-				JPAEditorPreferenceInitializer.PROPERTY_DEFAULT_COLLECTION_TYPE,
-				JPAEditorMessages.JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle,
-				1,
-			    new String[][] {
-					{COLLECTIION_TYPE, JPAEditorPreferenceInitializer.PROPERTY_VAL_COLLECTION_TYPE},
-					{LIST_TYPE, JPAEditorPreferenceInitializer.PROPERTY_VAL_LIST_TYPE},		
-					{SET_TYPE, JPAEditorPreferenceInitializer.PROPERTY_VAL_SET_TYPE},
-					{MAP_TYPE, JPAEditorPreferenceInitializer.PROPERTY_VAL_MAP_TYPE}},
-					parent, true);
-		defaultCollectionTypeChooser.setPreferenceStore(getPreferenceStore());
-		defaultCollectionTypeChooser.getRadioBoxControl(parent).setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription);
-		addField(defaultCollectionTypeChooser);
-		
-		oneToManyOldStyle = new JPABooleanFieldEditor("",	//$NON-NLS-1$ 
-				JPAEditorMessages.JPAEditorPreferencesPage_oneToManyOldStyle, 
-				BooleanFieldEditor.DEFAULT, parent);
-		oneToManyOldStyle.setPreferenceName(JPAEditorPreferenceInitializer.PROPERTY_ONE_TO_MANY_OLD_STYLE);
-		oneToManyOldStyle.getCheckBox(parent).setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_oneToManyOldStyleTooltip);
-		addField(oneToManyOldStyle);		
-	}
-	
-	protected void createFolderField(Composite parent) {
-		fDefaultDiagramFolderField = new CustomStringFieldEditor(
-				JPAEditorPreferenceInitializer.PROPERTY_DIAGRAM_FOLDER,
-				JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlLabel, getFieldEditorParent()) {
-					protected IStatus validateValue() {
-						return validateDefaultFolder(IPath.SEPARATOR + FICTIVE_PROJECT_NAME + IPath.SEPARATOR
-													 + fDefaultDiagramFolderField.getStringValue().trim(), FICTIVE_PROJECT_NAME);
-					}
-				};
-				
-		fDefaultDiagramFolderField.getTextControl(parent).addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validatePage();
-			}
-		});
-		
-		fDefaultDiagramFolderField.getLabelControl(parent).
-		setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlTooltip);
-		addField(fDefaultDiagramFolderField);
-		
-		
-		fDefaultEntityPackageField = new CustomStringFieldEditor(
-				JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE,
-				JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageToUse, getFieldEditorParent()) {
-					protected IStatus validateValue() {
-						return validateDefaultPackage(fDefaultEntityPackageField.getStringValue().trim());
-					}	
-				};
-	}
-	
-	protected void createEntityPackageField(Composite parent) {
-		fDefaultEntityPackageField.getTextControl(parent).addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validatePage();
-			}
-		});
-			
-		fDefaultEntityPackageField.getLabelControl(parent).
-				setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageMsg);
-		addField(fDefaultEntityPackageField);		
-	}
-	
-	protected void createTableNameField(Composite parent) {
-		fDefaultTableNamePrefix = new CustomStringFieldEditor(
-				JPAEditorPreferenceInitializer.PROPERTY_TABLE_NAME_PREFIX,
-				JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNameLabel, getFieldEditorParent()) {
-					protected IStatus validateValue() {
-						return validateTableNamePrefix(fDefaultTableNamePrefix.getStringValue().trim());
-					}
-				};
-				fDefaultTableNamePrefix.getTextControl(parent).addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validatePage();
-			}
-		});
-				
-		fDefaultTableNamePrefix.getLabelControl(parent).
-				setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
-		addField(fDefaultTableNamePrefix);
-		
-		
-		
-		fDefaultTableNamePrefix.getTextControl(parent).
-				setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);		
-	}
-	
-	
-	
-	
-	public static IStatus validateDefaultFolder(String defaultFolder, String projectName) {
-		defaultFolder = defaultFolder.trim();
-		if (StringTools.stringIsEmpty(defaultFolder)) 
-			return new Status(IStatus.ERROR, 
-					  JPADiagramEditorPlugin.PLUGIN_ID, 
-					  JPAEditorMessages.JPAEditorPreferencesPage_emptyFolder);
-		defaultFolder = IPath.SEPARATOR + projectName + IPath.SEPARATOR + defaultFolder; 
-		if (!defaultFolder.startsWith(IPath.SEPARATOR + projectName + IPath.SEPARATOR))
-			return new Status(IStatus.ERROR, 
-							  JPADiagramEditorPlugin.PLUGIN_ID, 
-							  MessageFormat.format(JPAEditorMessages.JPAEditorPreferencesPage_invalidFolder, 
-									  			   IPath.SEPARATOR + projectName + IPath.SEPARATOR));
-		IStatus res = ResourcesPlugin.getWorkspace().validatePath(defaultFolder, IResource.FOLDER);
-		return res;
-	}
-		
-	public static IStatus validateDefaultPackage(String defaultPackage) {
-		IStatus validateDefaultPackageStatus = JavaConventions
-				.validatePackageName(defaultPackage, JavaCore.VERSION_1_5,
-						JavaCore.VERSION_1_5);
-		if (validateDefaultPackageStatus.getSeverity() != IStatus.OK) 
-			return validateDefaultPackageStatus; 
-		return new Status(IStatus.OK, JPADiagramEditor.ID, null);
-	}
-	
-	public static IStatus validateTableNamePrefix(String tableNamePrefix) {
-		String s = tableNamePrefix;
-		if (StringTools.stringIsEmpty(s))
-			return new Status(IStatus.OK, JPADiagramEditor.ID, null);
-		if (Character.isDigit(s.charAt(0))) {
-			String message = MessageFormat.format(JPAEditorMessages.JPAEditorPreferencesPage_invalidTableNamePrefix, 
-					tableNamePrefix);
-			return new Status(IStatus.ERROR, JPADiagramEditor.ID, message);						
-		}		
-		for (int i = 0; i < s.length(); i++) {
-			char ch = s.charAt(i);
-			if (!Character.isLetterOrDigit(ch) && (ch != '_')) {
-				String message = MessageFormat.format(JPAEditorMessages.JPAEditorPreferencesPage_invalidTableNamePrefix, 
-						tableNamePrefix);
-				return new Status(IStatus.ERROR, JPADiagramEditor.ID, message);						
-			}	
-		}
-		return new Status(IStatus.OK, JPADiagramEditor.ID, null);	
-	}	
-	
-	public abstract class CustomStringFieldEditor extends StringFieldEditor {
-		public CustomStringFieldEditor(String propertyName,
-									   String labelName,
-									   Composite fieldEditorParent) {
-			
-			super(propertyName, labelName, fieldEditorParent);
-		}
-		
-		String msg;
-		String prefixMsg;
-		
-		protected boolean checkState() {
-			IStatus stat = validateValue();
-			if (stat.getSeverity() == IStatus.ERROR) {
-				return false;
-			}
-			if (stat.getSeverity() == IStatus.WARNING) {
-				return true;
-			}
-			return true;			
-		}
-		
-		protected boolean doCheckState() {
-			return true;
-		}	
-				
-		abstract protected IStatus validateValue();
-	}
-	
-	
-	public class JPABooleanFieldEditor extends BooleanFieldEditor {
-		public JPABooleanFieldEditor(String name, String labelText, int style, Composite parent) {
-			super(name, labelText, style, parent);
-		}
-				
-		public Button getCheckBox(Composite parent) {
-			return getChangeControl(parent);
-		}		
-	}
-	
-    synchronized protected void validatePage() {
-    	
-    	IStatus statFolder = JPAEditorPreferencesPage.
-    							validateDefaultFolder(fDefaultDiagramFolderField.getTextControl(getFieldEditorParent()).getText().trim(), 
-    							FICTIVE_PROJECT_NAME);
-    	IStatus statPack = JPAEditorPreferencesPage.
-    							validateDefaultPackage(fDefaultEntityPackageField.getTextControl(getFieldEditorParent()).getText().trim());
-    	
-    	IStatus statPref = JPAEditorPreferencesPage.
-    							validateTableNamePrefix(fDefaultTableNamePrefix.getTextControl(getFieldEditorParent()).getText().trim());
-    	
-    	if (statFolder.getSeverity() == IStatus.ERROR) {
-    		setErrorMessage(statFolder.getMessage());
-    		setValid(false);
-    		return;
-    	}    	    	
-    	if (statPack.getSeverity() == IStatus.ERROR) {
-    		setErrorMessage(statPack.getMessage());
-    		setValid(false);
-    		return;
-    	} 
-    	if (statPref.getSeverity() == IStatus.ERROR) {
-    		setErrorMessage(statPref.getMessage());
-    		setValid(false);
-    		return;
-    	}
-    	setErrorMessage(null);
-    	setValid(true);
-    	if (statPack.getSeverity() == IStatus.WARNING) {   		
-    		setMessage(statPack.getMessage(), IMessageProvider.WARNING);
-    		return;
-    	}
-    	if (statPref.getSeverity() == IStatus.WARNING) {   		
-    		setMessage(statPref.getMessage(), IMessageProvider.WARNING);
-    		return;
-    	}
-    	setMessage(null, IMessageProvider.NONE);
-    }
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertypage/JPADiagramPropertyPage.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertypage/JPADiagramPropertyPage.java
deleted file mode 100644
index 56f0bee..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertypage/JPADiagramPropertyPage.java
+++ /dev/null
@@ -1,631 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-public class JPADiagramPropertyPage extends PropertyPage {
-	
-	public static final String PROJECT_SETTINGS_PATH = "/.settings/org.eclipse.jpt.jpadiagrameditor.ui";	//$NON-NLS-1$;
-	protected IProject project = null;
-	protected boolean isJPA10Project = false;				//$NON-NLS-1$;
-	
-	private Properties editorProps;
-	
-	private Text txtDefaultFolderField;
-	private Text txtDefaultEntityPackageField;
-	private Text txtDefaultTableNamePrefix;
-	private Button checkDirectEditAffectsClass;
-	private Group groupAccessType;
-	private Group groupCollectionType;
-	private Button btnFieldBasedAccess;
-	private Button btnPropertyBasedAccess;
-	private Button btnCollectionType;
-	private Button btnListType;
-	private Button btnSetType;
-	private Button btnMapType;
-	private Button checkOneToManyOldStyle;
-
-	private boolean propsModified = false;
-
-	static private final String QUALIFIER 								= "org.eclipse.jpt.jpadiagrameditor.ui";						//$NON-NLS-1$
-	static public final QualifiedName PROP_DEFAULT_DIAGRAM_FOLDER		= new QualifiedName(QUALIFIER, "diagramFolder");			//$NON-NLS-1$;	
-	static public final QualifiedName PROP_DEFAULT_PACKAGE 				= new QualifiedName(QUALIFIER, "defaultPackage");			//$NON-NLS-1$
-	static public final QualifiedName PROP_DEFAULT_TABLE_NAME_PREFIX 	= new QualifiedName(QUALIFIER, "defaultTableNamePrefix");	//$NON-NLS-1$;
-	static public final QualifiedName PROP_DIRECT_EDIT_AFFECTS_CLASS 	= new QualifiedName(QUALIFIER, "directEditAffectsClass");	//$NON-NLS-1$;
-	static public final QualifiedName PROP_ACCESS_TYPE 					= new QualifiedName(QUALIFIER, "accessType");				//$NON-NLS-1$;
-	static public final QualifiedName PROP_COLLECTION_TYPE 				= new QualifiedName(QUALIFIER, "collectionType");			//$NON-NLS-1$;
-	static public final QualifiedName PROP_ONE_TO_MANY_OLD_STYLE		= new QualifiedName(QUALIFIER, "oneToManyOldStyle");		//$NON-NLS-1$;
-	
-
-    public static final String COLLECTION_TYPE = "java.util.Collection"; //$NON-NLS-1$
-    public static final String LIST_TYPE = "java.util.List"; //$NON-NLS-1$
-    public static final String SET_TYPE = "java.util.Set"; //$NON-NLS-1$
-    public static final String MAP_TYPE = "java.util.Map"; //$NON-NLS-1$
-
-	
-	private IPreferenceStore store = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
-
-	@Override
-	protected Control createContents(Composite parent) {
-		final Composite composite = createCompositeContainer(parent);
-		project = (IProject)getElement().getAdapter(IProject.class);
-		isJPA10Project = JPAEditorUtil.checkJPAFacetVersion(project, "1.0");				//$NON-NLS-1$;		
-		loadProperties();
-		createDefaultFolderControl(composite);
-		createDefaultPackageControl(composite);
-		createDefaultTableNamePrefixControl(composite);
-		createDirectEditAffectsClassControl(composite);
-		createAccessTypeControl(composite);
-		createDefaultCollectionTypeControl(composite);
-		if (!isJPA10Project)
-			createOneToManyOldStyleControl(composite);
-		Dialog.applyDialogFont(composite);
-		validatePage();
-		return composite;		
-	}
-	
-	private Composite createCompositeContainer(Composite parent) {	
-		final Composite composite= new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		GridLayout gl = new GridLayout();
-		gl.numColumns = 2;
-		composite.setLayout(gl);
-		return composite;
-	}
-		
-	private void createDefaultFolderControl(Composite composite) {
-		Label lblDefaultFolder = new Label(composite, SWT.FILL); 
-		lblDefaultFolder.setText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlLabel);
-		lblDefaultFolder.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlTooltip);
-		GridData gd = new GridData();
-		lblDefaultFolder.setLayoutData(gd);	
-		txtDefaultFolderField = new Text(composite, SWT.FLAT | SWT.BORDER | SWT.FILL);
-		lblDefaultFolder.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlTooltip);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.grabExcessHorizontalSpace = true;
-		txtDefaultFolderField.setLayoutData(gd);
-		
-	    String defaultFolder = editorProps.getProperty(PROP_DEFAULT_DIAGRAM_FOLDER.getLocalName());
-	    txtDefaultFolderField.setText(defaultFolder);
-	    txtDefaultFolderField.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlTooltip);
-	    txtDefaultFolderField.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validatePage();
-				propsModified = true;
-			}			
-		});
-	}
-	
-		
-	private void createDefaultPackageControl(Composite composite) {
-		Label lblDefaultPackage = new Label(composite, SWT.FILL); 
-		lblDefaultPackage.setText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageToUse);
-		lblDefaultPackage.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageMsg);
-		GridData gd = new GridData();
-		lblDefaultPackage.setLayoutData(gd);	
-		txtDefaultEntityPackageField = new Text(composite, SWT.FLAT | SWT.BORDER | SWT.FILL);
-		lblDefaultPackage.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageMsg);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.grabExcessHorizontalSpace = true;
-		txtDefaultEntityPackageField.setLayoutData(gd);
-		
-	    String defaultPackageName = editorProps.getProperty(PROP_DEFAULT_PACKAGE.getLocalName());
-		txtDefaultEntityPackageField.setText(defaultPackageName);
-		txtDefaultEntityPackageField.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageMsg);
-		txtDefaultEntityPackageField.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validatePage();
-				propsModified = true;
-			}			
-		});
-	}
-	
-	private void createDefaultTableNamePrefixControl(Composite composite) {
-		Label lblDefaultTableNamePrfix = new Label(composite, SWT.FILL); 
-		lblDefaultTableNamePrfix.setText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNameLabel);
-		lblDefaultTableNamePrfix.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
-		GridData gd = new GridData();
-		lblDefaultTableNamePrfix.setLayoutData(gd);	
-		txtDefaultTableNamePrefix = new Text(composite, SWT.FLAT | SWT.BORDER);
-		lblDefaultTableNamePrfix.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.grabExcessHorizontalSpace = true;
-		txtDefaultTableNamePrefix.setLayoutData(gd);
-		
-	    String defaultTableNamePrefix =  editorProps.getProperty(PROP_DEFAULT_TABLE_NAME_PREFIX.getLocalName());
-		txtDefaultTableNamePrefix.setText(defaultTableNamePrefix);	
-		txtDefaultTableNamePrefix.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
-		txtDefaultTableNamePrefix.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validatePage();
-				propsModified = true;
-			}			
-		});		
-	}
-	
-	private void createDirectEditAffectsClassControl(Composite composite) {
-		checkDirectEditAffectsClass = new Button(composite, SWT.FLAT | SWT.CHECK);
-		checkDirectEditAffectsClass.setText(JPAEditorMessages.JPAEditorPreferencesPage_directEditAffectsClass);
-		checkDirectEditAffectsClass.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_directEditAffectsClassTooltip);
-		checkDirectEditAffectsClass.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1));
-		
-		boolean defaultDirectEditAffectsClass = Boolean.parseBoolean(editorProps.getProperty(PROP_DIRECT_EDIT_AFFECTS_CLASS.getLocalName()));
-		checkDirectEditAffectsClass.setSelection(defaultDirectEditAffectsClass);
-		checkDirectEditAffectsClass.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				propsModified = true;
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}			
-		});			
-	}
-	
-	private void createOneToManyOldStyleControl(Composite composite) {
-		checkOneToManyOldStyle = new Button(composite, SWT.FLAT | SWT.CHECK);
-		checkOneToManyOldStyle.setText(JPAEditorMessages.JPAEditorPropertyPage_oneToManyOldStyle);
-		checkOneToManyOldStyle.setToolTipText(JPAEditorMessages.JPAEditorPropertyPage_oneToManyOldStyleTooltip);
-		checkOneToManyOldStyle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1));
-		
-		boolean defaultDirectEditAffectsClass = Boolean.parseBoolean(editorProps.getProperty(PROP_ONE_TO_MANY_OLD_STYLE.getLocalName()));
-		checkOneToManyOldStyle.setSelection(defaultDirectEditAffectsClass);
-		checkOneToManyOldStyle.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				propsModified = true;
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}			
-		});			
-	}
-	
-	
-	
-	private void createDefaultCollectionTypeControl(Composite composite) {
-		groupCollectionType = new Group(composite, 0);
-		groupCollectionType.setText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle);
-		groupCollectionType.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalSpan = 2;
-		groupCollectionType.setLayoutData(gd);
-		
-		GridLayout gl = new GridLayout();
-		gl.numColumns = 1;
-		groupCollectionType.setLayout(gl);
-		
-		String defaultCollectionType = editorProps.getProperty(PROP_COLLECTION_TYPE.getLocalName());
-		
-		createCollectionTypeButton(composite, gd, defaultCollectionType);
-		createListTypeButton(composite, gd, defaultCollectionType);
-		createSetTypeButton(composite, gd, defaultCollectionType);
-		createMapTypeButton(composite, gd, defaultCollectionType);
-
-	}
-	
-	private void createAccessTypeControl(Composite composite) {
-		groupAccessType = new Group(composite, 0);
-		groupAccessType.setText(JPAEditorMessages.JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel);
-		groupAccessType.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalSpan = 2;
-		groupAccessType.setLayoutData(gd);
-		
-		GridLayout gl = new GridLayout();
-		gl.numColumns = 1;
-		groupAccessType.setLayout(gl);
-		
-		String defaultAccessType = editorProps.getProperty(PROP_ACCESS_TYPE.getLocalName());
-		
-		createFieldAccessButton(composite, gd, defaultAccessType);
-		createPropertyAccessButton(composite, gd, defaultAccessType);
-	}
-	
-	private void createCollectionTypeButton(Composite composite, GridData gd, String defaultCollectionType) {
-		btnCollectionType = new Button(groupCollectionType, SWT.RADIO | SWT.FLAT);
-		btnCollectionType.setText(COLLECTION_TYPE);
-		gd = new GridData();
-		btnCollectionType.setLayoutData(gd);
-		btnCollectionType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_COLLECTION_TYPE));
-		btnCollectionType.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				propsModified = true;
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}			
-		});
-	}
-	
-	private void createListTypeButton(Composite composite, GridData gd, String defaultCollectionType) {
-		btnListType = new Button(groupCollectionType, SWT.RADIO | SWT.FLAT);
-		btnListType.setText(LIST_TYPE);
-		gd = new GridData();
-		btnListType.setLayoutData(gd);
-		btnListType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_LIST_TYPE));
-		btnListType.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				propsModified = true;
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}			
-		});
-	}
-	
-	private void createSetTypeButton(Composite composite, GridData gd, String defaultCollectionType) {
-		btnSetType = new Button(groupCollectionType, SWT.RADIO | SWT.FLAT);
-		btnSetType.setText(SET_TYPE);
-		gd = new GridData();
-		btnSetType.setLayoutData(gd);
-		btnSetType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_SET_TYPE));
-		btnSetType.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				propsModified = true;
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}			
-		});
-	}
-	
-	private void createMapTypeButton(Composite composite, GridData gd, String defaultCollectionType) {
-		btnMapType = new Button(groupCollectionType, SWT.RADIO | SWT.FLAT);
-		btnMapType.setText(MAP_TYPE);
-		gd = new GridData();
-		btnMapType.setLayoutData(gd);
-		btnMapType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_MAP_TYPE));
-		btnMapType.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				propsModified = true;
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}			
-		});
-	}	
-	
-	private void createFieldAccessButton(Composite composite, GridData gd, String defaultAccessType) {
-		btnFieldBasedAccess = new Button(groupAccessType, SWT.RADIO | SWT.FLAT);
-		btnFieldBasedAccess.setText(JPAEditorMessages.JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel);
-		gd = new GridData();
-		btnFieldBasedAccess.setLayoutData(gd);
-		btnFieldBasedAccess.setSelection(defaultAccessType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_FIELD_BASED));
-		btnFieldBasedAccess.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				propsModified = true;
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}			
-		});
-	}
-	
-	private void createPropertyAccessButton(Composite composite, GridData gd, String defaultAccessType) {
-		btnPropertyBasedAccess = new Button(groupAccessType, SWT.RADIO | SWT.FLAT);
-		btnPropertyBasedAccess.setText(JPAEditorMessages.JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel);
-		gd = new GridData();
-		btnPropertyBasedAccess.setLayoutData(gd);	
-		btnPropertyBasedAccess.setSelection(defaultAccessType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_PROPERTY_BASED));
-		btnPropertyBasedAccess.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				propsModified = true;
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}			
-		});		
-	}
-	
-    protected void performDefaults() {
-	    String defaultFolder = store.getString(JPAEditorPreferenceInitializer.PROPERTY_DIAGRAM_FOLDER);
-		txtDefaultFolderField.setText(defaultFolder);		
-	    String defaultPackageName = store.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE);
-		txtDefaultEntityPackageField.setText(defaultPackageName);		
-	    String defaultTableNamePrefix =  store.getString(JPAEditorPreferenceInitializer.PROPERTY_TABLE_NAME_PREFIX);
-		txtDefaultTableNamePrefix.setText(defaultTableNamePrefix);		  
-	    boolean defaultDirectEditAffectsClass = store.getBoolean(JPAEditorPreferenceInitializer.PROPERTY_DIRECT_EDIT_CLASS_NAME);
-		checkDirectEditAffectsClass.setSelection(defaultDirectEditAffectsClass);
-		String defaultAccessType = store.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_ACCESS_TYPE);
-		btnFieldBasedAccess.setSelection(defaultAccessType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_FIELD_BASED));
-		btnPropertyBasedAccess.setSelection(defaultAccessType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_PROPERTY_BASED));		
-		String defaultCollectionType = store.getString(JPAEditorPreferenceInitializer.PROPERTY_DEFAULT_COLLECTION_TYPE);
-		btnCollectionType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_COLLECTION_TYPE));
-		btnListType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_LIST_TYPE));		
-		btnSetType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_SET_TYPE));
-		btnMapType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_MAP_TYPE));
-	    boolean defaultOneToManyOldStyle = store.getBoolean(JPAEditorPreferenceInitializer.PROPERTY_ONE_TO_MANY_OLD_STYLE);
-	    if (!isJPA10Project)
-	    	checkOneToManyOldStyle.setSelection(defaultOneToManyOldStyle);		
-		super.performDefaults();
-    }
-    
-    synchronized protected void validatePage() {
-    	IStatus statFolder = JPAEditorPreferencesPage.validateDefaultFolder(txtDefaultFolderField.getText().trim(), 
-    																		project.getName());
-    	IStatus statPack = JPAEditorPreferencesPage.validateDefaultPackage(txtDefaultEntityPackageField.getText().trim());
-    	IStatus statPref = JPAEditorPreferencesPage.validateTableNamePrefix(txtDefaultTableNamePrefix.getText().trim());
-    	if (statFolder.getSeverity() == IStatus.ERROR) {
-    		setErrorMessage(statFolder.getMessage());
-    		setValid(false);
-    		return;
-    	}    	    	
-    	if (statPack.getSeverity() == IStatus.ERROR) {
-    		setErrorMessage(statPack.getMessage());
-    		setValid(false);
-    		return;
-    	} 
-    	if (statPref.getSeverity() == IStatus.ERROR) {
-    		setErrorMessage(statPref.getMessage());
-    		setValid(false);
-    		return;
-    	}
-    	setErrorMessage(null);
-    	setValid(true);
-    	if (statPack.getSeverity() == IStatus.WARNING) {   		
-    		setMessage(statPack.getMessage(), IMessageProvider.WARNING);
-    		return;
-    	}
-    	if (statPref.getSeverity() == IStatus.WARNING) {   		
-    		setMessage(statPref.getMessage(), IMessageProvider.WARNING);
-    		return;
-    	}
-    	setMessage(null, IMessageProvider.NONE);
-    }
-    
-    protected void performApply() {
-    	saveSettingsIfModified();
-    }
-    
-    public boolean performOk() {
-    	return saveSettingsIfModified();
-    }
-    
-    private boolean saveSettingsIfModified() {
-    	if (propsModified) {
-    		boolean saved = saveSettings();
-    		propsModified = !saved;
-    		return saved;
-    	}
-    	return true;
-    }
-    
-    private boolean saveSettings() {
-    	putNewValsInProps();
-		IProject project = (IProject)getElement().getAdapter(IProject.class);
-		Path path = new Path(PROJECT_SETTINGS_PATH);
-		IFile quartzDataXMLFile = project.getFile(path);	
-		File file = new File(quartzDataXMLFile.getLocation().toOSString());
-		OutputStream os = null; 
-		try {
-			os = new FileOutputStream(file); 
-			editorProps.store(os, "This file contains JPA Diagram Editor settings");	//$NON-NLS-1$;
-			os.close();
-			return true;
-		} catch (IOException e) {
-			MessageDialog.openError(Display.getCurrent().getActiveShell(), 
-									JPAEditorMessages.JPADiagramPropertyPage_errSavePropsMsgTitle, 
-									JPAEditorMessages.JPADiagramPropertyPage_errSavePropsMsgText);
-			return false;
-		}
-	}
-	
-	private void putNewValsInProps() {
-		editorProps.put(PROP_DEFAULT_DIAGRAM_FOLDER.getLocalName(), txtDefaultFolderField.getText().trim());
-		editorProps.put(PROP_DEFAULT_PACKAGE.getLocalName(), txtDefaultEntityPackageField.getText().trim());
-		editorProps.put(PROP_DEFAULT_TABLE_NAME_PREFIX.getLocalName(), txtDefaultTableNamePrefix.getText().trim());
-		editorProps.put(PROP_DIRECT_EDIT_AFFECTS_CLASS.getLocalName(), "" + checkDirectEditAffectsClass.getSelection());	//$NON-NLS-1$;
-		editorProps.put(PROP_ACCESS_TYPE.getLocalName(), btnFieldBasedAccess.getSelection() ? JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_FIELD_BASED : JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_PROPERTY_BASED);		
-		editorProps.put(PROP_COLLECTION_TYPE.getLocalName(), getCollectionProperty());
-		if (!isJPA10Project)
-			editorProps.put(PROP_ONE_TO_MANY_OLD_STYLE.getLocalName(), "" + checkOneToManyOldStyle.getSelection());	//$NON-NLS-1$;
-	}
-	
-	
-	private String getCollectionProperty(){
-		if (btnCollectionType.getSelection())
-			return JPAEditorPreferenceInitializer.PROPERTY_VAL_COLLECTION_TYPE;
-		else if (btnListType.getSelection())
-			return JPAEditorPreferenceInitializer.PROPERTY_VAL_LIST_TYPE;
-		else if (btnSetType.getSelection())
-			return JPAEditorPreferenceInitializer.PROPERTY_VAL_SET_TYPE;
-		else if (btnMapType.getSelection())
-			return JPAEditorPreferenceInitializer.PROPERTY_VAL_MAP_TYPE;
-		return null;
-	}
-	
-	private Properties createDefaultProps() {
-		return createDefaultProps(store);
-	}
-	
-	static private Properties createDefaultProps(IPreferenceStore store) {
-		Properties editorDefaultProps = new Properties(); 
-		editorDefaultProps.setProperty(PROP_DEFAULT_DIAGRAM_FOLDER.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_DIAGRAM_FOLDER));		
-		editorDefaultProps.setProperty(PROP_DEFAULT_PACKAGE.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE));
-		editorDefaultProps.setProperty(PROP_DEFAULT_TABLE_NAME_PREFIX.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_TABLE_NAME_PREFIX));
-		editorDefaultProps.setProperty(PROP_DIRECT_EDIT_AFFECTS_CLASS.getLocalName(), "" + store.getBoolean(JPAEditorPreferenceInitializer.PROPERTY_DIRECT_EDIT_CLASS_NAME));	//$NON-NLS-1$;
-		editorDefaultProps.setProperty(PROP_ACCESS_TYPE.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_ACCESS_TYPE));		
-		editorDefaultProps.setProperty(PROP_COLLECTION_TYPE.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_DEFAULT_COLLECTION_TYPE));
-		editorDefaultProps.setProperty(PROP_ONE_TO_MANY_OLD_STYLE.getLocalName(), "" + store.getBoolean(JPAEditorPreferenceInitializer.PROPERTY_ONE_TO_MANY_OLD_STYLE));	//$NON-NLS-1$;
-		
-		
-		return editorDefaultProps;
-	}
-
-	
-	private void loadProperties() {
-		Properties defaultProps = createDefaultProps();
-		editorProps = new Properties(defaultProps);
-		
-		IProject project = (IProject)getElement().getAdapter(IProject.class);
-		Path path = new Path(PROJECT_SETTINGS_PATH);
-		IFile editorProjectProperties = project.getFile(path);
-		
-		File propertiesFile = new File(editorProjectProperties.getLocation().toOSString());
-		if (propertiesFile.exists()) {
-			InputStream is = null;
-			try {
-				is = new FileInputStream(propertiesFile);
-				editorProps.load(is);	
-				is.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-	
-	static public Properties loadProperties(IProject project) {
-		IPreferenceStore store = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
-		Properties defaultProps = createDefaultProps(store);
-		Properties editorProps = new Properties(defaultProps);
-		
-		Path path = new Path(PROJECT_SETTINGS_PATH);
-		IFile editorProjectProperties = project.getFile(path);
-		
-		File propertiesFile = new File(editorProjectProperties.getLocation().toOSString());
-		if (propertiesFile.exists()) {
-			InputStream is = null;
-			try {
-				is = new FileInputStream(propertiesFile);
-				editorProps.load(is);	
-				is.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-		return editorProps;
-	}
-	
-	public static String getDefaultFolder(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return getDefaultFolder(project, props);
-	}
-	
-	public static String getDefaultPackage(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return getDefaultPackage(project, props);
-	}
-	
-	public static String getDefaultTablePrefixName(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return getDefaultTablePrefixName(project, props);
-	}
-	
-	public static boolean doesDirecteEditingAffectClassNameByDefault(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return doesDirecteEditingAffectClassNameByDefault(project, props);
-	}
-	
-	public static boolean isAccessFieldBased(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return isAccessFieldBased(project, props);
-	}	
-	
-	public static boolean isCollectionType(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return isCollectionType(project, props);
-	}
-	
-	public static boolean isListType(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return isListType(project, props);
-	}
-	
-	public static boolean isSetType(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return isSetType(project, props);
-	}
-	
-	public static boolean isMapType(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return isMapType(project, props);
-	}	
-	
-	public static boolean shouldOneToManyUnidirBeOldStyle(IProject project) {
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		return shouldOneToManyUnidirBeOldStyle(project, props);
-	}	
-
-//---------------------------------------------------------------------------------------------------
-
-	public static String getDefaultFolder(IProject project, Properties props) {
-		return props.getProperty(PROP_DEFAULT_DIAGRAM_FOLDER.getLocalName());
-	}
-	
-	public static String getDefaultPackage(IProject project, Properties props) {
-		return props.getProperty(PROP_DEFAULT_PACKAGE.getLocalName());
-	}
-	
-	public static String getDefaultTablePrefixName(IProject project, Properties props) {
-		return props.getProperty(PROP_DEFAULT_TABLE_NAME_PREFIX.getLocalName());
-	}
-	
-	public static boolean doesDirecteEditingAffectClassNameByDefault(IProject project, Properties props) {
-		return Boolean.parseBoolean(props.getProperty(PROP_DIRECT_EDIT_AFFECTS_CLASS.getLocalName()));
-	}
-	
-	public static boolean isAccessFieldBased(IProject project, Properties props) {
-		String accessType = props.getProperty(PROP_ACCESS_TYPE.getLocalName());
-		return accessType.equals("field");	//$NON-NLS-1$;
-	}	
-	
-	public static boolean isCollectionType(IProject project, Properties props) {
-		String accessType = props.getProperty(PROP_COLLECTION_TYPE.getLocalName());
-		return accessType.equals("collection");	//$NON-NLS-1$;
-	}
-	
-	public static boolean isListType(IProject project, Properties props) {
-		String accessType = props.getProperty(PROP_COLLECTION_TYPE.getLocalName());
-		return accessType.equals("list");	//$NON-NLS-1$;
-	}
-	
-	public static boolean isSetType(IProject project, Properties props) {
-		String accessType = props.getProperty(PROP_COLLECTION_TYPE.getLocalName());
-		return accessType.equals("set");	//$NON-NLS-1$;
-	}
-	
-	public static boolean isMapType(IProject project, Properties props) {
-		String accessType = props.getProperty(PROP_COLLECTION_TYPE.getLocalName());
-		return accessType.equals("map");	//$NON-NLS-1$;
-	}	
-	
-	public static boolean shouldOneToManyUnidirBeOldStyle(IProject project, Properties props) {
-		return Boolean.parseBoolean(props.getProperty(PROP_ONE_TO_MANY_OLD_STYLE.getLocalName()));
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertytester/JpaProjectFacetVersionPropertyTester.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertytester/JpaProjectFacetVersionPropertyTester.java
deleted file mode 100644
index 86a00f2..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertytester/JpaProjectFacetVersionPropertyTester.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.propertytester;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.jpt.jpa.core.JpaNode;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-public class JpaProjectFacetVersionPropertyTester extends PropertyTester{
-
-	public static final String ID = "jpt.jpa"; //$NON-NLS-1$
-	public static final IProjectFacet FACET = ProjectFacetsManager.getProjectFacet(ID);
-
-	public boolean test(Object receiver, String property, Object[] args,
-			Object value) {
-		
-		String[] subValues = ((String) value).split(":"); //$NON-NLS-1$
-		String receiverId = subValues[0];
-
-		if (receiver instanceof JpaNode) {
-			if(receiverId.equals(ID)){
-				return true;
-			}			
-		}
-		return false;
-	}	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/AddEntityContext.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/AddEntityContext.java
deleted file mode 100644
index 4974d9a..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/AddEntityContext.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.graphiti.features.context.impl.AddContext;
-
-public class AddEntityContext extends AddContext implements IAddEntityContext{
-	private boolean primaryCollapsed;
-	private boolean relationCollapsed;
-	private boolean basicCollapsed;
-	
-	public boolean isPrimaryCollapsed() {
-		return primaryCollapsed;
-	}
-	public void setPrimaryCollapsed(boolean primaryCollapsed) {
-		this.primaryCollapsed = primaryCollapsed;
-	}
-
-	public boolean isRelationCollapsed() {
-		return relationCollapsed;
-	}
-	public void setRelationCollapsed(boolean relationCollapsed) {
-		this.relationCollapsed = relationCollapsed;
-	}
-
-	public AddEntityContext(boolean primaryCollapsed,
-			boolean relationCollapsed, boolean basicCollapsed) {
-		super();
-		this.primaryCollapsed = primaryCollapsed;
-		this.relationCollapsed = relationCollapsed;
-		this.basicCollapsed = basicCollapsed;
-	}
-	
-	public boolean isBasicCollapsed() {
-		return basicCollapsed;
-	}
-	public void setBasicCollapsed(boolean basicCollapsed) {
-		this.basicCollapsed = basicCollapsed;
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IAddEntityContext.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IAddEntityContext.java
deleted file mode 100644
index c6d17c5..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IAddEntityContext.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-public interface IAddEntityContext {
-
-	public abstract boolean isPrimaryCollapsed();
-
-	public abstract boolean isRelationCollapsed();
-
-	public abstract boolean isBasicCollapsed();
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorFeatureProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorFeatureProvider.java
deleted file mode 100644
index 995bbc2..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorFeatureProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import java.util.Properties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.features.IDeleteFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.IModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IGraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-
-
-public interface IJPAEditorFeatureProvider extends IFeatureProvider{
-
-	public ICompilationUnit getCompilationUnit(JavaPersistentType jpt);
-	
-	public boolean hasObjectWithName(String name);
-
-	public String getKeyForBusinessObject(Object bo);
-
-	public Object remove(String key);
-	
-    public Object remove(String key, boolean save);	
-
-	public IRelation getRelationRelatedToAttribute(JavaPersistentAttribute jpa);
-	
-	public boolean existsRelation(JavaPersistentType jpt1, JavaPersistentType jpt2);
-
-	public Object getBusinessObjectForKey(String key);
-
-	public void addJPTForUpdate(String jptName);
-
-    public boolean doesRelationExist(JavaPersistentType owner, 
-			JavaPersistentType inverse, 
-			String ownerAttributeName,
-			RelType relType, 
-			RelDir relDir);
-    
-	public void restoreEntity(JavaPersistentType jpt);
-	
-	public void addRemoveIgnore(JavaPersistentType jpt, String atName);
-	
-	public void addAddIgnore(JavaPersistentType jpt, String atName);
-	
-    public void putKeyToBusinessObject(String key, Object bo);
-    
-	public int getAttribsNum(Shape sh);    
-    
-	public int increaseAttribsNum(Shape sh);
-	
-	public int decreaseAttribsNum(Shape sh);
-	
-    public void replaceAttribute(JavaPersistentAttribute oldAt, JavaPersistentAttribute newAt);
-    	
-	public void renewAttributeJoiningStrategyPropertyListener(JavaPersistentAttribute jpa);
-
-	public IPeServiceUtil getPeUtil();
-	
-	public IJPAEditorUtil getJPAEditorUtil();
-
-	public IDeleteFeature getDeleteFeature(IDeleteContext context);
-	
-	public ICustomFeature getAddAllEntitiesFeature();
-	
-	public IModelIntegrationUtil getMoinIntegrationUtil();
-	
-	public IGraphicsUpdater getGraphicsUpdater();
-
-	public void addAttribForUpdate(PersistenceUnit pu, String entAtMappedBy);
-	
-	public TransactionalEditingDomain getTransactionalEditingDomain();
-	
-	public Properties loadProperties(IProject project);
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorImageCreator.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorImageCreator.java
deleted file mode 100644
index 625d575..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorImageCreator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-
-public interface IJPAEditorImageCreator {
-	
-	static public enum RelEndDir {
-		UP,
-		LEFT,
-		RIGHT,
-		DOWN
-	}
-
-	public Polyline createConnectionLine(Diagram d, Connection connection);
-
-	//public ConnectionDecorator createTextConnectionDecorator(Connection connection, String text, double location);
-
-	public ConnectionDecorator createArrowConnectionDecorator(Connection connection, double location);
-
-	public ConnectionDecorator createManyEndWithArrowDecorator(Connection connection, double location);
-
-	public ConnectionDecorator createManyStartDecorator(Connection connection, double location);
-	
-	public ConnectionDecorator createManyEndDecorator(Connection connection, double location);
-
-	public ConnectionDecorator createIconConnectionDecorator(Connection connection, String iconId, double location);
-	
-	public ConnectionDecorator createCardinalityConnectionDecorator(Diagram d, Connection c, String text, double location);
-	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorContextMenuProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorContextMenuProvider.java
deleted file mode 100644
index 3b15f9b..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorContextMenuProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.graphiti.ui.editor.DiagramEditorContextMenuProvider;
-import org.eclipse.graphiti.ui.internal.config.IConfigurationProvider;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.swt.graphics.Point;
-
-@SuppressWarnings("restriction")
-public class JPAEditorContextMenuProvider extends DiagramEditorContextMenuProvider {
-	public JPAEditorContextMenuProvider(EditPartViewer viewer, 
-										ActionRegistry registry, 
-										IConfigurationProvider configurationProvider) {
-		super(viewer, registry, configurationProvider);
-	}
-		
-
-	protected void addDefaultMenuGroupEdit(IMenuManager manager, Point menuLocation) {
-	}
-	
-	protected void addActionToMenuIfAvailable(IMenuManager manager, String actionId, String menuGroup) {
-		if (actionId.equals("predefined remove action") ||	//$NON-NLS-1$
-			actionId.equals("predefined update action")) 	//$NON-NLS-1$
-			return;
-		super.addActionToMenuIfAvailable(manager, actionId, menuGroup);
-	}
-	
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorDiagramTypeProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorDiagramTypeProvider.java
deleted file mode 100644
index d89265d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorDiagramTypeProvider.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.dt.AbstractDiagramTypeProvider;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.tb.IToolBehaviorProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.EntitiesCoordinatesXML;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPACheckSum;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.SizePosition;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-
-public class JPAEditorDiagramTypeProvider extends AbstractDiagramTypeProvider {
-	
-	private IToolBehaviorProvider[] toolBehaviorProviders;
-    public final static String ID = "org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorDiagramTypeProvider"; //$NON-NLS-1$
-    boolean isDisposed = false;
-    boolean readOnly = false;
-	
-    public JPAEditorDiagramTypeProvider() {
-    	IFeatureProvider fp = new JPAEditorFeatureProvider(this, new JPASolver());
-        setFeatureProvider(fp);
-    }
-
-    @Override
-	public void init(Diagram diagram, IDiagramEditor diagramEditor) {
-    	super.init(diagram, diagramEditor);
-    	if (getTargetJPAProject() == null)
-    		closeEditor();
-    	JPAEditorDiagramTypeProvider provider = ModelIntegrationUtil.getProviderByDiagram(diagram.getName());
-    	if ((provider != null) && provider.isAlive()) 
-    		provider.getDiagramEditor().getSite().getWorkbenchWindow().getActivePage().closeEditor(provider.getDiagramEditor(), true);
-	}
-    
-    
-    @Override
-    public IToolBehaviorProvider[] getAvailableToolBehaviorProviders() {
-        if (toolBehaviorProviders == null) {
-            toolBehaviorProviders =
-                new IToolBehaviorProvider[] { new JPAEditorToolBehaviorProvider(this, EclipseFacade.INSTANCE) };
-        }
-        return toolBehaviorProviders;
-    }
-    
-    @Override
-	public JPAEditorFeatureProvider getFeatureProvider() {
-    	return (JPAEditorFeatureProvider)super.getFeatureProvider();
-    }
-    
-	@SuppressWarnings("restriction")
-	public boolean hasToAdd() {
-		JpaProject project = getTargetJPAProject();
-		PersistenceUnit unit = project.getRootContextNode().getPersistenceXml().
-								getPersistence().getPersistenceUnits().iterator().next();
-		
-		for (ClassRef classRef : unit.getClassRefs()) {
-			if (classRef.getJavaPersistentType() != null) { 
-				JavaPersistentType jpt = classRef.getJavaPersistentType(); 
-				if (jpt.getMappingKey() == MappingKeys.ENTITY_TYPE_MAPPING_KEY) {
-					PictogramElement pe = getFeatureProvider().getPictogramElementForBusinessObject(jpt);
-					if (pe == null)
-						return true;					
-				}
-			}
-		}		
-		return false;
-	}
-        
-    
-    @Override
-	public 	void postInit() {
-    	final String jptName = getDiagramEditor().getPartProperty(JPAEditorConstants.OPEN_WHOLE_PERSISTENCE_UNIT_EDITOR_PROPERTY);
-		if (jptName != null) {
-			boolean hasToAdd = hasToAdd(); 
-			boolean readOnly = openPersistedDiagram(hasToAdd);
-			if (hasToAdd && !readOnly)
-			addRemainingEntities();
-		} else
-			try {
-				openPersistedDiagram(false);
-			} catch (NullPointerException e) {
-				return;
-			}
-	}
-    
-    private void addRemainingEntities() {
-		final AddAllEntitiesFeature feature = new AddAllEntitiesFeature(getFeatureProvider());
-		final CustomContext context = new CustomContext();
-		TransactionalEditingDomain ted = ModelIntegrationUtil.getTransactionalEditingDomain(feature.getFeatureProvider().getDiagramTypeProvider().getDiagram());
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			@Override
-			protected void doExecute() {
-				feature.execute(context);
-			}
-		});
-	}
-
-    private void closeEditor() {
-		PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();					
-				page.closeEditor(getDiagramEditor(), false);
-			}
-		});    	
-    }
-    
-	private boolean openPersistedDiagram(boolean hasToAdd) {	
-		final JpaProject proj = getTargetJPAProject();
-		IProject project = proj.getProject();
-		final Diagram diagram = getDiagram();
-		ModelIntegrationUtil.putProjectToDiagram(project, diagram);
-		PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(proj);
-		String diagramName = pu.getName();
-	    IPath path = ModelIntegrationUtil.getDiagramsFolderPath(project).append(diagramName).addFileExtension(ModelIntegrationUtil.DIAGRAM_FILE_EXTENSION);
-		final IFile f = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-		boolean readOnly = (f != null) && f.exists() && f.isReadOnly();
-		if (readOnly) {
-			if (JPACheckSum.INSTANCE().isModelDifferentFromDiagram(diagram, proj) || hasToAdd) {
-				String message = hasToAdd ? JPAEditorMessages.JPAEditorDiagramTypeProvider_JPADiagramReadOnlyHasToAddMsg : 
-								JPAEditorMessages.JPAEditorDiagramTypeProvider_JPADiagramReadOnlyMsg;
-				MessageDialog dialog = new MessageDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
-						JPAEditorMessages.JPAEditorDiagramTypeProvider_JPADiagramReadOnlyTitle, null, message,
-						MessageDialog.INFORMATION, new String[] {JPAEditorMessages.BTN_OK, JPAEditorMessages.BTN_CANCEL}, 0) {
-					@Override
-					protected int getShellStyle() {
-						return SWT.TITLE | SWT.BORDER
-							| SWT.APPLICATION_MODAL
-							| getDefaultOrientation();
-					}
-				};
-				if (dialog.open() == 1) {
-					closeEditor();		
-					return true;
-				} else {
-					IStatus stat = ResourcesPlugin.getWorkspace().validateEdit(new IFile[]{f}, null);
-					if (!stat.isOK()) {
-						message = NLS.bind(JPAEditorMessages.JPAEditorDiagramTypeProvider_cantMakeDiagramWritableMsg, 
-								stat.getMessage());;
-						dialog = new MessageDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
-								JPAEditorMessages.JPAEditorDiagramTypeProvider_cantMakeDiagramWritableTitle, null, message,
-								MessageDialog.CANCEL, new String[] {JPAEditorMessages.BTN_OK}, 0) {
-							@Override
-							protected int getShellStyle() {
-								return SWT.CLOSE | SWT.TITLE | SWT.BORDER
-									| SWT.APPLICATION_MODAL
-									| getDefaultOrientation();
-							}
-						};
-						dialog.open();
-						closeEditor();						
-						return true;
-					} else {
-						readOnly = false;
-					}
-				}
-			} else {
-				return readOnly;
-			}
-		}
-		
-		removeConnections();
-		
-		final Hashtable<String, SizePosition> marks = new Hashtable<String, SizePosition>(); 				
-		EntitiesCoordinatesXML xml = new EntitiesCoordinatesXML(project.getName());
-		xml.load(marks);
-		xml.clean();
-				
-		List<Shape> picts = diagram.getChildren();
-		Iterator<Shape> it = picts.iterator();
-		HashSet<Shape> toDelete = new HashSet<Shape>();
-		// collecting data from the saved pictograms
-		while (it.hasNext()) {
-			Shape pict = it.next();
-			toDelete.add(pict);
-		}
-		
-		final Iterator<Shape> iter = toDelete.iterator();
-				
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(diagram);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			@Override
-			protected void doExecute() {
-				while (iter.hasNext())
-					Graphiti.getPeService().deletePictogramElement(iter.next());
-				Collection<Connection> cns = diagram.getConnections();
-				Iterator<Connection> itera = cns.iterator();
-				Set<Connection> toDel = new HashSet<Connection>();
-				while (itera.hasNext()) 
-					toDel.add(itera.next());
-				itera = toDel.iterator();
-				while (itera.hasNext())
-					Graphiti.getPeService().deletePictogramElement(itera.next());		
-				
-				Enumeration<String> itr = marks.keys();
-				
-				// create new pictograms
-				while (itr.hasMoreElements()) {
-					String entityName = itr.nextElement();
-					JavaPersistentType jpt = JpaArtifactFactory.instance().getContextPersistentType(proj, entityName);
-					if (jpt != null) {
-						SizePosition sp = marks.get(entityName);
-						AddContext ctx = new AddEntityContext(sp.primaryCollapsed,
-								sp.relationCollapsed, sp.basicCollapsed);
-						ctx.setNewObject(jpt);
-						ctx.setTargetContainer(getDiagram());
-						ctx.setWidth(sp.getWidth());
-						ctx.setHeight(sp.getHeight());
-						ctx.setX(sp.getX());
-						ctx.setY(sp.getY());
-						AddJPAEntityFeature ft = new AddJPAEntityFeature(getFeatureProvider());
-						ft.add(ctx);
-					}
-				}
-			}			
-		});
-		getDiagramEditor().saveWithoutEntities(new NullProgressMonitor());
-
-		// delete old pictograms
-		return false;
-	}
-
-	private void removeConnections() {
-		Collection<org.eclipse.graphiti.mm.pictograms.Connection> cons = getDiagram().getConnections();
-		Iterator<org.eclipse.graphiti.mm.pictograms.Connection> consIt = cons.iterator();
-		Collection<org.eclipse.graphiti.mm.pictograms.Connection> allCons = new HashSet<org.eclipse.graphiti.mm.pictograms.Connection>();
-		while (consIt.hasNext()) {
-			org.eclipse.graphiti.mm.pictograms.Connection con = consIt.next();
-			allCons.add(con);
-		}
-		consIt = allCons.iterator();
-		while (consIt.hasNext()) {
-			org.eclipse.graphiti.mm.pictograms.Connection con = consIt.next();
-	    	RemoveContext ctx = new RemoveContext(con);
-	    	RemoveRelationFeature ft = new RemoveRelationFeature(getFeatureProvider());
-	    	ft.remove(ctx);			
-		}		
-	}
-	
-	@Override
-	public JPADiagramEditor getDiagramEditor() {
-		return (JPADiagramEditor)super.getDiagramEditor();
-	}    
-    
-	private JpaProject getTargetJPAProject() {
-		return ModelIntegrationUtil.getProjectByDiagram(getDiagram().getName());
-	}
-	
-	public boolean isAlive() {
-		return !isDisposed;
-	}
-	           
-	@Override
-	public void dispose() {
-		super.dispose();
-		setFeatureProvider(null);
-		isDisposed = true;
-	}
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorFeatureProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorFeatureProvider.java
deleted file mode 100644
index bc94dcc..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorFeatureProvider.java
+++ /dev/null
@@ -1,641 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.ICreateConnectionFeature;
-import org.eclipse.graphiti.features.ICreateFeature;
-import org.eclipse.graphiti.features.IDeleteFeature;
-import org.eclipse.graphiti.features.IDirectEditingFeature;
-import org.eclipse.graphiti.features.ILayoutFeature;
-import org.eclipse.graphiti.features.IMoveConnectionDecoratorFeature;
-import org.eclipse.graphiti.features.IMoveShapeFeature;
-import org.eclipse.graphiti.features.IReason;
-import org.eclipse.graphiti.features.IRemoveFeature;
-import org.eclipse.graphiti.features.IResizeShapeFeature;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.context.IDirectEditingContext;
-import org.eclipse.graphiti.features.context.ILayoutContext;
-import org.eclipse.graphiti.features.context.IMoveConnectionDecoratorContext;
-import org.eclipse.graphiti.features.context.IMoveShapeContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.IResizeShapeContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.features.impl.Reason;
-import org.eclipse.graphiti.internal.services.GraphitiInternal;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.ui.features.DefaultFeatureProvider;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.internal.core.CompilationUnit;
-import org.eclipse.jdt.internal.core.SourceType;
-import org.eclipse.jpt.jpa.core.JpaNode;
-import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickAddAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickRemoveAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseCompartmentShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateJPAEntityFromMappedSuperclassFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToManyBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToManyUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToOneBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToOneUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToManyUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToOneBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToOneUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DirectEditAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DirectEditJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandCompartmentShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.JPAMoveConnectionDecoratorFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.LayoutJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.MoveAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.MoveEntityShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ResizeAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ResizeJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.IModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtilImpl;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdaterImpl;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IGraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJpaSolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtilImpl;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.PeServiceUtilImpl;
-import org.eclipse.ui.PlatformUI;
-
-
-@SuppressWarnings("restriction")
-public class JPAEditorFeatureProvider extends DefaultFeatureProvider implements IJPAEditorFeatureProvider {
-	
-	private ClickAddAttributeButtonFeature clickAddAttBtnFeat = null;
-	private ClickRemoveAttributeButtonFeature clickRemoveAttBtnFeat = null;
-	private IPeServiceUtil peUtil = new PeServiceUtilImpl();
-	private IJPAEditorUtil jpaEditorUtil = new JPAEditorUtilImpl();
-	private IModelIntegrationUtil moinIntegrationUtil = new ModelIntegrationUtilImpl(); 
-	private IGraphicsUpdater graphicsUpdater = new GraphicsUpdaterImpl(); 
-	
-    public JPAEditorFeatureProvider(IDiagramTypeProvider dtp, IJpaSolver is) {
-        super(dtp);
-        is.setFeatureProvider(this);
-        this.setIndependenceSolver(is);
-    }
-    
-    public void stopThread() {
-    	if (getIndependenceSolver() != null)
-    		((JPASolver)getIndependenceSolver()).stopThread();
-    }
-    
-	public void addJPTForUpdate(String jptName) {
-		((JPASolver)getIndependenceSolver()).addJPTForUpdate(jptName);
-	}
-
-    	
-	public void addRemoveIgnore(JavaPersistentType jpt, String atName) {
-		((JPASolver)getIndependenceSolver()).addRemoveIgnore(jpt.getName() + "." + atName);  //$NON-NLS-1$
-	}
-	
-	public void addAddIgnore(JavaPersistentType jpt, String atName) {
-		((JPASolver)getIndependenceSolver()).addAddIgnore(jpt.getName() + "." + atName); //$NON-NLS-1$
-	}
-	
-	public HashSet<String> getAddIgnore() {
-		return ((JPASolver)getIndependenceSolver()).getAddIgnore(); 
-	}
-
-	
-	public void addAttribForUpdate(PersistenceUnit pu, String entAtMappedBy) {
-		((JPASolver)getIndependenceSolver()).addAttribForUpdate(pu, entAtMappedBy);
-	}
-
-	public boolean existsRelation(JavaPersistentType jpt1, JavaPersistentType jpt2) {
-		return ((JPASolver)getIndependenceSolver()).existsRelation(jpt1, jpt2);
-	}
-    
-    @Override
-    public IAddFeature getAddFeature(IAddContext context) {
-    	Object newObj = context.getNewObject(); 
-        if (newObj instanceof JavaPersistentType) {
-            return new AddJPAEntityFeature(this);
-        } else if (newObj instanceof AbstractRelation) {
-        	 return new AddRelationFeature(this);
-        } else if (newObj instanceof PersistentAttribute) { 
-        	if (Diagram.class.isInstance(context.getTargetContainer())) {     			
-        		return null;
-        	} else {
-        		return new AddAttributeFeature(this);
-        	}
-        } else if (newObj instanceof CompilationUnit) {
-        	CompilationUnit cu = (CompilationUnit)newObj;
-        	JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
-        	if (jpt != null) return new AddJPAEntityFeature(this);
-        } else if ((newObj instanceof JpaNode)) {
-        	return new AddAllEntitiesFeature(this);
-        } else if (newObj instanceof SourceType) {
-        	return new AddJPAEntityFeature(this);
-        }
-        return super.getAddFeature(context);
-    }
-    
-    
-    @Override
-    public ICreateFeature[] getCreateFeatures() {
-    	return new ICreateFeature[] { new CreateJPAEntityFeature(this), new CreateJPAEntityFromMappedSuperclassFeature(this) };
-    }
-    
-    @Override
-	public IDeleteFeature getDeleteFeature(IDeleteContext context) {
-    	PictogramElement pe = context.getPictogramElement();
-    	Object bo = getBusinessObjectForPictogramElement(pe);
-    	if (bo instanceof JavaPersistentType) {
-    		return new DeleteJPAEntityFeature(this);	
-    	} else if (bo instanceof AbstractRelation) {
-    		return new DeleteRelationFeature(this);
-    	} else if (bo instanceof JavaPersistentAttribute) {
-    		return new ClickRemoveAttributeButtonFeature(this);
-    	}
-		return null;
-	}    
-
-	@Override
-	public ICustomFeature[] getCustomFeatures(ICustomContext context) {
-		ICustomFeature[] ret = super.getCustomFeatures(context);
-		List<ICustomFeature> retList = new ArrayList<ICustomFeature>();
-		for (int i = 0; i < ret.length; i++) {
-			retList.add(ret[i]);
-		}
-		
-		retList.add(new CollapseAllEntitiesFeature(this));
-
-		retList.add(new CollapseEntityFeature(this));
-		retList.add(new ExpandEntityFeature(this));
-	
-		retList.add(new CollapseCompartmentShapeFeature(this));
-		retList.add(new ExpandCompartmentShapeFeature(this));
-		
-		ret = retList.toArray(ret);
-		return ret;
-	}
-    
-    
-    @Override
-    public IResizeShapeFeature getResizeShapeFeature(IResizeShapeContext context) {
-		PictogramElement pe = context.getPictogramElement();
-		if (getBusinessObjectForPictogramElement(pe) instanceof JavaPersistentType) {
-			return new ResizeJPAEntityFeature(this);
-		}
-    	GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
-    	if (ga == null) 
-    		return super.getResizeShapeFeature(context);
-    	List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
-    	if ((ch != null) && (ch.size() > 0) && (ch.get(0) instanceof Text)) {
-    		return new ResizeAttributeFeature(this);
-    	}
-		
-		return super.getResizeShapeFeature(context);
-    }
-      
-    
-   
-    
-    @Override
-    public ILayoutFeature getLayoutFeature(ILayoutContext context) {
-        PictogramElement pictogramElement = context.getPictogramElement();
-        Object bo = getBusinessObjectForPictogramElement(pictogramElement);
-        if (bo instanceof JavaPersistentType) {
-            return new LayoutJPAEntityFeature(this);
-        }
-        return super.getLayoutFeature(context);
-    }
-    
-    
-    @Override
-    public IRemoveFeature getRemoveFeature(IRemoveContext context) {
-        PictogramElement pe = context.getPictogramElement();
-        Object bo = getBusinessObjectForPictogramElement(pe);   
-        if (bo == null)
-        	super.getRemoveFeature(context);
-    	if (bo instanceof JavaPersistentType) {
-    		return new RemoveJPAEntityFeature(this);	
-    	} else if (bo instanceof AbstractRelation) { 
-    		return new RemoveRelationFeature(this);
-    	}
-    	GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
-    	if (ga == null) 
-    		return super.getRemoveFeature(context);
-    	List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
-    	if ((ch != null) && (ch.size() > 0) && (ch.get(0) instanceof Text)) {
-    		return new RemoveAttributeFeature(this);
-    	}
-    	return super.getRemoveFeature(context);
-    }
-        
-    @Override
-    public ICreateConnectionFeature[] getCreateConnectionFeatures() {
-        return new ICreateConnectionFeature[] {
-        	new CreateOneToOneUniDirRelationFeature(this),
-            new CreateOneToOneBiDirRelationFeature(this),           
-        	new CreateOneToManyUniDirRelationFeature(this),                    
-        	new CreateManyToOneUniDirRelationFeature(this),
-            new CreateManyToOneBiDirRelationFeature(this),            
-        	new CreateManyToManyUniDirRelationFeature(this),
-            new CreateManyToManyBiDirRelationFeature(this)
-        };
-    }
-    
-    @Override
-    public IReason canAdd(IAddContext context) {
-    	return Reason.createTrueReason();
-    }
-    
-    public ICustomFeature getAddAllEntitiesFeature() {
-    	return new AddAllEntitiesFeature(this); 
-    }
-    
-    @Override
-    public IMoveShapeFeature getMoveShapeFeature(IMoveShapeContext context) {
-        PictogramElement pe = context.getPictogramElement();
-        Object bo = getBusinessObjectForPictogramElement(pe);
-        if (JavaPersistentType.class.isInstance(bo)) {
-        	return new MoveEntityShapeFeature(this);
-        }
-        if(bo == null){
-    		return new MoveAttributeFeature(this);
-        } 
-    	GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
-    	if (ga == null) 
-    		return super.getMoveShapeFeature(context);
-    	List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
-    	if ((ch != null) && (ch.size() > 0) && (ch.get(0) instanceof Text)) {
-    		return new MoveAttributeFeature(this);
-    	}
-        return super.getMoveShapeFeature(context);
-    }
-    
-    
-    @Override
-    public IDirectEditingFeature getDirectEditingFeature(IDirectEditingContext context) {
-        PictogramElement pe = context.getPictogramElement();
-        GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
-        if (!(ga instanceof Rectangle)) 
-        	return super.getDirectEditingFeature(context);
-        List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
-        if ((ch == null) || (ch.size() == 0)) 
-        	return super.getDirectEditingFeature(context);
-        ga = ch.get(0);
-        if (!(ga instanceof Text)) 
-        	return super.getDirectEditingFeature(context);
-        if(((Text)ga).getFont().isItalic())
-    		return super.getDirectEditingFeature(context);
-        Object bo = getBusinessObjectForPictogramElement(pe);
-        if (bo != null) {
-        	if (bo instanceof JavaPersistentAttribute) {
-        		return new DirectEditAttributeFeature(this);
-        	}
-        }
-        if (!(pe instanceof Shape)) 
-        	return super.getDirectEditingFeature(context);
-        Shape sh = (Shape)pe;
-        ContainerShape csh = sh.getContainer();
-        if (csh == null) 
-        	return super.getDirectEditingFeature(context); 
-        bo = getBusinessObjectForPictogramElement(csh);
-        if (bo instanceof JavaPersistentType){ 
-            return new DirectEditJPAEntityFeature(this);
-        }
-        return super.getDirectEditingFeature(context);
-    }
-    
-    public void addMissingRelations(JavaPersistentType newEntity, ContainerShape newShape) {
-        Collection<PictogramElement> allContainedPictogramElements = Graphiti.getPeService()
-        .getAllContainedPictogramElements(getDiagramTypeProvider().getDiagram());
-        
-        for (PictogramElement pe : allContainedPictogramElements) {
-        	if ((pe != newShape) && (pe instanceof ContainerShape)) {
-        		JavaPersistentType entity = (JavaPersistentType)getBusinessObjectForPictogramElement(pe);
-        		AbstractRelation newRel = produceNecessaryRelation(newEntity, entity);
-        		if (newRel != null) {
-        			JavaPersistentType owner = newRel.getOwner();
-        			JavaPersistentType inverse = newRel.getInverse();
-        			ContainerShape ownerShape = (ContainerShape)getPictogramElementForBusinessObject(owner);
-        			ContainerShape inverseShape = (ContainerShape)getPictogramElementForBusinessObject(inverse);
-         			AddRelationFeature f = new AddRelationFeature(this);
-        			AddConnectionContext ctx = 
-        				new AddConnectionContext(JPAEditorUtil.getAnchor(ownerShape), JPAEditorUtil.getAnchor(inverseShape));
-        			f.add(ctx);
-        		}
-        	}
-        }
-    }
-    
-	public void renewAttributeJoiningStrategyPropertyListener(JavaPersistentAttribute jpa) {
-		((JPASolver)getIndependenceSolver()).renewAttributeJoiningStrategyPropertyListener(jpa);
-	}
-        
-    private AbstractRelation produceNecessaryRelation(JavaPersistentType ent1, JavaPersistentType ent2) {
-    	return null;
-    }
-    
-	public String produceKeyForRel(JavaPersistentType jpt, String attributeName) {
-		return ((JPASolver)getIndependenceSolver()).produceKeyForRel(jpt, attributeName);
-	}
-
-    
-    public ClickAddAttributeButtonFeature getClickAddAttributeButtonFeature() {
-    	if (clickAddAttBtnFeat == null) {
-    		clickAddAttBtnFeat = new ClickAddAttributeButtonFeature(this);
-    	}
-    	return clickAddAttBtnFeat;
-    }
-    
-    public ClickRemoveAttributeButtonFeature getClickRemoveAttributeButtonFeature() {
-    	if (clickRemoveAttBtnFeat == null) {
-    		clickRemoveAttBtnFeat = new ClickRemoveAttributeButtonFeature(this);
-    	}
-    	return clickRemoveAttBtnFeat;
-    }    
-    
-    @Override
-    public IMoveConnectionDecoratorFeature getMoveConnectionDecoratorFeature(
-    		IMoveConnectionDecoratorContext context) {
-      	 return new JPAMoveConnectionDecoratorFeature(this);
-    }
-
-    public Object getBusinessObjectForKey(String key) {
-    	return getIndependenceSolver().getBusinessObjectForKey(key);
-    }
-    
-    public String getKeyForBusinessObject(Object bo) {
-    	return getIndependenceSolver().getKeyForBusinessObject(bo);
-    }
-        
-    public void putKeyToBusinessObject(String key, Object bo) {
-    	((JPASolver)getIndependenceSolver()).addKeyBusinessObject(key, bo);
-    }  
-    
-    public Object remove(String key) {
-    	return remove(key, false);
-    }
-    
-    public Object remove(String key, boolean save) {
-    	Object res = getBusinessObjectForKey(key);
-    	if (res instanceof JavaPersistentType) {
-    		final JavaPersistentType jpt = (JavaPersistentType)res;
-    		if (save)
-    			JpaArtifactFactory.instance().forceSaveEntityClass(jpt, this);
-    		if(!(jpt.getMapping() instanceof JavaEntity)){
-    			PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
-    				public void run() {
-    			          removeFromDiagramIfNotEntity(jpt);
-    				}});
-    		}
-
-    	}
-    	return ((JPASolver)getIndependenceSolver()).remove(key);
-    }    
-    
-    
-    protected void removeAllConnections(Shape shape) {
-		for (Iterator<Anchor> iter = shape.getAnchors().iterator(); iter.hasNext();) {
-			Anchor anchor = iter.next();
-			for (Iterator<Connection> iterator = Graphiti.getPeService().getAllConnections(anchor).iterator(); iterator.hasNext();) {
-				Connection connection = iterator.next();
-				if (GraphitiInternal.getEmfService().isObjectAlive(connection)) {
- 					Object ob = getBusinessObjectForPictogramElement(connection);
-						if(ob instanceof AbstractRelation){
-							String key = getKeyForBusinessObject(ob);
-							((JPASolver)getIndependenceSolver()).remove(key);
-						}
-					Graphiti.getPeService().deletePictogramElement(connection);
-				}
-			}
-		}
-	}
-
-    
-    private void removeFromDiagramIfNotEntity(final JavaPersistentType jpt) {
-		final PictogramElement cs = this.getPictogramElementForBusinessObject(jpt);
-		if (cs != null) {
-			final Shape shape = (Shape) cs;
-			TransactionalEditingDomain ted = ModelIntegrationUtil.getTransactionalEditingDomain(this
-							                                           .getDiagramTypeProvider().getDiagram());
-			ted.getCommandStack().execute(new RecordingCommand(ted) {
-				@Override
-				protected void doExecute() {
-					removeAllConnections(shape);
-					Graphiti.getPeService().deletePictogramElement(cs);
-				}
-			});
-		}
-	}
-
-
-    
-    public boolean hasObjectWithName(String name) {
-    	return ((JPASolver)getIndependenceSolver()).containsKey(name);
-    }
-    
-    public void replaceAttribute(final JavaPersistentAttribute oldAt, final JavaPersistentAttribute newAt) {
-    	final PictogramElement pe = this.getPictogramElementForBusinessObject(oldAt);
-    	if (pe == null) {
-    		//System.err.println("PictogramElement is null\n");
-    		throw new RuntimeException();    		
-    		//return;
-    	}
-    	TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
-    	ted.getCommandStack().execute(new RecordingCommand(ted) {
-			protected void doExecute() {
-		    	JPASolver solver = (JPASolver)getIndependenceSolver(); 
-		    	solver.remove(solver.getKeyForBusinessObject(oldAt));
-		    	solver.addKeyBusinessObject(solver.getKeyForBusinessObject(newAt), newAt);
-		    	if (newAt == null) {
-					JPADiagramEditorPlugin.logError("New attribute is null\n", new Exception()); //$NON-NLS-1$
-		    		return;
-		    	}
-		    	link(pe, newAt);
-		    	GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
-		    	if (ga == null)
-		    		return;
-		    	List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
-		    	((Text)ch.get(0)).setValue(newAt.getName());
-			}
-    	});
-    }
-    
-    public boolean doesRelationExist(JavaPersistentType owner, 
-			JavaPersistentType inverse, 
-			String ownerAttributeName,
-			RelType relType, 
-			RelDir relDir) {
-    	
-    	String id = AbstractRelation.generateId(owner, inverse, ownerAttributeName, relType, relDir);
-    	return (getBusinessObjectForKey(id) != null);
-    }   
-    
-	public boolean isRelationRelatedToAttribute(JavaPersistentAttribute jpa) {
-		return ((JPASolver)getIndependenceSolver()).isRelationRelatedToAttribute(jpa);
-	}
-	
-	public IRelation getRelationRelatedToAttribute(JavaPersistentAttribute jpa) {
-		return ((JPASolver)getIndependenceSolver()).getRelationRelatedToAttribute(jpa);
-	}    
-		
-	public ICompilationUnit getCompilationUnit(JavaPersistentType jpt) {
-		return ((JPASolver)getIndependenceSolver()).getCompilationUnit(jpt);
-	}
-
-	public void restoreEntity(JavaPersistentType jpt) {
-		((JPASolver)getIndependenceSolver()).restoreEntity(jpt);
-	}
-	
-	public int getAttribsNum(Shape sh) {
-		String s = Graphiti.getPeService().getPropertyValue(sh, JPAEditorConstants.PROP_ATTRIBS_NUM);
-		int res = 0;
-		if (s == null) {
-			setAttribsNum(0, sh);
-		} else {
-			res = Integer.parseInt(s);
-		}
-		return res;
-	}
-	
-	public int increaseAttribsNum(Shape sh) {
-		int attribsNum = getAttribsNum(sh);
-		attribsNum++;
-		setAttribsNum(attribsNum, sh);
-		return attribsNum;
-	}
-	
-	public int decreaseAttribsNum(Shape sh) {
-		int attribsNum = getAttribsNum(sh);
-		attribsNum--;
-		setAttribsNum(attribsNum, sh);
-		return attribsNum;
-	}	
-	
-	public void setAttribsNum(int newAttribsNum, Shape sh) {
-		Graphiti.getPeService().setPropertyValue(sh, JPAEditorConstants.PROP_ATTRIBS_NUM, "" + newAttribsNum); //$NON-NLS-1$
-	}
-	
-	/*
-	public Collection<ResourceOperation> getAffectedPartitionsForModification() {
-		return new HashSet<ResourceOperation>();
-	}
-	*/
-
-	public void dispose() {
-		stopThread();
-		((JPASolver)getIndependenceSolver()).dispose();
-		setIndependenceSolver(null);
-	}
-
-
-	public IPeServiceUtil getPeUtil() {
-		return peUtil;
-	}
-	
-	public IJPAEditorUtil getJPAEditorUtil() {
-		return this.jpaEditorUtil;
-	}
-	
-	public IModelIntegrationUtil getMoinIntegrationUtil() {
-		return moinIntegrationUtil;
-	}
-	
-	public IGraphicsUpdater getGraphicsUpdater() {
-		return graphicsUpdater;
-	}
-
-	public TransactionalEditingDomain getTransactionalEditingDomain() {
-		Diagram diagram = getDiagramTypeProvider().getDiagram();
-		return TransactionUtil.getEditingDomain(diagram);
-	}
-	
-	public PictogramElement getPictogramElementForBusinessObject(Object businessObject) {
-		PictogramElement pe = super.getPictogramElementForBusinessObject(businessObject);
-		/*
-		int cnt = 0;
-		while ((pe == null) && (cnt < 20)) {
-			//System.out.println("loop");
-			try {
-				Thread.sleep(250);
-			} catch (InterruptedException e) {
-			}
-			System.out.println("loop; hc:" + businessObject.hashCode());
-			pe = super.getPictogramElementForBusinessObject(businessObject);
-			cnt++;
-		}
-		if (pe == null) {
-			System.out.println("FP - PE is null; hc:" + businessObject.hashCode());
-		}
-		*/
-		return pe;
-	}
-	
-	public Properties loadProperties(IProject project) {
-		return JPADiagramPropertyPage.loadProperties(project);
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageCreator.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageCreator.java
deleted file mode 100644
index eb31980..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageCreator.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.util.IColorConstant;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.swt.graphics.Point;
-
-public class JPAEditorImageCreator implements IJPAEditorImageCreator {
-
-	public Polyline createConnectionLine(Diagram d, Connection connection) {
-		Polyline polyline = Graphiti.getGaService().createPolyline(connection);
-		polyline.setForeground(Graphiti.getGaService().manageColor(d, JPAEditorConstants.CONNECTION_LINE_COLOR));
-		polyline.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
-		return polyline;
-	}
-
-	/*
-	public ConnectionDecorator createTextConnectionDecorator(Connection connection, String text, double location) {
-		ConnectionDecorator textDecorator = Graphiti.getPeService().createConnectionDecorator(connection, true, 0.5, true);
-		Text txt = Graphiti.getGaService().createDefaultText(textDecorator);
-		txt.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
-		txt.setValue(text);
-		Graphiti.getGaService().manageColor(connection.getParent(), IColorConstant.BLACK);
-		Graphiti.getGaService().setLocation(txt, 5, -20);
-		return textDecorator;
-	}
-	*/
-	
-	public ConnectionDecorator createCardinalityConnectionDecorator(Diagram d, Connection c, String text, double location) {
-		ConnectionDecorator textDecorator = Graphiti.getPeService().createConnectionDecorator(c, true, location, true);
-		Text txt = Graphiti.getGaService().createDefaultText(d, textDecorator);
-		txt.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
-		txt.setValue(text);
-		Graphiti.getGaService().manageColor(c.getParent(), IColorConstant.BLACK);
-		Point pt = JPAEditorUtil.recalcTextDecoratorPosition((FreeFormConnection)c, textDecorator);
-		Graphiti.getGaService().setLocation(txt, pt.x, pt.y, false);
-		return textDecorator;
-	}
-
-	public ConnectionDecorator createArrowConnectionDecorator(Connection connection, double location) {
-		ConnectionDecorator cd = Graphiti.getPeService().createConnectionDecorator(connection, false, location, true);
-		Polyline arrow = null; 
-			arrow = Graphiti.getGaService().createPolyline(cd, new int[] { 11, 3, 0, 0, 11, -3, 11, 3});
-		arrow.setForeground(Graphiti.getGaService().manageColor(connection.getParent(), JPAEditorConstants.CONNECTION_LINE_COLOR));
-		arrow.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
-		return cd;
-	}
-
-	public ConnectionDecorator createManyEndWithArrowDecorator(Connection connection, double location) {
-		ConnectionDecorator cd = Graphiti.getPeService().createConnectionDecorator(connection, false, location, true);
-		Polyline arrow = null;
-		arrow = Graphiti.getGaService().createPolyline(cd, new int[] { -2, 7, 6, 0, -2, -7, 6, 0, 20, 3, 20, -3, 7, 0});
-		arrow.setForeground(Graphiti.getGaService().manageColor(connection.getParent(), JPAEditorConstants.CONNECTION_LINE_COLOR));
-		arrow.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
-		return cd;
-	}
-
-	public ConnectionDecorator createManyEndDecorator(Connection connection, double location) {
-		ConnectionDecorator cd = Graphiti.getPeService().createConnectionDecorator(connection, false, location, true);
-		Polyline arrow = null;
-		arrow = Graphiti.getGaService().createPolyline(cd, new int[] { 0, 7, 
-													 8, 0, 
-													0, -7 });
-		arrow.setForeground(Graphiti.getGaService().manageColor(connection.getParent(), JPAEditorConstants.CONNECTION_LINE_COLOR));
-		arrow.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
-		return cd;
-	}
-	
-	public ConnectionDecorator createManyStartDecorator(Connection connection, double location) {
-		ConnectionDecorator cd = Graphiti.getPeService().createConnectionDecorator(connection, false, location, true);
-		Polyline arrow = null;
-		arrow = Graphiti.getGaService().createPolyline(cd, new int[] {0, 7, 
-													 -8, 0, 
-													0, -7 });		
-		arrow.setForeground(Graphiti.getGaService().manageColor(connection.getParent(), JPAEditorConstants.CONNECTION_LINE_COLOR));
-		arrow.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
-		return cd;
-	}	
-
-	public ConnectionDecorator createIconConnectionDecorator(Connection connection, String iconId, double location) {
-		ConnectionDecorator iconDecorator = Graphiti.getPeService().createConnectionDecorator(connection, true, location, true);
-		Image icon = Graphiti.getGaService().createImage(connection, iconId);
-		Graphiti.getGaService().setLocation(icon, 5, -20);
-		return iconDecorator;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageProvider.java
deleted file mode 100644
index 46905ae..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageProvider.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.graphiti.ui.platform.AbstractImageProvider;
-
-public class JPAEditorImageProvider extends AbstractImageProvider {
-
-    public final static String ID = "org.eclipse.jpt.jpadiagrameditor.ui.JPAEditorImageProvider";	//$NON-NLS-1$
-    static final String PRE = "org.eclipse.jpt.jpadiagrameditor.ui."; 							//$NON-NLS-1$
-    public static final String JPA_ENTITY = PRE + "entity"; 								//$NON-NLS-1$
-    public static final String ADD_JPA_ENTITY = PRE + "add_entity"; 								//$NON-NLS-1$    
-    public static final String ADD_INHERITED_ENTITY = PRE + "mapped_superclass";            //$NON-NLS-1$
-    public static final String PRIMARY_KEY = PRE + "pk"; 									//$NON-NLS-1$
-    public static final String ICON_BASIC = PRE + "field"; 										//$NON-NLS-1$
-    public static final String ADD_ATTRIBUTE = PRE + "add_attribute"; 						//$NON-NLS-1$
-    public static final String REMOVE_ATTRIBUTE = PRE + "remove_attribute"; 				//$NON-NLS-1$
-    public static final String ICON_ONE_TO_ONE = PRE + "one_to_one_relation"; 			//$NON-NLS-1$
-    public static final String ICON_ONE_TO_MANY = PRE + "one_to_many_relation"; 			//$NON-NLS-1$
-    public static final String ICON_MANY_TO_ONE = PRE + "many_to_one_relation"; 			//$NON-NLS-1$
-    public static final String ICON_MANY_TO_MANY = PRE + "many_to_many_relation"; 			//$NON-NLS-1$
-    public static final String ICON_EMBEDDED_ID = PRE + "embedded_id"; //$NON-NLS-1$
-    public static final String ICON_VERSION = PRE + "version"; //$NON-NLS-1$ 
-    public static final String ICON_TRANSIENT = PRE + "transient"; //$NON-NLS-1$  
-    public static final String ICON_EMBEDDED = PRE + "embedded"; //$NON-NLS-1$ 
-    public static final String ICON_UNMAPPED = PRE + "unmapped"; //$NON-NLS-1$  
-
-
-    public static final String ICON_ONE_TO_ONE_1_DIR = PRE + "one_to_one_1_dir_relation"; 			//$NON-NLS-1$
-    public static final String ICON_ONE_TO_MANY_1_DIR = PRE + "one_to_many_1_dir_relation"; 			//$NON-NLS-1$
-    public static final String ICON_MANY_TO_ONE_1_DIR = PRE + "many_to_one_1_dir_relation"; 			//$NON-NLS-1$    
-    public static final String ICON_MANY_TO_MANY_1_DIR = PRE + "many_to_many_1_dir_relation"; 			//$NON-NLS-1$
-
-    public static final String ICON_ONE_TO_ONE_2_DIR = PRE + "one_to_one_2_dir_relation"; 			//$NON-NLS-1$
-    public static final String ICON_MANY_TO_ONE_2_DIR = PRE + "many_to_one_2_dir_relation"; 			//$NON-NLS-1$    
-    public static final String ICON_MANY_TO_MANY_2_DIR = PRE + "many_to_many_2_dir_relation"; 			//$NON-NLS-1$
-    
-    
-    public static final String ICON_SAVE = PRE + "save"; 			//$NON-NLS-1$
-    public static final String ICON_RESTORE = PRE + "restore"; 			//$NON-NLS-1$
-    public static final String ICON_SAVE_AND_REMOVE = PRE + "save_and_remove"; 			//$NON-NLS-1$
-
-	private static final String ROOT_FOLDER_FOR_IMG = "icons/"; //$NON-NLS-1$
-
-    public JPAEditorImageProvider() {
-        super();
-    }
-
-    @Override
-    protected void addAvailableImages() {        
-        addImageFilePath(ICON_BASIC, ROOT_FOLDER_FOR_IMG + "ent/basic.gif");							//$NON-NLS-1$
-        addImageFilePath(JPA_ENTITY, ROOT_FOLDER_FOR_IMG + "ent/entity.gif");					//$NON-NLS-1$
-        addImageFilePath(ADD_JPA_ENTITY, ROOT_FOLDER_FOR_IMG + "ent/add_entity.gif");					//$NON-NLS-1$        
-        addImageFilePath(ADD_INHERITED_ENTITY, ROOT_FOLDER_FOR_IMG + "ent/mapped-superclass.gif"); //$NON-NLS-1$
-        addImageFilePath(PRIMARY_KEY, ROOT_FOLDER_FOR_IMG + "ent/id.gif");						//$NON-NLS-1$
-        addImageFilePath(ADD_ATTRIBUTE, ROOT_FOLDER_FOR_IMG + "ent/add_attribute.gif");			//$NON-NLS-1$
-        addImageFilePath(REMOVE_ATTRIBUTE, ROOT_FOLDER_FOR_IMG + "ent/remove_attribute.gif");	//$NON-NLS-1$
-        addImageFilePath(ICON_ONE_TO_ONE, ROOT_FOLDER_FOR_IMG + "ent/one-to-one.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_ONE_TO_MANY, ROOT_FOLDER_FOR_IMG + "ent/one-to-many.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_MANY_TO_ONE, ROOT_FOLDER_FOR_IMG + "ent/many-to-one.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_MANY_TO_MANY, ROOT_FOLDER_FOR_IMG + "ent/many-to-many.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_EMBEDDED_ID, ROOT_FOLDER_FOR_IMG + "ent/embedded-id.gif"); //$NON-NLS-1$
-        addImageFilePath(ICON_VERSION, ROOT_FOLDER_FOR_IMG + "ent/version.gif"); //$NON-NLS-1$
-        addImageFilePath(ICON_TRANSIENT, ROOT_FOLDER_FOR_IMG + "ent/transient.gif"); //$NON-NLS-1$
-        addImageFilePath(ICON_EMBEDDED, ROOT_FOLDER_FOR_IMG + "ent/embedded.gif"); //$NON-NLS-1$
-        addImageFilePath(ICON_UNMAPPED, ROOT_FOLDER_FOR_IMG + "ent/null-attribute-mapping.gif"); //$NON-NLS-1$
-
-        addImageFilePath(ICON_ONE_TO_ONE_1_DIR, ROOT_FOLDER_FOR_IMG + "ent/one-to-one-1-dir.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_ONE_TO_MANY_1_DIR, ROOT_FOLDER_FOR_IMG + "ent/one-to-many-1-dir.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_MANY_TO_ONE_1_DIR, ROOT_FOLDER_FOR_IMG + "ent/many-to-one-1-dir.gif");		//$NON-NLS-1$        
-        addImageFilePath(ICON_MANY_TO_MANY_1_DIR, ROOT_FOLDER_FOR_IMG + "ent/many-to-many-1-dir.gif");		//$NON-NLS-1$
-        
-        addImageFilePath(ICON_ONE_TO_ONE_2_DIR, ROOT_FOLDER_FOR_IMG + "ent/one-to-one-2-dir.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_MANY_TO_ONE_2_DIR, ROOT_FOLDER_FOR_IMG + "ent/many-to-one-2-dir.gif");		//$NON-NLS-1$        
-        addImageFilePath(ICON_MANY_TO_MANY_2_DIR, ROOT_FOLDER_FOR_IMG + "ent/many-to-many-2-dir.gif");		//$NON-NLS-1$        
-                
-        addImageFilePath(ICON_SAVE, ROOT_FOLDER_FOR_IMG + "save.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_RESTORE, ROOT_FOLDER_FOR_IMG + "restore.gif");		//$NON-NLS-1$
-        addImageFilePath(ICON_SAVE_AND_REMOVE, ROOT_FOLDER_FOR_IMG + "save_and_remove.gif");		//$NON-NLS-1$
-    }
-    
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorToolBehaviorProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorToolBehaviorProvider.java
deleted file mode 100644
index d70eed4..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorToolBehaviorProvider.java
+++ /dev/null
@@ -1,619 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IDoubleClickContext;
-import org.eclipse.graphiti.features.context.IPictogramElementContext;
-import org.eclipse.graphiti.features.context.impl.CreateContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.context.impl.DeleteContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.internal.features.context.impl.base.PictogramElementContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Font;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.palette.IPaletteCompartmentEntry;
-import org.eclipse.graphiti.palette.IToolEntry;
-import org.eclipse.graphiti.palette.impl.PaletteCompartmentEntry;
-import org.eclipse.graphiti.platform.IPlatformImageConstants;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.tb.ContextButtonEntry;
-import org.eclipse.graphiti.tb.ContextEntryHelper;
-import org.eclipse.graphiti.tb.ContextMenuEntry;
-import org.eclipse.graphiti.tb.DefaultToolBehaviorProvider;
-import org.eclipse.graphiti.tb.IContextButtonEntry;
-import org.eclipse.graphiti.tb.IContextButtonPadData;
-import org.eclipse.graphiti.tb.IContextMenuEntry;
-import org.eclipse.graphiti.tb.IDecorator;
-import org.eclipse.graphiti.tb.ImageDecorator;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickAddAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickRemoveAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseCompartmentShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DiscardAndRemoveAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandCompartmentShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.MoveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.OpenJPADetailsViewFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.OpenMiniatureViewFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RefactorAttributeTypeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAndSaveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RenameEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RestoreEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.SaveAndRemoveAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.SaveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-import org.eclipse.ui.PartInitException;
-
-@SuppressWarnings("restriction")
-public class JPAEditorToolBehaviorProvider extends DefaultToolBehaviorProvider {
-
-	private IEclipseFacade facade;
-
-    public JPAEditorToolBehaviorProvider(IDiagramTypeProvider dtp) {
-    	this(dtp, EclipseFacade.INSTANCE);
-    }
-
-    public JPAEditorToolBehaviorProvider(IDiagramTypeProvider dtp, IEclipseFacade eclipseFacade) {
-        super(dtp);
-        this.facade = eclipseFacade;
-    }
-    
-    @Override
-    public IContextButtonPadData getContextButtonPad(IPictogramElementContext context) {
-        IContextButtonPadData data = super.getContextButtonPad(context);        
-        ContainerShape cs = null;
-        	PictogramElement pe = ((PictogramElementContext) context).getPictogramElement();
-        	  Object ob = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-      		if (ob == null){
-      			return null;
-           }
-        	if (pe instanceof ContainerShape) {
-            	cs = (ContainerShape)pe;
-            	GraphicsAlgorithm ga = cs.getGraphicsAlgorithm();
-            	if (ga instanceof Rectangle) {
-            		List<GraphicsAlgorithm> gas = ((Rectangle)ga).getGraphicsAlgorithmChildren();
-            		if ((gas.size() > 0) && (gas.get(0) instanceof Text)) {
-                        setGenericContextButtons(data, pe, 0);            			
-            			ClickRemoveAttributeButtonFeature feat = getConcreteFeatureProvider()
-								.getClickRemoveAttributeButtonFeature();
-            			DeleteContext delCtx = new DeleteContext(cs);
-                        ContextButtonEntry btn =  new ContextButtonEntry(feat, delCtx);
-                        btn.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_deleteAttributeButtonlabel); 
-                        btn.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_deleteAttributeButtonDescription); 
-                        btn.setIconId(IPlatformImageConstants.IMG_EDIT_DELETE);
-                        data.getDomainSpecificContextButtons().add(btn);    
-                        return data; 
-            		}
-            	}        	                    		
-        	} else {
-        		return data;
-        	}
-        	
-		setGenericContextButtons(data, pe, CONTEXT_BUTTON_DELETE
-				| CONTEXT_BUTTON_REMOVE);
-		List<IContextButtonEntry> buttons = data.getGenericContextButtons();
-		Iterator<IContextButtonEntry> btnsIt = buttons.iterator();
-		while (btnsIt.hasNext()) {
-			IContextButtonEntry button = btnsIt.next();
-			if (button.getFeature() instanceof RemoveJPAEntityFeature) {
-				button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonLabel);
-				button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonDescription);
-			} else if (button.getFeature() instanceof DeleteJPAEntityFeature) {
-				button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonLabel);
-				button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonDescription);
-			}
-		}
-
-		ContextButtonEntry button = null;
-		if (context instanceof PictogramElementContext) {
-
-			ClickAddAttributeButtonFeature feature = getConcreteFeatureProvider().getClickAddAttributeButtonFeature();
-			CreateContext createCtx = new CreateContext();
-			createCtx.setTargetContainer(cs);
-			button = new ContextButtonEntry(feature, createCtx);
-			button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_createAttributeButtonlabel);
-			button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_createAttributeButtonDescription);
-			button.setIconId(JPAEditorImageProvider.ADD_ATTRIBUTE);
-			data.getDomainSpecificContextButtons().add(button);
-
-			PictogramElementContext c = (PictogramElementContext) context;
-			RemoveAndSaveEntityFeature ft2 = new RemoveAndSaveEntityFeature(getFeatureProvider());
-			RemoveContext remCtx = new RemoveContext(c.getPictogramElement());
-			button = new ContextButtonEntry(ft2, remCtx);
-			button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveButtonText);
-			button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveButtonDescription);
-			button.setIconId(JPAEditorImageProvider.ICON_SAVE_AND_REMOVE);
-			data.getDomainSpecificContextButtons().add(button);
-
-			SaveEntityFeature ft = new SaveEntityFeature(getConcreteFeatureProvider());
-			CustomContext ctx = new CustomContext();
-			ctx.setPictogramElements(new PictogramElement[] { c.getPictogramElement() });
-			button = new ContextButtonEntry(ft, ctx);
-			button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_saveButtonText);
-			button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_saveButtonDescription);
-			button.setIconId(JPAEditorImageProvider.ICON_SAVE);
-			data.getDomainSpecificContextButtons().add(button);
-
-			RestoreEntityFeature ft1 = new RestoreEntityFeature(getConcreteFeatureProvider());
-			ctx = new CustomContext();
-			ctx.setPictogramElements(new PictogramElement[] { c.getPictogramElement() });
-			button = new ContextButtonEntry(ft1, ctx);
-			button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_restoreButtonText);
-			button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_restoreButtonDescription);
-			button.setIconId(JPAEditorImageProvider.ICON_RESTORE);
-			data.getDomainSpecificContextButtons().add(button);
-
-			ctx = new CustomContext(new PictogramElement[] { pe });
-			IFeatureProvider featureProvider = getFeatureProvider();
-			ICustomFeature[] customFeatures = featureProvider.getCustomFeatures(ctx);
-			int featureCount = customFeatures.length;
-			for (int i = 0; i < featureCount; i++) {
-				ICustomFeature customFeature = customFeatures[i];
-				if (customFeature.isAvailable(ctx)) {
-					if ((customFeature instanceof CollapseEntityFeature)) {
-						IContextButtonEntry contextButton = ContextEntryHelper
-								.createCollapseContextButton(true, customFeature, ctx);
-						data.setCollapseContextButton(contextButton);
-					} else if ((customFeature instanceof ExpandEntityFeature)) {
-						IContextButtonEntry contextButton = ContextEntryHelper
-								.createCollapseContextButton(false,	customFeature, ctx);
-						data.setCollapseContextButton(contextButton);
-					}
-				}
-			}
-		}
-        
-        return data;
-    }
-
-    
-    @Override
-    public IPaletteCompartmentEntry[] getPalette() {
-        List<IPaletteCompartmentEntry> ret =
-            new ArrayList<IPaletteCompartmentEntry>();
-        IPaletteCompartmentEntry[] superCompartments =
-            super.getPalette();
-        for (int i = 0; i < superCompartments.length; i++) {
-        	String newLabel = (superCompartments[i].getLabel().equals("Objects") ? //$NON-NLS-1$
-        			JPAEditorMessages.PaletteCompartment_Objects : 
-        				JPAEditorMessages.PaletteCompartment_Connections); 
-        	PaletteCompartmentEntry entry = new PaletteCompartmentEntry(newLabel, superCompartments[i].getIconId());       
-        	List<IToolEntry> lst = superCompartments[i].getToolEntries();
-        	Iterator<IToolEntry> it = lst.iterator();
-        	while(it.hasNext()) {
-        		entry.addToolEntry(it.next());
-        	}
-        	ret.add(entry);
-        }
-        IPaletteCompartmentEntry en = ret.get(0);
-        ret.set(0, ret.get(1));
-        ret.set(1, en);
-        return ret.toArray(new IPaletteCompartmentEntry[ret.size()]);
-    }
-   
-    @Override
-    public IDecorator[] getDecorators(PictogramElement pe) {
-		IFeatureProvider featureProvider = getFeatureProvider();
-		Object bo = featureProvider.getBusinessObjectForPictogramElement(pe);
-
-		if (bo instanceof JavaPersistentType) {
-			JavaPersistentType persistentType = (JavaPersistentType) bo;
-			IFile file = (IFile) persistentType.getResource();
-			if(!file.exists()){
-				return new IDecorator[0];
-			}
-			IMarker[] markers = new IMarker[0];
-			try {
-				markers = file.findMarkers(null, true, IResource.DEPTH_INFINITE);
-				IDecorator[] result = new IDecorator[1];
-				if (markers.length == 0)
-					return super.getDecorators(pe);
-				IMarker marker = getHighestPrioMarker(markers);
-				ImageDecorator imageRenderingDecorator = createDecoratorFromMarker(marker);
-				if (imageRenderingDecorator != null) {
-					imageRenderingDecorator.setX(5 * (pe.getGraphicsAlgorithm().getWidth() / 6));
-					imageRenderingDecorator.setY(5 * (pe.getGraphicsAlgorithm().getHeight() / 6));
-					result[0] = imageRenderingDecorator;
-				}
-				if (result[0] != null)
-					return result;
-			} catch (CoreException e) {
-				JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
-			}
-		}
-		return super.getDecorators(pe);
-	}
-
-	private IMarker getHighestPrioMarker(IMarker[] markers) {
-		IMarker result = markers[0];
-		for (IMarker marker : markers) {
-			try {
-				final Integer resultSeverity = (Integer) result.getAttribute(IMarker.SEVERITY);
-				if (resultSeverity == null)
-					continue;
-				if (IMarker.SEVERITY_ERROR == resultSeverity)
-					// return the first error marker
-					break;
-				Integer markerSeverity = (Integer) marker.getAttribute(IMarker.SEVERITY);
-				if ((markerSeverity != null) && (markerSeverity > resultSeverity))
-					result = marker;
-			} catch (CoreException e) {
-				JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
-				continue;
-			}
-		}
-		return result;
-	}
-
-	private ImageDecorator createDecoratorFromMarker(IMarker marker) {
-		try {
-			Integer severity = (Integer) marker.getAttribute(IMarker.SEVERITY);
-			String decoratorType = IPlatformImageConstants.IMG_ECLIPSE_INFORMATION_TSK;
-			if (severity != null) {
-				switch (severity) {
-				case 0:
-					decoratorType = IPlatformImageConstants.IMG_ECLIPSE_INFORMATION_TSK;
-				case 1:
-					decoratorType = IPlatformImageConstants.IMG_ECLIPSE_WARNING_TSK;
-					break;
-				case 2:
-					decoratorType = IPlatformImageConstants.IMG_ECLIPSE_ERROR_TSK;
-					break;
-				}
-				ImageDecorator imageRenderingDecorator = new ImageDecorator(decoratorType);
-				imageRenderingDecorator.setMessage((String) marker.getAttribute(IMarker.MESSAGE));
-				return imageRenderingDecorator;
-			}
-			return null;
-		} catch (CoreException e) {
-			JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
-			return null;
-		}
-	}
-	
-    public String getToolTip(GraphicsAlgorithm ga) {
-    	PictogramElement pe = ga.getPictogramElement();
-        if (!(ga instanceof Rectangle)) 
-        	return null;
-        List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
-        if ((ch == null) || (ch.size() == 0)) 
-        	return null;
-        ga = ch.get(0);
-        if (!(ga instanceof Text)) 
-        	return null;
-        Font f = ((Text)ga).getFont();
-        if (f == null)
-        	return "";		//$NON-NLS-1$
-        if(f.isItalic()){
-        	return getToolTipForCompartmentShape(ga);
-    	}
-        
-        Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
-		if (bo != null) {
-			if (bo instanceof JavaPersistentType) {
-				String superPersistentTypeName = null;
-				if (((JavaPersistentType) bo).getSuperPersistentType() != null) {
-					superPersistentTypeName = ((JavaPersistentType) bo).getSuperPersistentType().getName();
-				}
-				return JPAEditorUtil.getTooltipText((JavaPersistentType)bo, superPersistentTypeName);
-			} else {
-				if (bo instanceof JavaPersistentAttribute) {
-					return JPAEditorUtil.getTooltipText((JavaPersistentAttribute)bo);
-				}
-			}
-		}
-        if (!(pe instanceof Shape)) 
-        	return null;
-        Shape sh = (Shape)pe;
-        ContainerShape csh = sh.getContainer();
-        if (csh == null) 
-        	return null; 
-        bo = getFeatureProvider().getBusinessObjectForPictogramElement(csh);
-		if (bo instanceof JavaPersistentType) {
-			String superPersistentTypeName = null;
-			if (((JavaPersistentType) bo).getSuperPersistentType() != null) {
-				superPersistentTypeName = ((JavaPersistentType) bo)
-						.getSuperPersistentType().getName();
-			}
-			return JPAEditorUtil.getTooltipText((JavaPersistentType) bo,
-					superPersistentTypeName);
-		}
-        return null;
-    }
-
-	private String getToolTipForCompartmentShape(GraphicsAlgorithm ga) {
-		Text txt = (Text) ga;
-		ContainerShape shape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(ga);
-			if(GraphicsUpdater.isCollapsed(shape))
-				return MessageFormat.format(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandCompartToolTip, txt.getValue());
-			return MessageFormat.format(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseCompartToolTip, txt.getValue());
-	}
-
-	protected JPAEditorFeatureProvider getConcreteFeatureProvider() {
-		return (JPAEditorFeatureProvider)super.getFeatureProvider();		
-	}
-	
-    @Override
-    public IContextMenuEntry[] getContextMenu(ICustomContext context) {
-    	ICustomContext customContext = (ICustomContext)context;
-    	PictogramElement[] pictEls = customContext.getPictogramElements();
-    	
-    	ICustomFeature saveEntityFeature = new SaveEntityFeature(getFeatureProvider());
-		ContextMenuEntry saveEntityMenuItem = new ContextMenuEntry(saveEntityFeature, context);
-		saveEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_saveMenuItem);
-		saveEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_saveMenuItemDescr);
-		saveEntityMenuItem.setSubmenu(false);
-		
-		ICustomFeature restoreEntityFeature = new RestoreEntityFeature(getFeatureProvider());
-		ContextMenuEntry restoreEntityMenuItem = new ContextMenuEntry(restoreEntityFeature, context);
-		restoreEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_discardChangesMenuItem);
-		restoreEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_discardChangesMenuItemDescr);
-		restoreEntityMenuItem.setSubmenu(false);		
-    	
-		ICustomFeature collapseFeature = new CollapseEntityFeature(getFeatureProvider());
-		ContextMenuEntry collapseEntityMenuItem = new ContextMenuEntry(collapseFeature, context);
-		collapseEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseEntityMenuItem);
-		collapseEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseEntityMenuItemDescr);
-		collapseEntityMenuItem.setSubmenu(false);
-		
-		ICustomFeature collapseAllFeature = new CollapseAllEntitiesFeature(getFeatureProvider());
-		ContextMenuEntry collapseAllMenuItem = new ContextMenuEntry(collapseAllFeature, context);
-		collapseAllMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItem);
-		collapseAllMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItemDescr);
-		collapseAllMenuItem.setSubmenu(false);		
-
-		ICustomFeature expandFeature = new ExpandEntityFeature(getFeatureProvider());
-		ContextMenuEntry expandEntityMenuItem= new ContextMenuEntry(expandFeature, context);
-		expandEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandEntityMenuItem);
-		expandEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandEntitymenuItemDescr);
-		expandEntityMenuItem.setSubmenu(false);
-		
-		ICustomFeature expandAllFeature = new ExpandAllEntitiesFeature(getFeatureProvider());
-		ContextMenuEntry expandAllMenuItem= new ContextMenuEntry(expandAllFeature, context);
-		expandAllMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItem);
-		expandAllMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItemDescr);
-		expandAllMenuItem.setSubmenu(false);		
-
-        ICustomFeature openJPADetailsViewFeature = new OpenJPADetailsViewFeature(getFeatureProvider());
-        ContextMenuEntry openJPADetailsViewMenuItem = new ContextMenuEntry(openJPADetailsViewFeature, context);
-        openJPADetailsViewMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_openJPADetailsView);
-        openJPADetailsViewMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_openJPADetailsViewDesc);
-        openJPADetailsViewMenuItem.setSubmenu(false);
-        
-        ICustomFeature openMiniatureViewFeature = new OpenMiniatureViewFeature(getFeatureProvider());
-        ContextMenuEntry openMiniatureViewMenuItem = new ContextMenuEntry(openMiniatureViewFeature, context);
-        openMiniatureViewMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_openMiniatureView);
-        openMiniatureViewMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_openMiniatureViewDesc);
-        openMiniatureViewMenuItem.setSubmenu(false);
-        
-        boolean isEmpty = true;
-        ContextMenuEntry removeAllEntitiesSubmenu = null;
-        if(getDiagramTypeProvider().getDiagram().getChildren().size()!=0){
-        isEmpty = false;
-        removeAllEntitiesSubmenu = new ContextMenuEntry(null, null);
-        removeAllEntitiesSubmenu.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAllEntitiesMenu);
-        removeAllEntitiesSubmenu.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAllEntitiesMenu);
-        removeAllEntitiesSubmenu.setSubmenu(true);
-		
-        ICustomFeature customFeature = new SaveAndRemoveAllEntitiesFeature(getFeatureProvider());    	
-        ContextMenuEntry saveAndRemovEntityMenuItem = new ContextMenuEntry(customFeature, context);
-        saveAndRemovEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction);
-        saveAndRemovEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction);
-        saveAndRemovEntityMenuItem.setSubmenu(false);
-        
-		customFeature = new DiscardAndRemoveAllEntitiesFeature(getFeatureProvider());    	
-        ContextMenuEntry discardAndRemovEntityMenuItem = new ContextMenuEntry(customFeature, context);
-        discardAndRemovEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction);
-        discardAndRemovEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction);
-        discardAndRemovEntityMenuItem.setSubmenu(false);
-                 
-        removeAllEntitiesSubmenu.add(saveAndRemovEntityMenuItem);
-        removeAllEntitiesSubmenu.add(discardAndRemovEntityMenuItem);
-        
-        }
-                
-
-    	if ((pictEls == null) || (pictEls.length == 0)) 
-    		return new IContextMenuEntry[] { openJPADetailsViewMenuItem };
-    	if (pictEls[0] instanceof ContainerShape) {
-    		Object ob = getFeatureProvider().getBusinessObjectForPictogramElement(pictEls[0]);
-            if (pictEls[0] instanceof Diagram) {
-            	ICustomFeature customFeature = new AddAllEntitiesFeature(getFeatureProvider());    	
-                ContextMenuEntry showAllEntsMenuItem = new ContextMenuEntry(customFeature, context);
-                showAllEntsMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_showAllTheEntities);
-                showAllEntsMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_showAllTheEntitiesDesc);
-                showAllEntsMenuItem.setSubmenu(false);
-                if(isEmpty){
-                	return new IContextMenuEntry[] { showAllEntsMenuItem,
-                			 collapseAllMenuItem,
-                			 expandAllMenuItem,
-							 openJPADetailsViewMenuItem,
-							 openMiniatureViewMenuItem};
-                } else {
-                return new IContextMenuEntry[] { showAllEntsMenuItem, 
-                								 removeAllEntitiesSubmenu,
-                								 collapseAllMenuItem,
-                								 expandAllMenuItem,
-                								 openJPADetailsViewMenuItem,
-                								 openMiniatureViewMenuItem};
-                }
-        	}    
-            if((ob == null) && (pictEls[0].getGraphicsAlgorithm() instanceof Rectangle)){
-            	ICustomFeature collapseCompartmentFeature = new CollapseCompartmentShapeFeature(getFeatureProvider());
-        		ContextMenuEntry collapseCompartmentMenuItem = new ContextMenuEntry(collapseCompartmentFeature, context);
-        		collapseCompartmentMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItem);
-        		collapseCompartmentMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItemDescr);
-        		collapseCompartmentMenuItem.setSubmenu(false);
-
-        		ICustomFeature expandCompartmentFeature = new ExpandCompartmentShapeFeature(getFeatureProvider());
-        		ContextMenuEntry expandCompartmentMenuItem= new ContextMenuEntry(expandCompartmentFeature, context);
-        		expandCompartmentMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAttrMenuItem);
-        		expandCompartmentMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAttrMenuItemDescr);
-        		expandCompartmentMenuItem.setSubmenu(false);
-        		return new IContextMenuEntry[] {collapseCompartmentMenuItem, expandCompartmentMenuItem};
-            }
-            
-            /*
-            //Apply Pattern menu
-            
-            ICustomFeature applyPatternFeature = new ApplyPatternFeature(getFeatureProvider());
-            ContextMenuEntry applyPatternMenuItem = new ContextMenuEntry(applyPatternFeature, context);
-            applyPatternMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_applyPattern);
-            applyPatternMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_applyPatternDesc);
-            applyPatternMenuItem.setSubmenu(false);
-            //Apply Pattern menu
-             */
-            
-            ContextMenuEntry refactorClassSubmenu = new ContextMenuEntry(null, null);
-            refactorClassSubmenu.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_refactorSubMenu);
-            refactorClassSubmenu.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_refactorSubMenu);
-            refactorClassSubmenu.setSubmenu(true);
-            
-    		
-            ICustomFeature customFeature = new RenameEntityFeature(getFeatureProvider());    	
-            ContextMenuEntry renameEntityMenuItem = new ContextMenuEntry(customFeature, context);
-            renameEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_renameEntityClass);
-            renameEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_renameEntityClass);
-            renameEntityMenuItem.setSubmenu(false);
-            
-    		customFeature = new MoveEntityFeature(getFeatureProvider());    	
-            ContextMenuEntry moveEntityMenuItem = new ContextMenuEntry(customFeature, context);
-            moveEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_moveEntityClass);
-            moveEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_moveEntityClass);
-            moveEntityMenuItem.setSubmenu(false);            
-                     
-            refactorClassSubmenu.add(renameEntityMenuItem);
-            refactorClassSubmenu.add(moveEntityMenuItem);  
-            
-            String shapeType = Graphiti.getPeService().getPropertyValue(pictEls[0], JPAEditorConstants.PROP_SHAPE_TYPE);
-            
-            if ((shapeType == null) || !shapeType.equals(ShapeType.ATTRIBUTE.toString())) 
-            	return new IContextMenuEntry[] { saveEntityMenuItem,
-            		                             refactorClassSubmenu,
-            		                             collapseEntityMenuItem, 
-            		                             collapseAllMenuItem,
-            		                             expandEntityMenuItem,
-            		                             expandAllMenuItem,
-            		                             restoreEntityMenuItem,
-            									 //applyPatternMenuItem, 
-            									 removeAllEntitiesSubmenu,
-            									 openJPADetailsViewMenuItem,
-            									 openMiniatureViewMenuItem};
-            
-    		customFeature = new RefactorAttributeTypeFeature(getFeatureProvider());     		
-            ContextMenuEntry refactorAttributeTypeMenuItem = new ContextMenuEntry(customFeature, context);
-            refactorAttributeTypeMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_refactorAttributeType);
-            refactorAttributeTypeMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_refactorAttributeTypeDesc);
-            refactorAttributeTypeMenuItem.setSubmenu(false);                   
-
-        	return new IContextMenuEntry[] { refactorClassSubmenu, 
-        									 refactorAttributeTypeMenuItem, 
-        									 collapseAllMenuItem,
-        									 expandAllMenuItem,
-        									 //applyPatternMenuItem, 
-        									 openJPADetailsViewMenuItem,
-        									 openMiniatureViewMenuItem};
-    	}
-    	return new IContextMenuEntry[] { removeAllEntitiesSubmenu,
-    									 collapseAllMenuItem,
-    									 expandAllMenuItem, 
-    									 openJPADetailsViewMenuItem,
-    									 openMiniatureViewMenuItem};
-    }
-
-	@Override
-	public ICustomFeature getDoubleClickFeature(IDoubleClickContext context) {
-		PictogramElement pe = context.getPictogramElements()[0];
-		Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(
-				pe);
-		if (bo instanceof JavaPersistentAttribute) {
-			JavaPersistentAttribute jpa = (JavaPersistentAttribute) bo;
-			IFile file = (IFile) jpa.getResource();
-			try {
-				file.setSessionProperty(new QualifiedName(null, JPAEditorMatchingStrategy.DOUBLE_CLICK), "true");	//$NON-NLS-1$			
-				facade.getIDE().openEditor(file);
-			} catch (PartInitException e) {
-				JPADiagramEditorPlugin.logError("Cannot open editor", e); //$NON-NLS-1$				
-			} catch (CoreException e) {
-				JPADiagramEditorPlugin.logError("Cannot open editor", e); //$NON-NLS-1$								
-			}
-		}
-		if (bo instanceof JavaPersistentType) {
-			JavaPersistentType jpt = (JavaPersistentType) bo;
-			IFile file = (IFile) jpt.getResource();
-			try {
-				file.setSessionProperty(new QualifiedName(null, JPAEditorMatchingStrategy.DOUBLE_CLICK), "true");	//$NON-NLS-1$
-				facade.getIDE().openEditor(file);
-			} catch (PartInitException e) {
-				JPADiagramEditorPlugin.logError("Cannot open editor", e); //$NON-NLS-1$							
-			} catch (CoreException e) {
-				JPADiagramEditorPlugin.logError("Cannot open editor", e); //$NON-NLS-1$				
-			}
-		}
-		if ((bo == null) && (pe.getGraphicsAlgorithm() instanceof Rectangle)) {
-			ICustomContext cont = new CustomContext(
-					new PictogramElement[] { pe });
-			ContainerShape containerShape = (ContainerShape) pe;
-			if (GraphicsUpdater.isCollapsed(containerShape)) {
-				ExpandCompartmentShapeFeature feature = new ExpandCompartmentShapeFeature(
-						getFeatureProvider());
-				feature.execute(cont);
-			} else {
-				CollapseCompartmentShapeFeature feature = new CollapseCompartmentShapeFeature(
-						getFeatureProvider());
-				feature.execute(cont);
-			}
-
-		}
-        return super.getDoubleClickFeature(context);
-	}   	
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/AbstractRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/AbstractRelation.java
deleted file mode 100644
index 1af1f3e..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/AbstractRelation.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import java.util.Hashtable;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-abstract public class AbstractRelation implements IRelation {
-	protected final static String SEPARATOR = ";"; //$NON-NLS-1$
-	protected JavaPersistentType owner;
-	protected JavaPersistentType inverse;
-	protected JavaPersistentAttribute ownerAnnotatedAttribute;
-	protected JavaPersistentAttribute inverseAnnotatedAttribute;
-
-	protected String ownerAttributeName;
-	protected String inverseAttributeName;
-
-	
-	public final static Hashtable<RelType, String> relTypeToIdPart = new Hashtable<RelType, String>(); 
-	public final static Hashtable<RelDir, String> relDirToIdPart = new Hashtable<RelDir, String>(); 
-	
-	static {
-		relTypeToIdPart.put(RelType.ONE_TO_ONE, "1-1"); //$NON-NLS-1$
-		relTypeToIdPart.put(RelType.ONE_TO_MANY, "1-N"); //$NON-NLS-1$
-		relTypeToIdPart.put(RelType.MANY_TO_ONE, "N-1"); //$NON-NLS-1$
-		relTypeToIdPart.put(RelType.MANY_TO_MANY, "N-N"); //$NON-NLS-1$
-		
-		relDirToIdPart.put(RelDir.UNI, "->"); //$NON-NLS-1$
-		relDirToIdPart.put(RelDir.BI, "<->"); //$NON-NLS-1$
-	}
-	
-	public AbstractRelation(JavaPersistentType owner, JavaPersistentType inverse) {
-		this.owner = owner;
-		this.inverse = inverse;
-	}
-	
-	public String getId() {
-		return generateId(owner, inverse, getOwnerAttributeName(), getRelType(), getRelDir());
-	}
-	
-	public JavaPersistentType getOwner() {
-		return owner; 
-	}
-	
-	public JavaPersistentType getInverse() {
-		return inverse; 
-	}	
-	
-	public JavaPersistentAttribute getInverseAnnotatedAttribute() {
-		return inverseAnnotatedAttribute;
-	}
-	
-	public JavaPersistentAttribute getOwnerAnnotatedAttribute() {
-		return ownerAnnotatedAttribute;
-	}	
-	
-	public void setOwnerAnnotatedAttribute(
-			JavaPersistentAttribute ownerAnnotatedAttribute) {
-		this.ownerAnnotatedAttribute = ownerAnnotatedAttribute;
-	}
-
-	public void setInverseAnnotatedAttribute(
-			JavaPersistentAttribute inverseAnnotatedAttribute) {
-		this.inverseAnnotatedAttribute = inverseAnnotatedAttribute;
-	}
-
-	public void setOwnerAttributeName(String ownerAttributeName) {
-		this.ownerAttributeName = ownerAttributeName;
-	}
-	
-	public String getOwnerAttributeName() {
-		if (this.ownerAnnotatedAttribute != null)
-			return ownerAnnotatedAttribute.getName();
-		return ownerAttributeName;
-	}
-	
-	public void setInverseAttributeName(String inverseAttributeName) {
-		this.inverseAttributeName = inverseAttributeName;
-	}
-	
-	public String getInverseAttributeName() {
-		if (this.inverseAnnotatedAttribute != null)
-			return inverseAnnotatedAttribute.getName();
-		return inverseAttributeName;
-	}
-	
-	public int hashCode() {
-		return getId().hashCode();
-	}
-	
-	public boolean equals(Object otherRel) {
-		if (!IRelation.class.isInstance(otherRel))
-			return false;
-		return getId().equals(((IRelation)otherRel).getId());
-	}
-	
-	public abstract RelType getRelType(); 
-	
-	public abstract RelDir getRelDir();
-	
-	public static String generateId(JavaPersistentType owner, 
-									JavaPersistentType inverse, 
-									String ownerAttributeName,
-									RelType relType, 
-									RelDir relDir) {
-		String id = owner.getName() + "-" + inverse.getName() + SEPARATOR +  //$NON-NLS-1$
-					relTypeToIdPart.get(relType) + SEPARATOR +
-					relDirToIdPart.get(relDir) + SEPARATOR + ownerAttributeName; 
-		return id;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/BidirectionalRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/BidirectionalRelation.java
deleted file mode 100644
index 26fbc1f..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/BidirectionalRelation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-
-public interface BidirectionalRelation extends IRelation {
-	
-	public abstract JavaPersistentAttribute getOwnerAnnotatedAttribute();
-
-	public abstract JavaPersistentAttribute getInverseAnnotatedAttribute();
-
-	public abstract void setOwnerAnnotatedAttribute(JavaPersistentAttribute ownerAnnotatedAttribute);
-
-	public abstract void setInverseAnnotatedAttribute(JavaPersistentAttribute inverseAnnotatedAttribute); 
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/IRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/IRelation.java
deleted file mode 100644
index 0556846..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/IRelation.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-public interface IRelation {
-
-	public static enum RelType {
-		ONE_TO_ONE, ONE_TO_MANY, MANY_TO_ONE, MANY_TO_MANY
-	}
-
-	public static enum RelDir {
-		UNI, BI
-	}
-
-	public abstract String getId();
-
-	public abstract JavaPersistentType getOwner();
-
-	public abstract JavaPersistentType getInverse();
-	
-	public void setOwnerAnnotatedAttribute(JavaPersistentAttribute ownerAnnotatedAttribute);
-	
-	public JavaPersistentAttribute getOwnerAnnotatedAttribute();
-		
-	public void setInverseAnnotatedAttribute(JavaPersistentAttribute inverseAnnotatedAttribute);
-				
-	public void setOwnerAttributeName(String ownerAttributeName);
-		
-	public void setInverseAttributeName(String inverseAttributeName);
-	
-	public abstract JavaPersistentAttribute getInverseAnnotatedAttribute();
-
-	public abstract String getOwnerAttributeName();
-
-	public abstract String getInverseAttributeName();
-
-	public abstract RelType getRelType();
-
-	public abstract RelDir getRelDir();
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyBiDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyBiDirRelation.java
deleted file mode 100644
index 41d9e2c..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyBiDirRelation.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class ManyToManyBiDirRelation extends ManyToManyRelation implements BidirectionalRelation {
-	
-	public ManyToManyBiDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner, 
-								   JavaPersistentType inverse,
-								   String ownerAttributeName,
-								   String inverseAttributeName,
-								   boolean createAttribs,
-								   ICompilationUnit ownerCU, 
-								   ICompilationUnit inverseCU) {
-		super(owner, inverse);
-		this.ownerAttributeName = ownerAttributeName;
-		this.inverseAttributeName = inverseAttributeName;
-		if (createAttribs)
-			createRelation(fp, ownerCU, inverseCU);		
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jpt.jpadiagrameditor.ui.relations.BidirectionalRelation#getOwnerAnnotatedAttribute()
-	 */
-	public JavaPersistentAttribute getOwnerAnnotatedAttribute() {
-		return ownerAnnotatedAttribute;
-	}
-
-	public void setOwnerAnnotatedAttribute(
-			JavaPersistentAttribute ownerAnnotatedAttribute) {
-		this.ownerAnnotatedAttribute = ownerAnnotatedAttribute;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jpt.jpadiagrameditor.ui.relations.BidirectionalRelation#getInverseAnnotatedAttribute()
-	 */
-	public JavaPersistentAttribute getInverseAnnotatedAttribute() {
-		return inverseAnnotatedAttribute;
-	}
-
-	public void setInverseAnnotatedAttribute(
-			JavaPersistentAttribute inverseAnnotatedAttribute) {
-		this.inverseAnnotatedAttribute = inverseAnnotatedAttribute;
-	}	
-	
-	private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
-		String inverseAttributeName = JPAEditorUtil.returnSimpleName(inverse.getName());
-		String actInverseAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		
-		String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(inverseAttributeName);
-		String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actInverseAttributeName);
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(inverseAttributeName);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actInverseAttributeName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter); 
-		
-		ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse, 
-																				JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject()) ? JpaArtifactFactory.instance().getIdType(inverse) : null,
-																				   nameWithNonCapitalLetter, 
-																				   actNameWithNonCapitalLetter, 
-																				   true,
-																				   ownerCU,
-																				   inverseCU);
-		
-		String ownerAttributeName = JPAEditorUtil.returnSimpleName(owner.getName());
-		String actOwnerAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
-		nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(ownerAttributeName);
-		actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actOwnerAttributeName);				
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(inverse)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(ownerAttributeName);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actOwnerAttributeName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, nameWithNonCapitalLetter); 
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, actNameWithNonCapitalLetter); 
-		boolean isMap = JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject());
-		inverseAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, inverse, owner, 
-																			   isMap ? JpaArtifactFactory.instance().getIdType(owner) : null,
-																			   nameWithNonCapitalLetter, 
-																			   actNameWithNonCapitalLetter, 
-																			   true, 
-																			   inverseCU,
-																			   ownerCU);
-		
-		JpaArtifactFactory.instance().addManyToManyBidirectionalRelation(fp, owner, ownerAnnotatedAttribute, inverse, inverseAnnotatedAttribute, isMap);		
-	} 	
-	
-	public RelDir getRelDir() {
-		return RelDir.BI;
-	}
-		
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyRelation.java
deleted file mode 100644
index 16833b4..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyRelation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-public abstract class ManyToManyRelation extends AbstractRelation {
-
-	public ManyToManyRelation(JavaPersistentType owner, JavaPersistentType inverse) {
-		super(owner, inverse);
-	}
-	
-	public RelType getRelType() {
-		return RelType.MANY_TO_MANY;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyUniDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyUniDirRelation.java
deleted file mode 100644
index 790c23c..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyUniDirRelation.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class ManyToManyUniDirRelation extends ManyToManyRelation implements UnidirectionalRelation {
-
-	public ManyToManyUniDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner, 
-									JavaPersistentType inverse,
-									String ownerAttributeName,
-									boolean createAttribs,
-									ICompilationUnit ownerCU,
-									ICompilationUnit inverseCU) { 
-		super(owner, inverse);
-		this.ownerAttributeName = ownerAttributeName;
-		if (createAttribs)
-			createRelation(fp, ownerCU, inverseCU);		
-	}
-
-	public JavaPersistentAttribute getAnnotatedAttribute() {
-		return ownerAnnotatedAttribute;
-	}
-
-	public void setAnnotatedAttribute(JavaPersistentAttribute annotatedAttribute) {
-		this.ownerAnnotatedAttribute = annotatedAttribute;
-	}	
-	
-	private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU,
-								ICompilationUnit inverseCU) {
-		String name = JPAEditorUtil.returnSimpleName(inverse.getName());
-		String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		
-		String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
-		String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter); 
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter); 
-		boolean isMap = JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject());
-		ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse, 
-																				isMap ? JpaArtifactFactory.instance().getIdType(inverse) : null,
-																				   nameWithNonCapitalLetter, 
-																				   actNameWithNonCapitalLetter,
-																				   true,
-																				   ownerCU,
-																				   inverseCU);
-		JpaArtifactFactory.instance().addManyToManyUnidirectionalRelation(fp, owner, ownerAnnotatedAttribute, isMap);
-		
-	} 
-	
-	public RelDir getRelDir() {
-		return RelDir.UNI;
-	}	
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneBiDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneBiDirRelation.java
deleted file mode 100644
index 3442c50..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneBiDirRelation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class ManyToOneBiDirRelation  extends ManyToOneRelation implements BidirectionalRelation{
-
-	public ManyToOneBiDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner, 
-								  JavaPersistentType inverse, 
-								  String ownerAttributeName,
-								  String inverseAttributeName,
-								  boolean createAttribs,
-								  ICompilationUnit ownerCU,
-								  ICompilationUnit inverseCU) {
-		super(owner, inverse);
-		this.ownerAttributeName = ownerAttributeName;
-		this.inverseAttributeName = inverseAttributeName;
-		if (createAttribs)
-			createRelation(fp, ownerCU, inverseCU);
-		
-	}	
-
-	public JavaPersistentAttribute getOwnerAnnotatedAttribute() {
-		return ownerAnnotatedAttribute;
-	}
-
-	public void setOwnerAnnotatedAttribute(	JavaPersistentAttribute ownerAnnotatedAttribute) {
-		this.ownerAnnotatedAttribute = ownerAnnotatedAttribute;
-	}
-
-	public JavaPersistentAttribute getInverseAnnotatedAttribute() {
-		return inverseAnnotatedAttribute;
-	}
-
-	public void setInverseAnnotatedAttribute(JavaPersistentAttribute inverseAnnotatedAttribute) {
-		this.inverseAnnotatedAttribute = inverseAnnotatedAttribute;
-	}
-
-	private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
-		String name = JPAEditorUtil.returnSimpleName(inverse.getName());
-		String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
-		String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
-
-		ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse, 
-																			 nameWithNonCapitalLetter, 
-																			 actNameWithNonCapitalLetter, false,
-																			 ownerCU,
-																			 inverseCU);
-		
-		name = JPAEditorUtil.returnSimpleName(owner.getName());
-		actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));	
-		nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
-		actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);				
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(inverse)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, nameWithNonCapitalLetter);
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, actNameWithNonCapitalLetter); 
-		boolean isMap = JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject());
-		inverseAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, inverse, owner, 
-																			   isMap ? JpaArtifactFactory.instance().getIdType(owner) : null,
-																			   nameWithNonCapitalLetter, actNameWithNonCapitalLetter, 
-																			   true, 
-																			   inverseCU,
-																			   ownerCU);
-		
-		JpaArtifactFactory.instance().addManyToOneBidirectionalRelation(fp, owner, ownerAnnotatedAttribute, inverse, inverseAnnotatedAttribute, isMap);		
-	} 	
-		
-	public RelDir getRelDir() {
-		return RelDir.BI;
-	}
-
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneRelation.java
deleted file mode 100644
index f0df131..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneRelation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-abstract public class ManyToOneRelation extends AbstractRelation{
-
-	public ManyToOneRelation(JavaPersistentType owner, JavaPersistentType inverse) {
-		super(owner, inverse);
-	}
-	
-	public RelType getRelType() {
-		return RelType.MANY_TO_ONE;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneUniDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneUniDirRelation.java
deleted file mode 100644
index 099eb29..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneUniDirRelation.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class ManyToOneUniDirRelation extends ManyToOneRelation implements UnidirectionalRelation {
-
-	public ManyToOneUniDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner, 
-								   JavaPersistentType inverse,
-								   String ownerAttributeName,
-								   boolean createAttribs,
-								   ICompilationUnit ownerCU,
-								   ICompilationUnit inverseCU) {		
-		super(owner, inverse);
-		this.ownerAttributeName = ownerAttributeName;
-		if (createAttribs)
-			createRelation(fp, ownerCU, inverseCU);		
-	}	
-	
-	public JavaPersistentAttribute getAnnotatedAttribute() {
-		return ownerAnnotatedAttribute;
-	}
-
-	public void setAnnotatedAttribute(JavaPersistentAttribute annotatedAttribute) {
-		this.ownerAnnotatedAttribute = annotatedAttribute;
-	}
-
-	private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
-		String name = JPAEditorUtil.returnSimpleName(inverse.getName());
-		String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
-		String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter); 
-		actNameWithNonCapitalLetter	= JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter); 
-		
-		//fp.addAddIgnore(owner, actNameWithNonCapitalLetter);
-		
-		ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse, 
-																			 nameWithNonCapitalLetter, 
-																			 actNameWithNonCapitalLetter, false, 
-																			 ownerCU,
-																			 inverseCU);
-		JpaArtifactFactory.instance().addManyToOneUnidirectionalRelation(fp, owner, ownerAnnotatedAttribute);
-		
-	}
-	
-	public RelDir getRelDir() {
-		return RelDir.UNI;
-	}		
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyRelation.java
deleted file mode 100644
index d35e713..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyRelation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-public abstract class OneToManyRelation extends AbstractRelation {
-	
-	public OneToManyRelation(JavaPersistentType owner, JavaPersistentType inverse) {
-		super(owner, inverse);
-	}
-	
-	public RelType getRelType() {
-		return RelType.ONE_TO_MANY;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyUniDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyUniDirRelation.java
deleted file mode 100644
index 7af0637..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyUniDirRelation.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class OneToManyUniDirRelation extends OneToManyRelation implements UnidirectionalRelation {
-
-	public OneToManyUniDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner, 
-								   JavaPersistentType inverse,
-								   String ownerAttributeName,
-								   boolean createAttribs, 
-								   ICompilationUnit ownerCU,
-								   ICompilationUnit inverseCU) {
-		super(owner, inverse);
-		this.ownerAttributeName = ownerAttributeName;
-		if (createAttribs)
-			createRelation(fp, ownerCU, inverseCU);		
-	}	
-
-	public JavaPersistentAttribute getAnnotatedAttribute() {
-		return ownerAnnotatedAttribute;
-	}
-
-	public void setAnnotatedAttribute(JavaPersistentAttribute annotatedAttribute) {
-		this.ownerAnnotatedAttribute = annotatedAttribute;
-	}
-
-	private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU,
-								ICompilationUnit inverseCU) {
-		String name = JPAEditorUtil.returnSimpleName(inverse.getName());
-		String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-
-		String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
-		String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter); 
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter); 
-		boolean isMap = JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject());
-		ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse, 
-																			 isMap ? JpaArtifactFactory.instance().getIdType(inverse) : null,
-																			 nameWithNonCapitalLetter, 
-																			 actNameWithNonCapitalLetter, true, 
-																			 ownerCU,
-																			 inverseCU);
-		JpaArtifactFactory.instance().addOneToManyUnidirectionalRelation(fp, owner, ownerAnnotatedAttribute, isMap);
-	} 
-	
-	public RelDir getRelDir() {
-		return RelDir.UNI;
-	}		
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneBiDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneBiDirRelation.java
deleted file mode 100644
index eae7ccc..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneBiDirRelation.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class OneToOneBiDirRelation extends OneToOneRelation implements BidirectionalRelation{
-	public OneToOneBiDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner, 
-								 JavaPersistentType inverse, 
-								 String ownerAttributeName,
-								 String inverseAttributeName,
-								 boolean createAttribs,
-								 ICompilationUnit ownerCU,
-								 ICompilationUnit inverseCU) {
-		super(owner, inverse);
-		this.ownerAttributeName = ownerAttributeName;
-		this.inverseAttributeName = inverseAttributeName;
-		if (createAttribs)
-			createRelation(fp, ownerCU, inverseCU);
-	}
-
-	public JavaPersistentAttribute getOwnerAnnotatedAttribute() {
-		return ownerAnnotatedAttribute;
-	}
-
-	public void setOwnerAnnotatedAttribute(
-			JavaPersistentAttribute ownerAnnotatedAttribute) {
-		this.ownerAnnotatedAttribute = ownerAnnotatedAttribute;
-	}
-
-	public JavaPersistentAttribute getInverseAnnotatedAttribute() {
-		return inverseAnnotatedAttribute;
-	}
-
-	public void setInverseAnnotatedAttribute(
-			JavaPersistentAttribute inverseAnnotatedAttribute) {
-		this.inverseAnnotatedAttribute = inverseAnnotatedAttribute;
-	}
-
-	private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
-		String name = JPAEditorUtil.returnSimpleName(inverse.getName());
-		String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-
-		String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
-		String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter); 
-		
-		ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse, 
-																			 nameWithNonCapitalLetter, 
-																			 actNameWithNonCapitalLetter, false, 
-																			 ownerCU,
-																			 inverseCU);
-		
-		name = JPAEditorUtil.returnSimpleName(owner.getName());
-		actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
-		nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
-		actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);		
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(inverse)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, nameWithNonCapitalLetter); 
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, actNameWithNonCapitalLetter); 
-		inverseAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, inverse, owner, 
-																			   nameWithNonCapitalLetter, actNameWithNonCapitalLetter, 
-																			   false, 
-																			   inverseCU,
-																			   ownerCU);
-		
-		JpaArtifactFactory.instance().addOneToOneBidirectionalRelation(fp, owner, ownerAnnotatedAttribute, inverse, inverseAnnotatedAttribute);		
-	} 	
-		
-	public RelDir getRelDir() {
-		return RelDir.BI;
-	}	
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneRelation.java
deleted file mode 100644
index 12119f3..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneRelation.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-abstract public class OneToOneRelation extends AbstractRelation {
-	
-	public OneToOneRelation(JavaPersistentType owner, 
-							JavaPersistentType inverse) {
-		super(owner, inverse);
-	}
-	
-	public RelType getRelType() {
-		return RelType.ONE_TO_ONE;
-	}
-		
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneUniDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneUniDirRelation.java
deleted file mode 100644
index b429068..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneUniDirRelation.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class OneToOneUniDirRelation extends OneToOneRelation implements UnidirectionalRelation {
-
-	public OneToOneUniDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner, 
-								  JavaPersistentType inverse, 
-								  String ownerAttributeName,
-								  boolean createAttribs, 
-								  ICompilationUnit ownerCU,
-								  ICompilationUnit inverseCU) {
-		super(owner, inverse);
-		this.ownerAttributeName = ownerAttributeName; 
-		if (createAttribs) 
-			createRelation(fp, ownerCU, inverseCU);
-	}
-	
-	public JavaPersistentAttribute getAnnotatedAttribute() {
-		return ownerAnnotatedAttribute;
-	}
-
-	public void setAnnotatedAttribute(JavaPersistentAttribute annotatedAttribute) {
-		this.ownerAnnotatedAttribute = annotatedAttribute;
-	}
-
-	private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
-		String name = JPAEditorUtil.returnSimpleName(inverse.getName());
-		String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-		
-		String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
-		String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-		
-		if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
-			nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
-			actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
-		}
-		nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
-		actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
-		
-		ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse, 
-																			 nameWithNonCapitalLetter, 
-																			 actNameWithNonCapitalLetter, false, 
-																			 ownerCU,
-																			 inverseCU);
-		JpaArtifactFactory.instance().addOneToOneUnidirectionalRelation(fp, owner, ownerAnnotatedAttribute);
-		
-	} 
-		
-	public RelDir getRelDir() {
-		return RelDir.UNI;
-	}		
-		
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/UnidirectionalRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/UnidirectionalRelation.java
deleted file mode 100644
index 7ffb85a..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/UnidirectionalRelation.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-
-public interface UnidirectionalRelation extends IRelation {
-	
-	public abstract JavaPersistentAttribute getAnnotatedAttribute();
-	
-	public abstract void setAnnotatedAttribute(JavaPersistentAttribute at);
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntitiesCoordinatesXML.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntitiesCoordinatesXML.java
deleted file mode 100644
index db7b402..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntitiesCoordinatesXML.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.io.Closeable;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.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.NullProgressMonitor;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.SAXException;
-
-public class EntitiesCoordinatesXML {
-	
-	private Document document;
-	private Element rootElement;
-	private String projectName;
-	
-	public static final String XML_ELEMENT_POSITION = "\n\t\t"; //$NON-NLS-1$
-		
-	public EntitiesCoordinatesXML(String projectName){
-		this.projectName = projectName;
-		DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-		documentBuilderFactory.setNamespaceAware(true);
-		InputStream is = null;
-		try {
-			DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
-			is = (InputStream)findXMLFile(true);
-			document = documentBuilder.parse(is);
-			rootElement = document.getDocumentElement();
-		} catch (ParserConfigurationException e) {
-			JPADiagramEditorPlugin.logError(JPAEditorMessages.EntitiesCoordinatesXML_CannotParseFileErrorMSG, e);
-		} catch (SAXException e) {
-			JPADiagramEditorPlugin.logError(JPAEditorMessages.EntitiesCoordinatesXML_CannotParseFileErrorMSG, e);
-		} catch (IOException e) {
-			JPADiagramEditorPlugin.logError(JPAEditorMessages.EntitiesCoordinatesXML_CannotReadFileErrorMSG, e);
-		} finally {
-			if (is != null)
-				try {
-					is.close();
-				} catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-	
-    private Closeable findXMLFile(boolean inputStream) throws FileNotFoundException{
-    	IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		try {
-			IResource[] resources = project.members();
-			for (IResource res : resources) {
-				if (res instanceof IFolder) {
-					IFile existingXMLFile = ((IFolder) res).getFile(projectName + "." + ModelIntegrationUtil.DIAGRAM_XML_FILE_EXTENSION); //$NON-NLS-1$
-					if (existingXMLFile != null && existingXMLFile.exists()) {
-						return inputStream ? 
-								new FileInputStream(new File(existingXMLFile.getLocationURI())) :
-									new FileOutputStream(new File(existingXMLFile.getLocationURI()));
-					}
-				}
-			}
-		} catch (CoreException e) {
-			JPADiagramEditorPlugin.logError(JPAEditorMessages.EntitiesCoordinatesXML_CannotObtainProjectErrorMSG, e);
-		}
-		IFile existingXMLFile = project.getFile(ModelIntegrationUtil.getDiagramsXMLFolderPath(project).append(projectName).addFileExtension(ModelIntegrationUtil.DIAGRAM_XML_FILE_EXTENSION));
-		return inputStream ? new FileInputStream(new File(existingXMLFile.getLocationURI())) :
-									new FileOutputStream(new File(existingXMLFile.getLocationURI()));
-    }
-	
-    synchronized public void store() {
-    	IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-    	Diagram diagram = ModelIntegrationUtil.getDiagramByProject(project);
-		List<Shape> picts = diagram.getChildren();
-		Iterator<Shape> it = picts.iterator();
-		// collecting data from the saved pictograms
-		document.removeChild(rootElement);
-		rootElement = document.createElement("entities"); //$NON-NLS-1$
-		document.appendChild(rootElement);
-
-		while (it.hasNext()) {
-			Shape pict = it.next();
-			String name = Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.PROP_ENTITY_CLASS_NAME);
-
-			RoundedRectangle rect = (RoundedRectangle) pict.getGraphicsAlgorithm();
-
-			boolean isPrimaryCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict,
-							JPAEditorConstants.PRIMARY_COLLAPSED));
-			boolean isRelationCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict,
-							JPAEditorConstants.RELATION_COLLAPSED));
-			boolean isBasicCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict,
-							JPAEditorConstants.BASIC_COLLAPSED));
-
-			Element entity = createEntityElementTag(document, rootElement, JPAEditorConstants.ENTITY_XML_TAG, XML_ELEMENT_POSITION);
-			Text nameText = document.createTextNode(name);
-			Element entityName = document.createElement(JPAEditorConstants.ENTITY_NAME_TAG);
-			createChildElementTag(document, nameText, entityName, entity, XML_ELEMENT_POSITION);
-
-			Text width = document.createTextNode(String.valueOf(rect.getWidth()));
-			Element entityWidth = document.createElement(JPAEditorConstants.ENTITY_WIDTH_TAG);
-			createChildElementTag(document, width, entityWidth, entity, XML_ELEMENT_POSITION);
-
-			Text height = document.createTextNode(String.valueOf(rect.getHeight()));
-			Element entityHeight = document.createElement(JPAEditorConstants.ENTITY_HEIGHT_TAG);
-			createChildElementTag(document, height, entityHeight, entity, XML_ELEMENT_POSITION);
-
-			Text xCoordinate = document.createTextNode(String.valueOf(rect.getX()));
-			Element entityXCoordinate = document.createElement(JPAEditorConstants.ENTITY_X_COORDINATE_TAG);
-			createChildElementTag(document, xCoordinate, entityXCoordinate,	entity, XML_ELEMENT_POSITION);
-
-			Text yCoordinate = document.createTextNode(String.valueOf(rect.getY()));
-			Element entityYCoordinate = document.createElement(JPAEditorConstants.ENTITY_Y_COORDINATE_TAG);
-			createChildElementTag(document, yCoordinate, entityYCoordinate,	entity, XML_ELEMENT_POSITION);
-			
-			Text primaryCollapsed = document.createTextNode(String.valueOf(isPrimaryCollapsed));
-			Element entityPrimaryCollapsed = document.createElement(JPAEditorConstants.ENTITY_PRIMARY_SECTION_STATE_TAG);
-			createChildElementTag(document, primaryCollapsed, entityPrimaryCollapsed, entity, XML_ELEMENT_POSITION);	
-			
-			Text relationCollapsed = document.createTextNode(String.valueOf(isRelationCollapsed));
-			Element entityRelationCollapsed = document.createElement(JPAEditorConstants.ENTITY_RELATION_SECTION_STATE_TAG);
-			createChildElementTag(document, relationCollapsed, entityRelationCollapsed,	entity, XML_ELEMENT_POSITION);
-			
-			Text basicCollapsed = document.createTextNode(String.valueOf(isBasicCollapsed));
-			Element entityBasicCollapsed = document.createElement(JPAEditorConstants.ENTITY_BASIC_SECTION_STATE_TAG);
-			createChildElementTag(document, basicCollapsed, entityBasicCollapsed,	entity, "\n\t");	 //$NON-NLS-1$
-			
-			rootElement.appendChild(document.createTextNode("\n")); //$NON-NLS-1$
-
-		}
-		ModelIntegrationUtil.setXmiExists(false);
-	}
-
-	synchronized public void load(Hashtable<String, SizePosition> marks){
-		if(rootElement.getChildNodes().getLength()<=1){
-			if(ModelIntegrationUtil.xmiExists()){
-				store();
-				save();
-			}
-		} 
-		
-		NodeList nodeList = rootElement.getElementsByTagName(JPAEditorConstants.ENTITY_XML_TAG);
-		for(int i=0; i<nodeList.getLength();i++){
-			Element node = (Element) nodeList.item(i);
-			String entityName = node.getElementsByTagName(JPAEditorConstants.ENTITY_NAME_TAG).item(0).getTextContent();
-			int width = Integer.parseInt(node.getElementsByTagName(JPAEditorConstants.ENTITY_WIDTH_TAG).item(0).getTextContent());
-			int height = Integer.parseInt(node.getElementsByTagName(JPAEditorConstants.ENTITY_HEIGHT_TAG).item(0).getTextContent());
-			int xCoordinate = Integer.parseInt(node.getElementsByTagName(JPAEditorConstants.ENTITY_X_COORDINATE_TAG).item(0).getTextContent());
-			int yCoordinate = Integer.parseInt(node.getElementsByTagName(JPAEditorConstants.ENTITY_Y_COORDINATE_TAG).item(0).getTextContent());
-			boolean isPrimaryCollapsed = Boolean.parseBoolean(node.getElementsByTagName(JPAEditorConstants.ENTITY_PRIMARY_SECTION_STATE_TAG).item(0).getTextContent());
-			boolean isRelationCollapsed = Boolean.parseBoolean(node.getElementsByTagName(JPAEditorConstants.ENTITY_RELATION_SECTION_STATE_TAG).item(0).getTextContent());
-			boolean isBasicCollapsed = Boolean.parseBoolean(node.getElementsByTagName(JPAEditorConstants.ENTITY_BASIC_SECTION_STATE_TAG).item(0).getTextContent());
-			
-			SizePosition rectSP = new SizePosition(width, height, xCoordinate, yCoordinate);
-			rectSP.primaryCollapsed = isPrimaryCollapsed;
-			rectSP.relationCollapsed = isRelationCollapsed;
-			rectSP.basicCollapsed = isBasicCollapsed;
-			
-			marks.put(entityName, rectSP);
-		}
-		
-	}
-	
-	private Element createEntityElementTag(Document document, Element scheduleElement, String descr, String position) {
-		Element job = document.createElement(descr);
-		scheduleElement.appendChild(document.createTextNode("\n\t")); //$NON-NLS-1$
-		scheduleElement.appendChild(job);
-		job.appendChild(document.createTextNode(position));
-		
-		return job;
-	}
-	
-	private void createChildElementTag(Document document, Text nameText, Element nameEl, Element parentElement, String position) {
-		parentElement.appendChild(nameEl);
-		nameEl.appendChild(nameText);
-		parentElement.appendChild(document.createTextNode(position));
-	}
-	
-	public void save() {
-		OutputStream os = null;
-		try {
-			TransformerFactory transformerFactory = TransformerFactory.newInstance();
-			Transformer transformer = transformerFactory.newTransformer();
-			os = (OutputStream)findXMLFile(false);
-			transformer.transform(new DOMSource(document), new StreamResult(os));
-			os.flush();
-		} catch (Exception e) {
-			JPADiagramEditorPlugin.logError(JPAEditorMessages.EntitiesCoordinatesXML_CannotCreateDOMFileErrorMSG, e);
-		} finally {
-			try {
-				os.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}		
-	}
-	
-	synchronized public void close() {
-		save();
-		clean();
-	}
-	
-	synchronized public void clean() {
-		try {
-	    	IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);			
-	    	project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-		} catch (CoreException e) {
-			JPADiagramEditorPlugin.logError(JPAEditorMessages.EntitiesCoordinatesXML_CannotRefrfreshFile, e);
-		}		
-		document = null;
-		rootElement = null;
-	}
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntityChangeListener.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntityChangeListener.java
deleted file mode 100644
index 71e401a..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntityChangeListener.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Set;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.MappedByRelationship;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaRelationshipMapping;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaNullTypeMapping;
-import org.eclipse.jpt.jpa.core.resource.java.OwnableRelationshipMappingAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAndSaveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.swt.widgets.Display;
-
-
-@SuppressWarnings("restriction")
-public class EntityChangeListener extends Thread {
-
-	private final static int PAUSE_DURATION = 250;
-	private boolean goOn = true;
-	private JPASolver solver;
-	private IJPAEditorFeatureProvider featureProvider;
-	private Set<String> jptsToUpdate = new HashSet<String>(); 
-	private Hashtable<String, PersistenceUnit> attribsToUpdate = new Hashtable<String, PersistenceUnit>(); 
-	public final static String SEPARATOR = ";";		//$NON-NLS-1$
-	
-	EntityChangeListener(JPASolver solver) {
-		this.solver = solver;
-	}
-	
-	public void setFeatureProvider(IJPAEditorFeatureProvider featureProvider) {
-		this.featureProvider = featureProvider;
-	}
-				
-	@Override
-	public void run() {
-		UpdateFromModel taskClass = new UpdateFromModel();
-		while (goOn) {
-			try {
-				Thread.sleep(PAUSE_DURATION);
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError("Thread sleep interruprted", e); //$NON-NLS-1$				
-			}
-			Display.getDefault().asyncExec(taskClass);
-		}
-		solver = null;
-		featureProvider = null;
-	}
-	
-	public void stopThread() {
-		goOn = false;
-	}
-	
-	public void addJPTForUpdate(String jptName) {
-		synchronized (jptsToUpdate) {
-			jptsToUpdate.add(jptName);
-		}
-	}
-			
-	public void addAttribForUpdate(PersistenceUnit pu, String entAtMappedBy) {
-		synchronized (attribsToUpdate) {
-			attribsToUpdate.put(entAtMappedBy, pu);
-		}
-	}
-			
-	private class UpdateFromModel implements Runnable {
-		public void run() {
-			exec();
-		}
-
-		
-		private void exec() {
-			try {
-				synchronized (jptsToUpdate) {
-					Iterator<String> itr = jptsToUpdate.iterator();
-					if (itr.hasNext()) {
-						String jptName = itr.next();
-						JavaPersistentType jpt = (JavaPersistentType)featureProvider.getBusinessObjectForKey(jptName);
-						try {
-							JpaArtifactFactory.instance().remakeRelations(featureProvider, null, jpt);
-							jptsToUpdate.remove(jptName);
-						} catch (RuntimeException e) {} 
-					}
-				}
-				Collection<Object> vals = solver.getVisualizedObjects();
-				Iterator<Object> it = vals.iterator();
-				while (it.hasNext()) {
-					Object o = it.next();
-					if (o instanceof JavaPersistentType) {
-						JavaPersistentType jpt = (JavaPersistentType)o;
-						final ContainerShape entShape = (ContainerShape)featureProvider.getPictogramElementForBusinessObject(o);
-						if (entShape == null) 
-							continue;
-						PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpt);
-						PersistentType pt = pu.getPersistentType(jpt.getName());
-						
-						if ((pt == null) || !JpaArtifactFactory.instance().hasEntityAnnotation(jpt)) {
-							
-							JpaArtifactFactory.instance().forceSaveEntityClass(jpt, featureProvider);
-							
-							if(jpt.getMapping() == null || (jpt.getMapping() instanceof JavaNullTypeMapping)) {
-								if (!JptJpaCorePlugin.discoverAnnotatedClasses(jpt.getJpaProject().getProject())) {
-									JPAEditorUtil.createUnregisterEntityFromXMLJob(jpt.getJpaProject(), jpt.getName());
-								}
-							}
-							
-							RemoveContext ctx = new RemoveContext(entShape);
-							RemoveAndSaveEntityFeature ft = new RemoveAndSaveEntityFeature(featureProvider);
-							ft.remove(ctx);
-							break;
-						} else {	
-							
-							ICompilationUnit cu = featureProvider.getCompilationUnit(jpt);
-							String entName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt)); 
-							try {
-								final String newHeader = (cu.hasUnsavedChanges() ? "* " : "") + entName;	//$NON-NLS-1$ //$NON-NLS-2$
-								Display.getDefault().asyncExec(new Runnable() {
-									public void run() {
-										GraphicsUpdater.updateHeader(entShape, newHeader);
-									}
-								});
-												
-							} catch (JavaModelException e) {
-								JPADiagramEditorPlugin.logError("Cannot check compilation unit for unsaved changes", e); //$NON-NLS-1$				
-							}								
-						}
-					}
-				}		
-				synchronized (attribsToUpdate) {
-					Set<String> atSet = attribsToUpdate.keySet();
-					Iterator<String> iter = atSet.iterator();
-					while (iter.hasNext()) {
-						String jptAtMB = iter.next();
-						String[] jptAndAttrib = jptAtMB.split(SEPARATOR); 
-						PersistenceUnit pu = attribsToUpdate.get(jptAtMB);
-						String entityName = jptAndAttrib[0];
-						String attribName = jptAndAttrib[1];
-						String mappedBy = jptAndAttrib[2];
-						JavaPersistentType jpt = (JavaPersistentType)pu.getPersistentType(entityName);
-						if (jpt != null) {
-							JavaPersistentAttribute jpa = jpt.getAttributeNamed(attribName);
-							JpaArtifactFactory.instance().refreshEntityModel(null, jpt);
-							if (jpa != null) {
-								JavaAttributeMapping mapping = jpa.getMapping();
-								Annotation a = mapping.getMappingAnnotation();
-								if(a == null){
-									JpaArtifactFactory.instance().refreshEntityModel(featureProvider, jpt);
-									mapping = jpa.getMapping();
-									a = mapping.getMappingAnnotation();
-								}
-								if (a == null)
-									return;
-								if (OwnableRelationshipMappingAnnotation.class.isInstance(mapping.getMappingAnnotation())) {
-									JavaRelationshipMapping relationshipMapping = (JavaRelationshipMapping)mapping; 
-									MappedByRelationship ownableRef = (MappedByRelationship)relationshipMapping.getRelationship();
-									if (!ownableRef.strategyIsMappedBy()) {
-									    ownableRef.setStrategyToMappedBy();
-									}
-									ownableRef.getMappedByStrategy().setMappedByAttribute(mappedBy);									
-									attribsToUpdate.remove(jptAtMB);
-								}
-							}
-						}
-					}
-				}
-			} catch(Exception e) {
-				//$NON-NLS-1$ 
-			}			
-		}
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdater.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdater.java
deleted file mode 100644
index dbd7c25..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdater.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-
-
-public class GraphicsUpdater {
-
-	private static final int PRIMARY_SHAPE_INDEX = 3;
-	private static final int RELATION_SHAPE_CONSTANT = 4;
-	private static final int BASIC_SHAPE_INDEX = 5;
-
-	public static int increaseCompartmentHeigth(ContainerShape containerShape,
-			int height) {
-		for(Shape shape : containerShape.getChildren()){
-			Iterator<GraphicsAlgorithm> iterator = shape.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().iterator();
-			while(iterator.hasNext()){
-			    if(iterator.next() instanceof Text)
-			        height = height + JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP;
-			}
-		}
-		return height;
-	}
-	
-	public static void updateContainer(ContainerShape containerShape, 
-			int childrenSizeBefore, int containerHeightBefore){
-		int childrenSizeAfter = containerShape.getChildren().size();
-		int containerHeightAfter = 0;
-		if(childrenSizeBefore == 2){
-				containerHeightBefore = JPAEditorConstants.COMPARTMENT_MIN_HEIGHT + JPAEditorConstants.COMPARTMENT_BUTTOM_OFFSET;
-		}
-		containerHeightAfter = containerHeightBefore + (((childrenSizeAfter - childrenSizeBefore)/2)*JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP);
-		
-		if(!isCollapsed(containerShape))
-			containerShape.getGraphicsAlgorithm().setHeight(containerHeightAfter);
-		else 
-			containerShape.getGraphicsAlgorithm().setHeight(JPAEditorConstants.COMPARTMENT_MIN_HEIGHT);
-	}
-	
-	
-	public static void updateEntityShape(ContainerShape entityShape){
-		ContainerShape primaryShape = getPrimaryShape(entityShape);
-		ContainerShape relationShape = getRelationShape(entityShape);
-		ContainerShape basicShape = getBasicShape(entityShape);
-		
-		primaryShape.setVisible(!isEmptyCompartment(primaryShape));
-		basicShape.setVisible(!isEmptyCompartment(basicShape));
-		relationShape.setVisible(!isEmptyCompartment(relationShape));
-
-        relationShape.getGraphicsAlgorithm().setY(getNextCompartmentY(primaryShape));
-        basicShape.getGraphicsAlgorithm().setY(getNextCompartmentY(relationShape));
-	}
-
-	private static boolean isEmptyCompartment(ContainerShape primaryShape) {
-		return primaryShape.getChildren().size() <= 2;
-	}
-	
-	public static void updateEntityHeigth(ContainerShape entityShape){
-		ContainerShape primaryShape = GraphicsUpdater.getPrimaryShape(entityShape);
-		ContainerShape relationShape = GraphicsUpdater.getRelationShape(entityShape);
-		ContainerShape basicShape = GraphicsUpdater.getBasicShape(entityShape);
-		
-        entityShape.getGraphicsAlgorithm().setHeight(JPAEditorConstants.ENTITY_MIN_HEIGHT + 
-        		primaryShape.getGraphicsAlgorithm().getHeight() + relationShape.getGraphicsAlgorithm().getHeight()
-        		+ basicShape.getGraphicsAlgorithm().getHeight() + 2);
-	}
-	
-	public static int getNextCompartmentY(ContainerShape compartmentShape){
-		if(isEmptyCompartment(compartmentShape))
-			return compartmentShape.getGraphicsAlgorithm().getY();
-		return compartmentShape.getGraphicsAlgorithm().getY() + compartmentShape.getGraphicsAlgorithm().getHeight();
-	}
-
-	public static ContainerShape getPrimaryShape(ContainerShape entityShape){
-		List<Shape> children = entityShape.getChildren();
-		if(children.size() < PRIMARY_SHAPE_INDEX+1)
-			return null;
-		GraphicsAlgorithm alg = children.get(PRIMARY_SHAPE_INDEX).getGraphicsAlgorithm();
-		ContainerShape primaryShape = (ContainerShape)Graphiti.getPeService().getActiveContainerPe(alg);
-		return primaryShape;
-	}
-	
-	public static ContainerShape getCompartmentSeparatorShape(ContainerShape compartmentShape){
-		GraphicsAlgorithm alg = compartmentShape.getChildren().get(0).getGraphicsAlgorithm();
-		ContainerShape primarySeparatorShape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(alg);
-		return primarySeparatorShape;
-	}
-	
-	public static ContainerShape getRelationShape(ContainerShape entityShape){
-		List<Shape> children = entityShape.getChildren();
-		if(children.size()<RELATION_SHAPE_CONSTANT+1)
-			return null;
-		GraphicsAlgorithm alg = children.get(RELATION_SHAPE_CONSTANT).getGraphicsAlgorithm();
-		ContainerShape relationShape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(alg);
-		return relationShape;
-	}
-	
-	public static ContainerShape getBasicShape(ContainerShape entityShape){
-		List<Shape> children = entityShape.getChildren();
-		if(children.size() < BASIC_SHAPE_INDEX+1)
-			return null;
-		GraphicsAlgorithm alg = children.get(BASIC_SHAPE_INDEX).getGraphicsAlgorithm();
-		ContainerShape basicShape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(alg);
-		return basicShape;
-	}
-	
-	public static boolean isCollapsed(ContainerShape compartmentShape) {
-		ContainerShape container = compartmentShape.getContainer();
-		String result = null;
-		if(compartmentShape.equals(GraphicsUpdater.getPrimaryShape(container)))
-			result = Graphiti.getPeService().getPropertyValue(container, JPAEditorConstants.PRIMARY_COLLAPSED);
-		else if(compartmentShape.equals(GraphicsUpdater.getBasicShape(container)))
-			result = Graphiti.getPeService().getPropertyValue(container, JPAEditorConstants.BASIC_COLLAPSED);
-		else if(compartmentShape.equals(GraphicsUpdater.getRelationShape(container)))
-			result = Graphiti.getPeService().getPropertyValue(container, JPAEditorConstants.RELATION_COLLAPSED);
-		if(Boolean.toString(true).equals(result)) 
-			return true;
-		return false;
-	}
-	
-	/**
-	 * @param compartmentShape
-	 * @param collapsed 
-	 * @return true if successful
-	 */
-	public static boolean setCollapsed(ContainerShape compartmentShape, boolean collapsed) {
-		ContainerShape container = compartmentShape.getContainer();
-		if(compartmentShape.equals(GraphicsUpdater.getPrimaryShape(container))) {
-			Graphiti.getPeService().setPropertyValue(container, JPAEditorConstants.PRIMARY_COLLAPSED, Boolean.toString(collapsed));
-			return true;
-		}
-		else if(compartmentShape.equals(GraphicsUpdater.getBasicShape(container))) {
-			Graphiti.getPeService().setPropertyValue(container, JPAEditorConstants.BASIC_COLLAPSED, Boolean.toString(collapsed));
-			return true;
-		}
-		else if(compartmentShape.equals(GraphicsUpdater.getRelationShape(container))) {
-			Graphiti.getPeService().setPropertyValue(container, JPAEditorConstants.RELATION_COLLAPSED, Boolean.toString(collapsed));
-			return true;
-		}
-		return false;
-	}
-	
-	public static void updateHeader(ContainerShape entityShape, final String newHeader) {
-		if(entityShape == null)
-			return;
-		
-		List<Shape> shapes = entityShape.getChildren();
-		Iterator<Shape> shIt = shapes.iterator();
-		Shape headerShape = null;;
-		while (shIt.hasNext()) {
-			headerShape = shIt.next();
-			String shapeType = Graphiti.getPeService().getPropertyValue(headerShape, JPAEditorConstants.PROP_SHAPE_TYPE);
-			if (ShapeType.HEADER.toString().equals(shapeType)) 
-				break;
-			headerShape = null;
-		}
-		if (headerShape == null)
-			return;
-		GraphicsAlgorithm ga = headerShape.getGraphicsAlgorithm();
-		if (ga == null)
-			return;
-		final Text txt = (Text)ga.getGraphicsAlgorithmChildren().get(0);
-		if (!JPAEditorUtil.areHeadersEqual(txt.getValue(), newHeader)) {
-			TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(txt);
-			RecordingCommand rc = new RecordingCommand(ted) {
-				protected void doExecute() {
-					txt.setValue(newHeader);		
-				}		
-			};			
-			ted.getCommandStack().execute(rc);
-		}
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdaterImpl.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdaterImpl.java
deleted file mode 100644
index c0788a9..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdaterImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-
-public class GraphicsUpdaterImpl implements IGraphicsUpdater {
-	
-	public void updateEntityHeigth(ContainerShape entityShape) {
-		GraphicsUpdater.updateEntityHeigth(entityShape);
-	}
-	
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IDisplayFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IDisplayFacade.java
deleted file mode 100644
index 0fed6de..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IDisplayFacade.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-public interface IDisplayFacade {
-
-	public void asyncExec(Runnable runnable);
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IEclipseFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IEclipseFacade.java
deleted file mode 100644
index 4357166..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IEclipseFacade.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.core.resources.IWorkspace;
-
-public interface IEclipseFacade {
-
-	public IWorkspace getWorkspace();
-
-	public IJavaCoreFacade getJavaCore();
-	
-	public IDisplayFacade getDisplay();
-	
-	public IStaticIDE getIDE();
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IGraphicsUpdater.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IGraphicsUpdater.java
deleted file mode 100644
index d3b4844..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IGraphicsUpdater.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-
-public interface IGraphicsUpdater {
-	
-	public void updateEntityHeigth(ContainerShape entityShape);
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPADiagramEditorInput.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPADiagramEditorInput.java
deleted file mode 100644
index 73409bb..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPADiagramEditorInput.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.ui.IEditorInput;
-
-public interface IJPADiagramEditorInput extends IEditorInput {
-	
-	public Diagram getDiagram();
-	
-	public String getProjectName();
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPAEditorUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPAEditorUtil.java
deleted file mode 100644
index 02d2478..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPAEditorUtil.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator.RelEndDir;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public interface IJPAEditorUtil {
-	
-	public List<Point> createBendPointList(FreeFormConnection c,  int cnt, int connectionsNum, boolean selfRelation);
-	
-	public List<Point> createBendPointList(FreeFormConnection c, boolean selfRelation);
-	
-	public int calcConnectionLength(FreeFormConnection c);
-	
-	public RelEndDir getConnectionStartDir(FreeFormConnection c);
-	
-	public RelEndDir getConnectionEndDir(FreeFormConnection c);
-	
-	public JavaPersistentType getJPType(ICompilationUnit cu);
-	
-	public void organizeImports(ICompilationUnit cu, IWorkbenchSite ws);
-	
-	public ICompilationUnit getCompilationUnit(JavaPersistentType jpt);
-	
-	public void formatCode(ICompilationUnit cu, IWorkbenchSite ws);
-	
-	public String generateUniqueEntityName(JpaProject jpaProject, 
-			  String pack, 
-			  IJPAEditorFeatureProvider fp);
-	
-	public String generateUniqueMappedSuperclassName(JpaProject jpaProject,
-			String pack, IJPAEditorFeatureProvider fp);
-
-	public IFile createEntityInProject(IProject project, 
-									   String entityName, 
-									   IPreferenceStore jpaPreferenceStore,
-									   boolean isMappedSuperClassChild, 
-									   String mappedSuperclassName, 
-									   String mappedSuperclassPackage, 
-									   boolean hasPrimaryKey) throws Exception;
-
-	public IFile createEntityFromMappedSuperclassInProject(IProject project,
-			String mappedSuperclassName, IPreferenceStore jpaPreferenceStore) throws Exception;
-	
-	public boolean isCardinalityDecorator(ConnectionDecorator cd);
-	
-	public void discardWorkingCopyOnce(ICompilationUnit cu);
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJavaCoreFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJavaCoreFacade.java
deleted file mode 100644
index 5831693..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJavaCoreFacade.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-
-public interface IJavaCoreFacade {
-
-	public ICompilationUnit createCompilationUnitFrom(IFile file);
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJpaSolver.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJpaSolver.java
deleted file mode 100644
index 918d01e..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJpaSolver.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.features.impl.IIndependenceSolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-
-public interface IJpaSolver extends IIndependenceSolver {
-
-	public abstract void setFeatureProvider(
-			IJPAEditorFeatureProvider featureProvider);
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IPeServiceUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IPeServiceUtil.java
deleted file mode 100644
index f45a0c9..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IPeServiceUtil.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.PropertyContainer;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-
-public interface IPeServiceUtil {
-
-	public FreeFormConnection createFreeFormConnection(Diagram diagram);
-	
-	public String getPropertyValue(PropertyContainer propertyContainer, String key);
-	
-	public Property getProperty(PropertyContainer propertyContainer, String key);
-	
-	public boolean removeProperty(PropertyContainer propertyContainer, String key); 
-		
-	public void setPropertyValue(PropertyContainer propertyContainer, String key, String value);
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IStaticIDE.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IStaticIDE.java
deleted file mode 100644
index 9d4ee0e..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IStaticIDE.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.PartInitException;
-
-public interface IStaticIDE {
-
-	public void openEditor(IFile file) throws PartInitException;
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java
deleted file mode 100644
index c01c6e5..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-
-public class JPACheckSum {
-	
-	private static JPACheckSum instance = null;
-	private static MessageDigest md5 = null;
-	
-	public static synchronized JPACheckSum INSTANCE() {
-		if (instance == null) {
-			try {
-				md5 = MessageDigest.getInstance("MD5");	//$NON-NLS-1$
-			} catch (NoSuchAlgorithmException e) {
-				JPADiagramEditorPlugin.logError("Couldn't create instance of MD5", e); //$NON-NLS-1$
-				return null;
-			}
-			instance = new JPACheckSum();
-		}
-		return instance; 
-	}
-		
-	public String getSavedShapeMD5(Shape sh) {	
-		String checkSumString = Graphiti.getPeService().getPropertyValue(sh, JPAEditorConstants.PROP_ENTITY_CHECKSUM);
-		if (checkSumString == null)
-			return "";	//$NON-NLS-1$
-		return checkSumString;
-	}
-	
-	public void assignEntityShapesMD5Strings(Diagram d, JpaProject jpaProject) {
-		PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
-		List<Shape> picts = d.getChildren();
-		if (picts.size() == 0)
-			return;
-		Iterator<Shape> it = picts.iterator();
-		while (it.hasNext()) {
-			Shape pict = it.next();
-			String name = Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.PROP_ENTITY_CLASS_NAME);
-			JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT(name, pu);
-			String hash = "";	//$NON-NLS-1$
-			if (jpt != null) {
-				ICompilationUnit cu = JPAEditorUtil.getCompilationUnit(jpt);
-				hash = generateCompilationUnitMD5String(cu);
-			}
-			Graphiti.getPeService().setPropertyValue(pict, JPAEditorConstants.PROP_ENTITY_CHECKSUM, hash);
-		}
-	}
-
-		
-	public String generateCompilationUnitMD5String(ICompilationUnit cu) {
-		String src = null;
-		try {
-			src = cu.getSource();
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError("Can't get the source of the compilation unit", e); //$NON-NLS-1$	
-			return null;
-		}
-		byte[] res = md5.digest(src.getBytes());
-		StringBuilder sb = new StringBuilder();
-		for (byte b : res)
-			sb.append(Byte.toString(b));
-		return sb.toString();		
-	}
-	
-	public boolean isEntityModelChanged(Shape sh, JpaProject jpaProject) {
-		if (sh == null)
-			return true; 
-		PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
-		String name = Graphiti.getPeService().getPropertyValue(sh, JPAEditorConstants.PROP_ENTITY_CLASS_NAME);
-		JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT(name, pu);
-		String savedMD5 = getSavedShapeMD5(sh);	
-		String actualMD5 = "";	//$NON-NLS-1$
-		if (jpt != null) {
-			ICompilationUnit cu = JPAEditorUtil.getCompilationUnit(jpt);
-			actualMD5 = generateCompilationUnitMD5String(cu);
-		}
-		return !savedMD5.equals(actualMD5);
-	}
-	
-	public boolean isModelDifferentFromDiagram(Diagram d, JpaProject jpaProject) {
-		List<Shape> picts = d.getChildren();
-		if (picts.size() == 0)
-			return false;
-		Iterator<Shape> it = picts.iterator();
-		while (it.hasNext()) {
-			Shape pict = it.next();
-			if (isEntityModelChanged(pict, jpaProject))
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorConstants.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorConstants.java
deleted file mode 100644
index 52e14ed..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorConstants.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Set;
-
-import org.eclipse.graphiti.util.ColorConstant;
-import org.eclipse.graphiti.util.IColorConstant;
-import org.eclipse.jpt.jpa.core.MappingKeys;
-
-public class JPAEditorConstants {
-	
-	public static final String HEADER_PREFIX_DIRTY = "* ";	//$NON-NLS-1$
-	
-	public static Hashtable<String, String> PRIMITIVE_TO_WRAPPER = new Hashtable<String,String>();
-	
-	public static HashSet<String> WRAPPER_SIMPLE_NAMES = new HashSet<String>();
-		
-	public static Hashtable<String, String> ANNOTATION_NAME_TO_KEY = new Hashtable<String, String>();
-	public static Set<String> CARDINALITY_LABELS = new HashSet<String>();
-	
-	public final static String COLLAPSE_FEATURES = "collapseFeatures"; //$NON-NLS-1$
-	
-	public static final IColorConstant ENTITY_TEXT_FOREGROUND =
-        new ColorConstant(0, 0, 51);
-		
-	public static final IColorConstant ENTITY_BACKGROUND =
-        new ColorConstant(212, 231, 248);
-
-	public static final IColorConstant CONNECTION_LINE_COLOR = 
-        new ColorConstant(98, 131,167);	
-	
-	public static final IColorConstant ENTITY_BORDER_COLOR = 
-        new ColorConstant(98, 131,167);		
-	
-	public final static String TRUE_STRING = Boolean.toString(true);
-	
-	public final static int CONNECTION_LINE_WIDTH = 2;
-	public final static int ENTITY_BORDER_WIDTH = 2;
-	
-	public final static int ENTITY_CORNER_WIDTH = 6;
-	public final static int ENTITY_CORNER_HEIGHT = 6;
-	
-	public static final int ENTITY_MIN_HEIGHT = 30;
-	public static final int ENTITY_MIN_WIDTH = 50;
-	
-	public final static int ENTITY_WIDTH = 120;
-	public final static int ENTITY_HEIGHT = 70;
-	
-	public final static int ATTRIBUTE_RECT_HEIGHT = 30;
-	public final static int ATTRIBUTES_TOP_OFFSET = 15;
-	public final static int ATTRIBUTES_PLACEMENT_STEP = 20;
-	public final static int ATTRIBUTE_TEXT_RECT_X = 21;
-	public final static int ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER = 21;
-	
-	public final static int ICON_RECT_LEFT_OFFSET = 0;
-	
-	public final static int ICON_HEADER_X = 7;
-	public final static int ICON_HEADER_Y = 7;
-	public final static int HEADER_ICON_RECT_WIDTH = 24;
-	public final static int HEADER_ICON_RECT_HEIGHT = 24; 
-	public final static int HEADER_TEXT_RECT_HEIGHT = 21;
-	public final static int HEADER_TEXT_RECT_X = 25;
-	public final static int HEADER_TEXT_RECT_WIDTH_REDUCER = 25;
-	
-	public final static int ICON_X = 4;
-	public final static int ICON_Y = 4;
-	public final static int ICON_WIDTH = 16;
-	public final static int ICON_HEIGHT = 16;
-	public final static int ICON_RECT_WIDTH = 20;
-	public final static int ICON_RECT_HEIGHT = 20;
-	
-	public final static int SEPARATOR_HEIGHT = 2;
-	public final static int COMPARTMENT_MIN_HEIGHT = 13;
-	public final static int COMPARTMENT_BUTTOM_OFFSET = 5;
-	
-	public final static String ANNOTATION_BASIC = "Basic"; 					//$NON-NLS-1$
-	public final static String ANNOTATION_ID = "Id"; 						//$NON-NLS-1$
-	public final static String ANNOTATION_ONE_TO_ONE = "OneToOne"; 			//$NON-NLS-1$
-	public final static String ANNOTATION_ONE_TO_MANY = "OneToMany"; 		//$NON-NLS-1$
-	public final static String ANNOTATION_MANY_TO_ONE = "ManyToOne"; 		//$NON-NLS-1$
-	public final static String ANNOTATION_MANY_TO_MANY = "ManyToMany"; 		//$NON-NLS-1$
-	public final static String ANNOTATION_VERSION = "Version"; 				//$NON-NLS-1$
-	public final static String ANNOTATION_EMBEDDED = "Embedded"; 			//$NON-NLS-1$
-	public final static String ANNOTATION_EMBEDDED_ID = "EmbeddedId"; 		//$NON-NLS-1$
-	public final static String ANNOTATION_TRANSIENT = "Transient"; 			//$NON-NLS-1$
-	
-	public static final int RELATION_TYPE_UNIDIRECTIONAL = 1;
-	public static final int RELATION_TYPE_BIDIRECTIONAL = 2;
-	
-	public static HashSet<String> RELATION_ANNOTATIONS = new HashSet<String>();
-	
-	public static String PROP_ENTITY_CLASS_NAME = "prop_entity_class_name";	//$NON-NLS-1$
-	public static String PROP_SHAPE_TYPE = "prop_shape_type";				//$NON-NLS-1$
-	public static String PROP_ATTRIBS_NUM = "prop_attribs_num";				//$NON-NLS-1$
-	public static String PROP_SPECIFIED_NAME = "specifiedName";		//$NON-NLS-1$
-		
-	public static enum DecoratorType {
-		CARDINALITY,
-		ASSOCIATION
-	}
-
-	//public static String PROP_CON_DIR_START = "prop_con_dir_start";			//$NON-NLS-1$
-	//public static String PROP_CON_DIR_END = "prop_con_dir_end";				//$NON-NLS-1$
-	
-	public static String ID_VIEW_JPA_DETAILS = "org.eclipse.jpt.ui.jpaDetailsView";						//$NON-NLS-1$
-	public static String ID_VIEW_MINIATURE = "org.eclipse.graphiti.ui.internal.editor.thumbnailview";	//$NON-NLS-1$
-	
-	public static String CARDINALITY_ZERO_ONE = "0..1"; //$NON-NLS-1$
-	public static String CARDINALITY_ONE = "1"; //$NON-NLS-1$
-	public static String CARDINALITY_ZERO_N = "0..N"; //$NON-NLS-1$
-	
-	public static enum ShapeType {ICON, HEADER, ATTRIBUTE, COMPARTMENT};
-	
-	static {
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_BASIC, MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_ID, MappingKeys.ID_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_ONE_TO_ONE, MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_ONE_TO_MANY, MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_MANY_TO_ONE, MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_MANY_TO_MANY, MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_VERSION, MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_EMBEDDED, MappingKeys.EMBEDDED_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_EMBEDDED_ID, MappingKeys.EMBEDDED_ID_ATTRIBUTE_MAPPING_KEY);
-		ANNOTATION_NAME_TO_KEY.put(ANNOTATION_TRANSIENT, MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY);
-		
-		RELATION_ANNOTATIONS.add(JPAEditorConstants.ANNOTATION_ONE_TO_ONE);
-		RELATION_ANNOTATIONS.add(JPAEditorConstants.ANNOTATION_ONE_TO_MANY);
-		RELATION_ANNOTATIONS.add(JPAEditorConstants.ANNOTATION_MANY_TO_ONE);
-		RELATION_ANNOTATIONS.add(JPAEditorConstants.ANNOTATION_MANY_TO_MANY);	
-		
-		CARDINALITY_LABELS.add(CARDINALITY_ZERO_ONE);
-		CARDINALITY_LABELS.add(CARDINALITY_ONE);
-		CARDINALITY_LABELS.add(CARDINALITY_ZERO_N);
-		
-		PRIMITIVE_TO_WRAPPER.put("int", Integer.class.getName());		//$NON-NLS-1$
-		PRIMITIVE_TO_WRAPPER.put("long", Long.class.getName());			//$NON-NLS-1$
-		PRIMITIVE_TO_WRAPPER.put("double", Double.class.getName());		//$NON-NLS-1$
-		PRIMITIVE_TO_WRAPPER.put("float", Float.class.getName() );		//$NON-NLS-1$
-		PRIMITIVE_TO_WRAPPER.put("boolean", Boolean.class.getName());	//$NON-NLS-1$
-		PRIMITIVE_TO_WRAPPER.put("char", Character.class.getName());	//$NON-NLS-1$
-		PRIMITIVE_TO_WRAPPER.put("byte", Byte.class.getName());			//$NON-NLS-1$
-		PRIMITIVE_TO_WRAPPER.put("short", Short.class.getName());		//$NON-NLS-1$
-		
-		WRAPPER_SIMPLE_NAMES.add("Integer");		//$NON-NLS-1$
-		WRAPPER_SIMPLE_NAMES.add("Long");			//$NON-NLS-1$
-		WRAPPER_SIMPLE_NAMES.add("Double");			//$NON-NLS-1$
-		WRAPPER_SIMPLE_NAMES.add("Float");			//$NON-NLS-1$
-		WRAPPER_SIMPLE_NAMES.add("Boolean");		//$NON-NLS-1$
-		WRAPPER_SIMPLE_NAMES.add("Character");		//$NON-NLS-1$
-		WRAPPER_SIMPLE_NAMES.add("Byte");			//$NON-NLS-1$
-		WRAPPER_SIMPLE_NAMES.add("Short");			//$NON-NLS-1$
-		WRAPPER_SIMPLE_NAMES.add("String");			//$NON-NLS-1$
-	}
-	
-	public final static String[] PRIMITIVE_TYPES_AND_WRAPPERS = {"int", 						//$NON-NLS-1$
-																 "Integer", 					//$NON-NLS-1$
-																 "long", 						//$NON-NLS-1$
-																 "Long", 						//$NON-NLS-1$																 
-																 "short", 						//$NON-NLS-1$
-																 "Short", 						//$NON-NLS-1$																 
-																 "char", 						//$NON-NLS-1$
-																 "Character",					//$NON-NLS-1$																 
-																 "boolean", 					//$NON-NLS-1$
-																 "Boolean", 					//$NON-NLS-1$																 
-																 "byte", 						//$NON-NLS-1$
-																 "Byte", 						//$NON-NLS-1$																 
-																 "double", 						//$NON-NLS-1$
-																 "Double", 						//$NON-NLS-1$																 
-																 "float",						//$NON-NLS-1$
-																 "Float",						//$NON-NLS-1$
-																 "String"};						//$NON-NLS-1$
-												
-	public final static HashSet<String> PRIMITIVE_TYPES_AND_WRAPPERS_SET = new HashSet<String>();	
-	
-	static {
-		for (String type : PRIMITIVE_TYPES_AND_WRAPPERS)
-			PRIMITIVE_TYPES_AND_WRAPPERS_SET.add(type);
-	}
-
-	public static final String OPEN_WHOLE_PERSISTENCE_UNIT_EDITOR_PROPERTY = "JPADiagramEditor_openWholePersistenceUnit";	//$NON-NLS-1$
-
-	public static final String PRIMARY_COLLAPSED = "primary collapsed"; //$NON-NLS-1$
-	
-	public static final String BASIC_COLLAPSED = "basic collapsed";//$NON-NLS-1$
-	
-	public static final String RELATION_COLLAPSED = "relation collapsed";//$NON-NLS-1$
-
-	public static final String PROP_ENTITY_CHECKSUM = "diagram.checksum"; //$NON-NLS-1$
-	
-	public static final String JPA_SUPPORT_DIALOG_ID = "jpa_support_warning";	//$NON-NLS-1$
-	
-	public static final String ENTITY_XML_TAG = "entity"; //$NON-NLS-1$
-	
-	public static final String ENTITY_NAME_TAG = "entity-name"; //$NON-NLS-1$
-	
-	public static final String ENTITY_WIDTH_TAG = "entity-width"; //$NON-NLS-1$
-
-	public static final String ENTITY_HEIGHT_TAG = "entity-height"; //$NON-NLS-1$
-
-	public static final String ENTITY_X_COORDINATE_TAG = "entity-X-Coordinate"; //$NON-NLS-1$
-
-	public static final String ENTITY_Y_COORDINATE_TAG = "entity-Y-Coordinate"; //$NON-NLS-1$
-
-	public static final String ENTITY_PRIMARY_SECTION_STATE_TAG = "primary-collapsed"; //$NON-NLS-1$
-
-	public static final String ENTITY_RELATION_SECTION_STATE_TAG = "relation-collapsed"; //$NON-NLS-1$
-
-	public static final String ENTITY_BASIC_SECTION_STATE_TAG = "basic-collapsed"; //$NON-NLS-1$
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtil.java
deleted file mode 100644
index fe09b1d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtil.java
+++ /dev/null
@@ -1,1475 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Locale;
-import java.util.Properties;
-import java.util.Set;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IImportDeclaration;
-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.SearchEngine;
-import org.eclipse.jdt.internal.core.search.JavaSearchScope;
-import org.eclipse.jdt.ui.actions.FormatAllAction;
-import org.eclipse.jdt.ui.actions.OrganizeImportsAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.persistence.PersistenceFactory;
-import org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef;
-import org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence;
-import org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator.RelEndDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-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;
-
-
-@SuppressWarnings("restriction")
-public class JPAEditorUtil {
-	
-
-	private static IPeServiceUtil peUtil = null;
-	private final static String PERSISTENCE_PROVIDER_LIBRARY_STRING = "javax/persistence/"; //$NON-NLS-1$
-		
-	public static String capitalizeFirstLetter(String s) {
-		if (s.length() == 0) return s;
-		String res = s.substring(0, 1).toUpperCase(Locale.ENGLISH) + s.substring(1);
-		return res;
-	}
-	
-	public static String decapitalizeFirstLetter(String s) {
-		if (s.length() == 0) return s;
-		String res = s.substring(0, 1).toLowerCase(Locale.ENGLISH) + s.substring(1);
-		return res;
-	}
-	
-	public static String revertFirstLetterCase(String s) {
-		if ((s == null) || (s.length() == 0))
-			return s;
-		return (Character.isLowerCase(s.charAt(0)) ? 
-				s.substring(0, 1).toUpperCase(Locale.ENGLISH) :
-				s.substring(0, 1).toLowerCase(Locale.ENGLISH)) +
-				s.substring(1);
-	}
-
-	synchronized public static IPeServiceUtil getPeUtil() {
-		if (peUtil == null)
-			peUtil = new PeServiceUtilImpl();
-		return peUtil;
-	}
-	
-	public static boolean equalsIgnoreFirstLetterCase(String s1, String s2) {
-		if ((s1 == null) && (s2 == null)) 
-			return true;
-		if ((s1 == null) || (s2 == null))
-			return false;
-		if (s1.length() != s2.length())
-			return false;
-		if (s1.length() == 0) 
-			return true;
-		return s1.substring(0, 1).equalsIgnoreCase(s2.substring(0, 1)) &&
-				s1.substring(1).equals(s2.substring(1));
-	}
-	
-    public static Anchor getAnchor(ContainerShape cs) { 
-    	Collection<Anchor> anchors  = cs.getAnchors();
-	    return anchors.iterator().next();    	
-    }
-    
-    public static Anchor getAnchor(JavaPersistentType jpt, IFeatureProvider fp) {
-    	PictogramElement pe = fp.getPictogramElementForBusinessObject(jpt);
-    	if ((pe == null) || (!(pe instanceof ContainerShape)))
-    		return null;
-    	return getAnchor((ContainerShape)pe);
-    }
-    
-    public static String getText(JavaPersistentAttribute at) {
-    	return at.getName();
-    }
-    
-    public static String returnSimpleName(String s) {
-    	return s.substring(s.lastIndexOf('.') + 1);
-    }
-    
-    public static String stripQuotes(String s) {
-    	if ((s.startsWith("\"")) && (s.endsWith("\"")))  //$NON-NLS-1$ //$NON-NLS-2$
-    		return s.substring(1, s.length() - 1);
-    	return s;
-    }
-    
-	public static String getTooltipText(JavaPersistentType jpt,
-			String superPersistentTypeName) {
-		String res = jpt.getName();
-		if (superPersistentTypeName != null) {
-			return MessageFormat.format(JPAEditorMessages.JPAEditorUtil_inheritTypeTooltipText,
-					new Object[] { res, superPersistentTypeName });
-		}
-		return MessageFormat.format(JPAEditorMessages.JPAEditorUtil_fullnameTooltipText,
-				new Object[] { res });
-	}
-
-    
-    public static String getAttributeTypeName(JavaPersistentAttribute at) {
-    	return getAttributeTypeName(at.getResourceAttribute());
-    }    
-    
-    public static String getAttributeTypeName(JavaResourceAttribute at) {
-    	return at.getTypeName();
-    }        
-    
-    public static List<String> getAttributeTypeTypeNames(JavaResourceAttribute at) {
-    	ListIterator<String> tt = at.getTypeTypeArgumentNames().iterator();
-    	if ((tt == null) || !tt.hasNext()) 
-    		return null;
-    	LinkedList<String> res = new LinkedList<String>();
-	    while (tt.hasNext()) 
-	    	res.add(tt.next()); 
-    	return res;
-    }
-    
-    public static String getAttributeTypeNameWithGenerics(JavaPersistentAttribute at) {
-    	return getAttributeTypeNameWithGenerics(at.getResourceAttribute());
-    }
-
-    
-    public static String getAttributeTypeNameWithGenerics(JavaResourceAttribute at) {
-    	StringBuilder res = new StringBuilder(getAttributeTypeName(at));
-    	ListIterator<String> it = at.getTypeTypeArgumentNames().iterator();
-    	if ((it != null) && it.hasNext()) {
-	    	res.append('<');
-	    	res.append(createCommaSeparatedListOfFullTypeNames(it));
-	    	res.append('>');
-    	}
-    	return res.toString();
-    }        
-    
-    
-    public static String[] getGenericsElementTypes(String typeName) {
-    	if (typeName.indexOf("<") == -1)									//$NON-NLS-1$
-    		return null;
-    	String types = typeName.substring(typeName.indexOf("<") + 1, typeName.lastIndexOf(">"));	//$NON-NLS-1$	//$NON-NLS-2$
-    	String[] typeNames = types.split(",");		//$NON-NLS-1$
-    	for (int i = 0; i < typeNames.length; i++) {
-    		typeNames[i] = typeNames[i].trim();
-    	}
-    	return typeNames;
-    }          
-    
-    public static String createCommaSeparatedListOfSimpleTypeNames(String[] strings) {
-    	if ((strings == null) || (strings.length == 0))
-    		return null;
-    	StringBuilder res = new StringBuilder(JPAEditorUtil.returnSimpleName(strings[0]));
-    	for (int i = 1; i < strings.length; i++) {
-    		res.append(", ");									//$NON-NLS-1$
-    		res.append(JPAEditorUtil.returnSimpleName(strings[i]));
-    	}
-    	return res.toString();
-    }     
-    
-    public static String createCommaSeparatedListOfSimpleTypeNames(ListIterator<String> strIt) {
-    	if ((strIt == null) || !strIt.hasNext()) 
-    		return null;
-    	StringBuilder res = new StringBuilder(JPAEditorUtil.returnSimpleName(strIt.next()));    	
-	    while (strIt.hasNext()) {
-	    	res.append(", ");									//$NON-NLS-1$
-	    	res.append(JPAEditorUtil.returnSimpleName(strIt.next()));
-	    }
-    	return res.toString();    	
-    }     
-    
-    public static String createCommaSeparatedListOfFullTypeNames(ListIterator<String> strIt) {
-    	if ((strIt == null) || !strIt.hasNext()) 
-    		return null;
-    	StringBuilder res = new StringBuilder(strIt.next());    	
-	    while (strIt.hasNext()) {
-	    	res.append(", ");									//$NON-NLS-1$
-	    	res.append(strIt.next());
-	    }
-    	return res.toString();    	
-    }                    
-    
-    
-    public static String getText(JavaPersistentType jpt) {
-    	return JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
-    }
-    
-    public static String getTooltipText(JavaPersistentType jpt) {
-    	String res = jpt.getName();
-    	return MessageFormat.format(JPAEditorMessages.JPAEditorUtil_fullnameTooltipText, new Object[] { res });
-    }
-    
-    public static JavaPersistentType getJPType(ICompilationUnit cu) {
-    	String name = cu.getElementName();
-		if (!name.endsWith(".java"))				//$NON-NLS-1$
-			return null;
-    	IType tp = cu.findPrimaryType();
-    	if (tp == null)
-    		return null;
-    	name = tp.getFullyQualifiedName();
-		IJavaProject jp = cu.getJavaProject();
-    	JpaProject proj = null;
-		proj = JpaArtifactFactory.instance().getJpaProject(jp.getProject());
-		if (proj == null)
-			return null;
-    	PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(proj);
-    	PersistentType pt = pu.getPersistentType(name);
-		if ((pt == null) || (!(pt instanceof JavaPersistentType)))
-			return null;
-    	return	(JavaPersistentType)pt;
-    }
-    
-    public static String getNameFromShape(Shape sh) {
-    	ContainerShape csh = (ContainerShape)sh;
-    	List<Shape> shapes = csh.getChildren();
-    	Iterator<Shape> it = shapes.iterator();
-    	while (it.hasNext()) {
-    		Shape shape = it.next();
-    		GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
-    		if (ga instanceof Rectangle) {
-    			Rectangle rect = (Rectangle)ga;
-    			if (rect.getY() == 0) {
-    				List<GraphicsAlgorithm> gas = rect.getGraphicsAlgorithmChildren();
-    				if (gas.size() > 0) { 
-    					GraphicsAlgorithm gra = gas.get(0);
-    					if (gra instanceof Text)
-    						return ((Text)gra).getValue(); 
-    				}
-    			}
-    		}
-    	}
-    	return null;
-    }
-    
-    public static void setNameOfShape(Shape sh, String name) {
-    	ContainerShape csh = (ContainerShape)sh;
-    	List<Shape> shapes = csh.getChildren();
-    	Iterator<Shape> it = shapes.iterator();
-    	while (it.hasNext()) {
-    		Shape shape = it.next();
-    		GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
-    		if (ga instanceof Rectangle) {
-    			Rectangle rect = (Rectangle)ga;
-    			if (rect.getY() == 0) {
-    				List<GraphicsAlgorithm> gas = rect.getGraphicsAlgorithmChildren();
-    				if (gas.size() > 0) { 
-    					GraphicsAlgorithm gra = gas.get(0);
-    					if (gra instanceof Text) {
-    						((Text)gra).setValue(name);
-    						return;
-    					}
-    				}
-    			}
-    		}
-    	};
-    }
-    
-    public static void setJPTNameInShape(ContainerShape cs, String newName) {
-    	setJPTNameInShape(cs, newName, getPeUtil());
-    }
-    
-    public static void setJPTNameInShape(ContainerShape cs, String newName, IPeServiceUtil peUtil) {
-    	List<Shape> shapes = cs.getChildren();
-    	Iterator<Shape> it = shapes.iterator();
-    	while (it.hasNext()) {
-    		Shape sh = it.next();
-    		String propShapeType = peUtil.getPropertyValue(sh, JPAEditorConstants.PROP_SHAPE_TYPE);
-    		if (!ShapeType.HEADER.toString().equals(propShapeType))
-    			continue;
-    		Text txt = (Text)sh.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
-    		txt.setValue(newName);
-    		return;
-    	}
-    }
-    
-    
-    public static String produceValidAttributeName(String name) {
-    	if ((name == null) || (name.length() == 0)) 
-			return "";										//$NON-NLS-1$
-    	if (name.length() == 1)
-    		return name.toLowerCase(Locale.ENGLISH);
-    	String secondSymbol = name.substring(1, 2); 
-    	if (secondSymbol.toLowerCase(Locale.ENGLISH).equals(secondSymbol.toUpperCase(Locale.ENGLISH)))
-    		return decapitalizeFirstLetter(name);
-    	return (isUpperCase(secondSymbol)) ? 
-    			capitalizeFirstLetter(name) : 
-    				decapitalizeFirstLetter(name);
-    }
-    
-    public static boolean isUpperCase(String s) {
-    	if ((s == null) || (s.length() == 0) || (s.length() > 1)) 
-    			throw new IllegalArgumentException("The given string has to contain one symbol exactly");	//$NON-NLS-1$
-    	return s.toUpperCase(Locale.ENGLISH).equals(s);
-    }
-    
-    
-	public static void createRegisterEntityInXMLJob(final JpaProject jpaProject, final String classFQN) {
-		final JpaXmlResource resource = jpaProject.getPersistenceXmlResource();
-		XmlPersistence xmlPersistence = (XmlPersistence) resource.getRootObject();
-		EList<XmlPersistenceUnit> persistenceUnits = xmlPersistence.getPersistenceUnits();
-		XmlPersistenceUnit persistenceUnit = persistenceUnits.get(0); // Multiply persistence unit support
-		boolean registered = false;
-		for (XmlJavaClassRef ref : persistenceUnit.getClasses()) {
-			String className = ref.getJavaClass();
-			if (classFQN.equals(className)) {
-				registered = true;
-				break;
-			}
-		}
-		if (!registered) {
-			XmlJavaClassRef classRef = PersistenceFactory.eINSTANCE.createXmlJavaClassRef();
-			classRef.setJavaClass(classFQN);
-	     	persistenceUnit.getClasses().add(classRef);					
-		}
-		resource.save();
-	}
-    
-	public static void createUnregisterEntityFromXMLJob(final JpaProject jpaProject, final String classFQN) {
-		JpaXmlResource resource = jpaProject.getPersistenceXmlResource();
-		XmlPersistence xmlPersistence = (XmlPersistence) resource.getRootObject();
-		EList<XmlPersistenceUnit> persistenceUnits = xmlPersistence.getPersistenceUnits();
-		XmlPersistenceUnit persistenceUnit = persistenceUnits.get(0);// Multiply persistence unit support
-		EList<XmlJavaClassRef> cRefs = persistenceUnit.getClasses();
-		for (XmlJavaClassRef ref : cRefs) {
-			if (ref.getJavaClass().equals(classFQN)) {
-				cRefs.remove(ref);
-				break;
-			}
-		}
-		resource.save();
-	}
-	
-	public static void createImports(ICompilationUnit cu, String typeFQN) {
-		if (typeFQN == null)
-			return;
-		typeFQN = typeFQN.trim();
-		String[] typeFQNs = getAllTypes(typeFQN);
-		createImports(cu, typeFQNs);
-	}
-		
-	public static String[] getAllTypes(String typeFQN){
-		typeFQN = typeFQN.replace('[', ',');
-		typeFQN = typeFQN.replace(']', ',');
-		typeFQN = typeFQN.replace('<', ',');
-		typeFQN = typeFQN.replace('>', ',');
-		String[] res = typeFQN.trim().split(",");	//$NON-NLS-1$
-		for (int i = 0; i < res.length; i++)
-			res[i] = res[i].trim();
-		return res;
-	}
-	
-	public static void createImports(ICompilationUnit cu, String[] typeFQNs) {
-		NullProgressMonitor npm = new NullProgressMonitor();
-		for (String typeFQN : typeFQNs) {
-			if (typeFQN.startsWith("java.lang.") || !typeFQN.contains("."))		//$NON-NLS-1$	//$NON-NLS-2$
-				continue;
-			try {
-				cu.createImport(typeFQN, null, npm);
-			} catch (JavaModelException e) {}
-		}
-	}
-	
-	public static String createImport(ICompilationUnit cu, String typeFQN) {
-		if (typeFQN.startsWith("java.lang.") || !typeFQN.contains(".")) 		//$NON-NLS-1$	//$NON-NLS-2$
-			return returnSimpleName(typeFQN);			
-		
-		NullProgressMonitor npm = new NullProgressMonitor();
-		String simpleName = returnSimpleName(typeFQN);
-		IImportDeclaration[] ids = new IImportDeclaration[0];
-		try {
-			ids = cu.getImports();
-		} catch (JavaModelException e) {}		
-		for (IImportDeclaration id : ids) {
-			String impName = id.getElementName(); 
-			if (impName.endsWith("*"))						//$NON-NLS-1$
-				continue;
-			if (impName.endsWith("." + simpleName))			//$NON-NLS-1$
-				return typeFQN;
-			if (JPAEditorConstants.WRAPPER_SIMPLE_NAMES.contains(simpleName))
-				return typeFQN;
-		}
-		try {
-			cu.createImport(typeFQN, null, npm);
-			return returnSimpleName(typeFQN);
-		} catch (JavaModelException e) {}
-		return typeFQN;
-	}
-
-	public static Image createAttributeIcon(Rectangle iconRect, Set<String> annotations) {
-		Image icon = null;
-		if ((annotations == null) || (annotations.size() == 0) || annotations.contains(JPAEditorConstants.ANNOTATION_BASIC)) {
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_BASIC);
-		} else if (annotations.contains(JPAEditorConstants.ANNOTATION_ID)) {
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.PRIMARY_KEY);
-		} else if (annotations.contains(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_ONE_TO_ONE);
-		} else if (annotations.contains(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)) {
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_ONE_TO_MANY);
-		} else if (annotations.contains(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_MANY_TO_ONE);
-		} else if (annotations.contains(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_MANY_TO_MANY);		
-		} else if(annotations.contains(JPAEditorConstants.ANNOTATION_EMBEDDED_ID)){
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_EMBEDDED_ID);
-		} else if(annotations.contains(JPAEditorConstants.ANNOTATION_VERSION)){
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_VERSION);
-		} else if(annotations.contains(JPAEditorConstants.ANNOTATION_TRANSIENT)){
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_TRANSIENT);
-		} else if(annotations.contains(JPAEditorConstants.ANNOTATION_EMBEDDED)){
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_EMBEDDED);
-		} else {
-			icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_BASIC);			
-		}	
-		return icon;
-	}
-	
-	public static Shape getIconShape(Shape attributeShape) {
-		int y = attributeShape.getGraphicsAlgorithm().getY();
-		ContainerShape cs = attributeShape.getContainer();
-		Iterator<Shape> it = cs.getChildren().iterator();
-		while (it.hasNext()) {
-			Shape shp = it.next();
-			GraphicsAlgorithm ga = shp.getGraphicsAlgorithm(); 
-			if ((ga != null) && (ga.getY() == y) && 
-				(ShapeType.ICON.toString().
-						equals(Graphiti.getPeService().getPropertyValue(shp, 
-								JPAEditorConstants.PROP_SHAPE_TYPE)))) 
-				return shp;
-		}
-		return null;
-	}
-	
-	public static Collection<ContainerShape> getRelatedShapes(ContainerShape cs) {
-		Collection<ContainerShape> res = new HashSet<ContainerShape>();
-		Collection<Connection> cons = new HashSet<Connection>();  
-		Iterator<Anchor> ansIt = cs.getAnchors().iterator();
-		while (ansIt.hasNext()) {
-			Anchor an = ansIt.next();
-			cons.addAll(an.getIncomingConnections());
-			cons.addAll(an.getOutgoingConnections());
-		}
-		Iterator<Connection> consIt = cons.iterator();
-		while (consIt.hasNext()) {
-			Connection con = consIt.next();
-			ContainerShape cs1 = (ContainerShape)con.getStart().getParent(); 
-			if (cs1 != cs)
-				res.add(cs1);
-			cs1 = (ContainerShape)con.getEnd().getParent();
-			if (cs1 != cs)
-				res.add(cs1);
-		}
-		return res;
-	}
-		
-	public static int calcConnectionLength(FreeFormConnection c) {
-		List<org.eclipse.graphiti.mm.algorithms.styles.Point> pts = c.getBendpoints();
-		int len = 0;
-		for (int i = 0; i < pts.size() - 1; i++) {
-			len = len + ((pts.get(i).getX() == pts.get(i + 1).getX()) ?
-					Math.abs(pts.get(i).getY() - pts.get(i + 1).getY()) :
-					Math.abs(pts.get(i).getX() - pts.get(i + 1).getX()));	
-		}
-		return len;
-	}
-		
-	public static List<Point> createBendPointList(FreeFormConnection c,  boolean selfRelation) {
-		int cnt = getNumberOfConnectionsWithSameEndsAs(c);
-		return createBendPointList(c, cnt - 1, cnt, selfRelation);
-	}
-		
-	public static List<Point> createBendPointList(FreeFormConnection c,  int cnt, int connectionsNum,  boolean selfRelation) {
-		return selfRelation ? 
-				createBendPointListForSelfRelation(c, cnt, connectionsNum) :
-				createBendPointListForNonSelfRelation(c, cnt, connectionsNum);
-	}
-	
-	private static List<Point> createBendPointListForSelfRelation(FreeFormConnection c,  int cnt, int connectionsNum) {
-		final int ABS_SHIFT = 15; 
-		
-		int emptiestQuadrant = getEmptiestQuadrant(c);
-		boolean evenQuadrant = (emptiestQuadrant == 2) || (emptiestQuadrant == 4);
-		
-		RoundedRectangle rect = (RoundedRectangle)c.getStart().getParent().getGraphicsAlgorithm();
-		
-		float halfWidth = rect.getWidth() / 2.0f;
-		float halfHeight = rect.getHeight() / 2.0f;
-		
-		int centerX = Math.round(halfWidth + rect.getX());
-		int centerY = Math.round(halfHeight + rect.getY());
-		
-		boolean startHorizontal = false;
-		boolean endHorizontal = !startHorizontal;	
-
-		
-		int startDirection = ((emptiestQuadrant == 2) || (emptiestQuadrant == 3)) ? 1 : -1;  // 1 or -1; 1 for RIGHT/DOWN; -1 for LEFT/UP
-		int endDirection = ((emptiestQuadrant == 1) || (emptiestQuadrant == 2)) ? 1 : -1;
-		
-		int x;
-		int y; 
-		
-		
-		if (endHorizontal) {
-			x = centerX + Math.round(halfWidth * endDirection); 
-			y = centerY;
-		} else {
-			x = centerX; 
-			y = centerY + Math.round(halfHeight * endDirection);			
-		}
-		int SHIFT = evenQuadrant ? -ABS_SHIFT * endDirection : ABS_SHIFT * endDirection;	
-		Point endPoint = new Point(x + (endHorizontal ? 0 : (cnt * SHIFT)), y + (endHorizontal ? (cnt * SHIFT) : 0));
-		
-		
-		if (startHorizontal) {
-			x = centerX + Math.round(halfWidth * startDirection); 
-			y = centerY;
-		} else {
-			x = centerX; 
-			y = centerY + Math.round(halfHeight * startDirection);			
-		}
-		SHIFT = evenQuadrant ? -ABS_SHIFT * startDirection : ABS_SHIFT * startDirection;		
-		Point startPoint = new Point(x + (startHorizontal ? 0 : (cnt * SHIFT)), y + (startHorizontal ? (cnt * SHIFT) : 0));
-		
-		// second point
-		List<Point> res = new LinkedList<Point>();
-		res.add(startPoint);
-		if (startHorizontal) {
-			x = startPoint.x + startDirection * 50 + ((evenQuadrant ? - cnt : cnt) * SHIFT);
-			y = startPoint.y;
-		} else {
-			x = startPoint.x;
-			y = startPoint.y + startDirection * 50 + ((evenQuadrant ? - cnt : cnt) * SHIFT);
-		}
-		res.add(new Point(x, y));
-		
-		// middle point
-		SHIFT = ABS_SHIFT * endDirection;
-		if (startHorizontal) {
-			y = y + Math.round(halfHeight + 50) * endDirection + (2 *cnt * SHIFT);
-		} else {
-			x = x + Math.round(halfWidth + 50) * endDirection + (2 * cnt * SHIFT);
-		}
-		res.add(new Point(x, y));
-		
-		// fourth point
-		if (startHorizontal) {
-			x = endPoint.x;
-		} else {
-			y = endPoint.y;
-		}
-		res.add(new Point(x, y));
-		
-		
-		res.add(endPoint);
-		
-		//------------------		
-		return res;
-	}
-	
-	private static int getEmptiestQuadrant(FreeFormConnection selfRel) {
-		Anchor anchor = selfRel.getStart();
-		RoundedRectangle primRect = (RoundedRectangle)anchor.getParent().getGraphicsAlgorithm();
-		Collection<Connection> cons = new HashSet<Connection>();
-		cons.addAll(anchor.getIncomingConnections());
-		cons.addAll(anchor.getOutgoingConnections());
-		Iterator<Connection> it = cons.iterator();
-		Collection<Anchor> anchors = new HashSet<Anchor>();
-		while (it.hasNext()) {
-			Connection c = it.next();
-			Anchor a = c.getStart();
-			if (a != anchor)
-				anchors.add(a);
-			a = c.getEnd();
-			if (a != anchor)
-				anchors.add(a);			
-		}
-		Iterator<Anchor> itAnchors = anchors.iterator();
-		float[] quadrantHabitat = new float[5];
-		while (itAnchors.hasNext()) {
-			Anchor a = itAnchors.next();
-			RoundedRectangle rect = (RoundedRectangle)a.getParent().getGraphicsAlgorithm();
-			int q = getQuadrant(primRect, rect);
-			quadrantHabitat[q] += 1.5f;
-			if (q == 1) {
-				quadrantHabitat[4] = quadrantHabitat[4] + 0.5f;
-			} else if (q == 4) {
-				quadrantHabitat[1] +=  0.5f;
-			}
-			if (q < 4) {
-				quadrantHabitat[q + 1] += 0.5f;
-			}
-			if (q > 1) {
-				quadrantHabitat[q - 1] += 0.5f;
-			}			
-		}
-		float minHabitat = Float.MAX_VALUE;
-		int emptiestQuadrant = 0;
-		for (int i = 1; i < 5; i++) {
-			if (quadrantHabitat[i] < minHabitat) {
-				emptiestQuadrant = i;
-				minHabitat = quadrantHabitat[i]; 
-			}
-		}
-		return emptiestQuadrant;
-	}
-	
-	private static int getQuadrant(RoundedRectangle primRect, RoundedRectangle rect) {
-		int primCenterX = primRect.getX() + Math.round(primRect.getWidth() / 2.0f);
-		int primCenterY = primRect.getY() + Math.round(primRect.getHeight() / 2.0f);
-		int centerX = rect.getX() + Math.round(rect.getWidth() / 2.0f);
-		int centerY = rect.getY() + Math.round(rect.getHeight() / 2.0f);
-		if (primCenterX < centerX) 
-			if (primCenterY > centerY)
-				return 1;
-			else 
-				return 2;
-		else 
-			if (primCenterY > centerY)
-				return 4;
-			else 
-				return 3;
-	}
-		
-	private static List<Point> createBendPointListForNonSelfRelation(FreeFormConnection c,  int cnt, int connectionsNum) {
-		final int ABS_SHIFT = 15; 
-		RoundedRectangle rectStart = (RoundedRectangle)c.getStart().getParent().getGraphicsAlgorithm();
-		RoundedRectangle rectEnd = (RoundedRectangle)c.getEnd().getParent().getGraphicsAlgorithm();
-		
-		float startHalfWidth = rectStart.getWidth() / 2.0f;
-		float startHalfHeight = rectStart.getHeight() / 2.0f;
-		float endHalfWidth = rectEnd.getWidth() / 2.0f;
-		float endHalfHeight = rectEnd.getHeight() / 2.0f;
-
-		
-		int startCenterX = Math.round(startHalfWidth + rectStart.getX());
-		int startCenterY = Math.round(startHalfHeight + rectStart.getY());
-		int endCenterX = Math.round(endHalfWidth + rectEnd.getX());
-		int endCenterY = Math.round(endHalfHeight + rectEnd.getY());
-		int xDelta = endCenterX - startCenterX;
-		int yDelta = endCenterY - startCenterY;
-		
-		boolean startHorizontal = true;
-		int x;
-		int y; 
-		
-		if (xDelta != 0) {
-			x = startCenterX + Math.round(startHalfWidth * Math.signum(xDelta)); 
-			y = startCenterY + Math.round(Math.abs(startHalfWidth / xDelta) * yDelta);
-		} else {
-			x = startCenterX + Math.round(Math.abs(startHalfHeight / yDelta) * xDelta); 
-			y = startCenterY + Math.round(startHalfHeight * Math.signum(yDelta));			
-		}
-		
-		if (Math.abs(y - startCenterY) + 0.1 > startHalfHeight) {
-			startHorizontal = false;;
-			x = startCenterX + Math.round(Math.abs(startHalfHeight / yDelta) * xDelta);			
-			y = startCenterY + Math.round(startHalfHeight * Math.signum(yDelta));
-		}
-		int SHIFT;
-		 if (startHorizontal) {
-			 SHIFT = (y < startCenterY) ? ABS_SHIFT : -ABS_SHIFT;
-		 } else {
-			 SHIFT = (x < startCenterX) ? ABS_SHIFT : -ABS_SHIFT;
-		 }
-
-		
-		Point startPoint = new Point(x + (startHorizontal ? 0 : (cnt * SHIFT)), y + (startHorizontal ? (cnt * SHIFT) : 0));
-		List<Point> res = new LinkedList<Point>();
-		
-		xDelta = startCenterX - endCenterX;
-		yDelta = startCenterY - endCenterY;
-		
-		boolean straight = (xDelta == 0) || (yDelta == 0); 
-		
-		res.add(startPoint);
-		
-		boolean endHorizontal = true;	
-		
-		if (xDelta != 0) {
-			x = endCenterX + Math.round(endHalfWidth * Math.signum(xDelta)); 
-			y = endCenterY + Math.round(Math.abs(endHalfWidth / xDelta) * yDelta);
-		} else {
-			x = endCenterX + Math.round(Math.abs(endHalfHeight / yDelta) * xDelta);
-			y = endCenterY + Math.round(endHalfHeight * Math.signum(yDelta)); 
-		}
-		if (Math.abs(y - endCenterY) + 0.1 > endHalfHeight) {
-			endHorizontal = false;
-			x = endCenterX + Math.round(Math.abs(endHalfHeight / yDelta) * xDelta);			
-			y = endCenterY + Math.round(endHalfHeight * Math.signum(yDelta));
-		}
-		
-		 if (endHorizontal) {
-			 SHIFT = (y < endCenterY) ? ABS_SHIFT : -ABS_SHIFT;
-		 } else {
-			 SHIFT = (x < endCenterX) ? ABS_SHIFT : -ABS_SHIFT;
-		 }
-		Point endPoint = new Point(x + (endHorizontal ? 0 : (cnt * SHIFT)), y + (endHorizontal ? (cnt * SHIFT) : 0));
-
-		if (!straight) {
-			if (startHorizontal && endHorizontal) {
-				if (startPoint.y != endPoint.y) {
-					x = startPoint.x + Math.round((endPoint.x - startPoint.x) / 2.0f) + cnt * ABS_SHIFT; 
-					Point p = new Point(x, startPoint.y);
-					res.add(p);
-					p = new Point(x, endPoint.y);
-					res.add(p);
-				}
-			} else if (!startHorizontal && !endHorizontal) {
-				if (startPoint.x != endPoint.x) {
-					y = startPoint.y + Math.round((endPoint.y - startPoint.y) / 2.0f) + cnt * ABS_SHIFT /** (int)Math.signum(yDelta)*/; 
-					Point p = new Point(startPoint.x, y);
-					res.add(p);
-					p = new Point(endPoint.x, y);
-					res.add(p);
-				}
-			} else if (startHorizontal) {
-				Point p = new Point(endPoint.x, startPoint.y);
-				res.add(p);
-			} else if (endHorizontal) {
-				Point p = new Point(startPoint.x, endPoint.y);
-				res.add(p);			
-			}
-		}
-
-		res.add(endPoint);				
-		return res;
-	}
-		
-	static public void rearrangeAllConnections(final ContainerShape cs, 
-											   final IJPAEditorFeatureProvider fp, 
-											   final boolean selfOnly) {
-		TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(cs);
-		ted.getCommandStack().execute(new RecordingCommand(ted) {
-			@Override
-			protected void doExecute() {
-				List<Anchor> anchorsFrom = getAnchors(cs);
-				for (Anchor anchorFrom : anchorsFrom) {
-					Collection<Connection> outgoingConnections = anchorFrom.getOutgoingConnections();
-					Collection<Connection> incomingConnections = anchorFrom.getIncomingConnections();
-					
-					Set<Set<Connection>> sets = new HashSet<Set<Connection>>();
-					Iterator<Connection> it = outgoingConnections.iterator();
-					while (it.hasNext()) 
-						addConnection(sets, it.next(), selfOnly);
-					it = incomingConnections.iterator();
-					while (it.hasNext()) 
-						addConnection(sets, it.next(), selfOnly);
-					
-					Iterator<Set<Connection>> setsIter = sets.iterator();
-					while (setsIter.hasNext()) {
-						Set<Connection> set = setsIter.next();
-						int cnt = 0;
-						int setSize = set.size();
-						Iterator<Connection> cIter = set.iterator();
-						while (cIter.hasNext()) {
-							Connection c = cIter.next();
-							IRelation rel = (IRelation)fp.getBusinessObjectForPictogramElement(c);
-							rearrangeConnection(c, cnt, setSize,  rel.getOwner() == rel.getInverse());
-							cnt++;
-						}
-					}
-				}
-			}			
-		});  
-	}
-	
-	static public boolean areConnectionsWithIdenticalEnds(Connection c1, Connection c2) {
-		return ((c1.getStart() == c2.getStart()) && (c1.getEnd() == c2.getEnd())) ||
-			   ((c1.getStart() == c2.getEnd()) && (c1.getEnd() == c2.getStart()));
-	}
-	
-	static public boolean connectionBelongsToSet(Connection c, Set<Connection> s) {
-		if (s.isEmpty())
-			return false;
-		Connection example = s.iterator().next();
-		return areConnectionsWithIdenticalEnds(c, example);
-	}
-	
-	static public int getNumberOfConnectionsWithSameEndsAs(Connection c) {
-		Anchor from = c.getStart();
-		Anchor to = c.getEnd();
-		Collection<Connection> cs1 = from.getOutgoingConnections();
-		Collection<Connection> cs2 = to.getOutgoingConnections();
-		int cnt = 0;
-		Iterator<Connection> it = cs1.iterator();
-		while (it.hasNext()) {
-			Connection con = it.next();
-			if (con.getEnd() == to)
-				cnt++;
-		}
-		if (from == to)
-			return cnt;
-		it = cs2.iterator();
-		while (it.hasNext()) {
-			Connection con = it.next();
-			if (con.getEnd() == from)
-				cnt++;
-			}
-		return cnt;
-	}
-	
-	static void addConnection(Set<Set<Connection>> sets, Connection c, boolean selfOnly) {
-		if (sets == null)
-			throw new NullPointerException("'sets' parameter should not be null");	//$NON-NLS-1$
-		if (selfOnly && (c.getStart() != c.getEnd()))
-			return;
-		Iterator<Set<Connection>> setsIter = sets.iterator();
-		while (setsIter.hasNext()) {
-			Set<Connection> set = setsIter.next();
-			if (connectionBelongsToSet(c, set)) {
-				sets.remove(set);
-				set.add(c);
-				sets.add(set);
-				return;
-		}
-	}
-		Set<Connection> newSet = new HashSet<Connection>();
-		newSet.add(c);
-		sets.add(newSet);
-	}
-	
-	static public void rearrangeConnection(Connection connection, int cnt, int connectionsNum, boolean selfRelation) {
-		FreeFormConnection c = (FreeFormConnection)connection;
-		rearrangeConnectionBendPoints(c, cnt, connectionsNum, selfRelation);
-		rearrangeConnectionDecoratorsLocation(c,  cnt, connectionsNum);										
-	}
-	
-	static public void rearrangeConnectionBendPoints(FreeFormConnection c, int cnt, int connectionsNum, boolean selfRelation) {
-		List<org.eclipse.graphiti.mm.algorithms.styles.Point> oldPts = c.getBendpoints();
-		List<org.eclipse.swt.graphics.Point> newPts = JPAEditorUtil.createBendPointList(c, cnt, connectionsNum,  selfRelation);
-		if (newPts == null)
-			return;
-			
-		for (int i = 0; i < Math.min(oldPts.size(), newPts.size()); i++) {
-			oldPts.set(i, Graphiti.getGaService().createPoint(/*c, */newPts.get(i).x, newPts.get(i).y));
-		}
-		int diff = oldPts.size() - newPts.size();
-		if (diff > 0) {
-			for (int i = oldPts.size() - 1; i >= newPts.size(); i--) 
-				oldPts.remove(i);
-		} else if (diff < 0) {
-			for (int i = oldPts.size(); i < newPts.size(); i++) 
-				oldPts.add(Graphiti.getGaService().createPoint(/*c, */newPts.get(i).x, newPts.get(i).y));
-		}
-	}
-	
-	static public void rearrangeConnectionDecoratorsLocation(FreeFormConnection c,  int cnt, int connectionsNum) {
-		Collection<ConnectionDecorator> dcrs = c.getConnectionDecorators();
-				int len = JPAEditorUtil.calcConnectionLength(c);
-				for (ConnectionDecorator dcr : dcrs) {
-					GraphicsAlgorithm ga = dcr.getGraphicsAlgorithm();
-					if (ga instanceof Text) {
-						if (Math.abs(dcr.getLocation() - 0.5) < 0.0001) 
-							continue;
-						Point pt = recalcTextDecoratorPosition(c, dcr);
-						Graphiti.getGaService().setLocation(ga, pt.x, pt.y, false);
-						continue;
-					}
-					if (dcr.getLocation() < 0.5) {
-						Graphiti.getGaService().setLocation(dcr.getGraphicsAlgorithm(), 
-								Math.round(len /10) , 0);
-					}
-					else {
-						Graphiti.getGaService().setLocation(dcr.getGraphicsAlgorithm(), 
-								Math.round(-len /10) , 0);
-					}
-				}
-	}
-	
-	
-	public static Point recalcTextDecoratorPosition(FreeFormConnection c, 
-											 ConnectionDecorator dcr) {
-		int CORR = 5;
-		int TXT_HEIGHT = 8;
-		double location = dcr.getLocation();
-		RelEndDir relEndDir = (location < 0.5) ? 
-				JPAEditorUtil.getConnectionStartDir(c) :
-					JPAEditorUtil.getConnectionEndDir(c);
-		Text txt = (Text)dcr.getGraphicsAlgorithm();
-		int TXT_WIDTH = txt.getValue().length() * 6;
-		boolean isCardinality = JPAEditorConstants.CARDINALITY_LABELS.contains(txt.getValue()); 
-		int x = 0;
-		int y = 0;
-		if (relEndDir.equals(RelEndDir.LEFT)) {
-			x = CORR + (isCardinality ? 2 : 12);
-			y = isCardinality ? (-CORR - 3 - TXT_HEIGHT) : CORR - 3;
-		} else if (relEndDir.equals(RelEndDir.RIGHT)) {
-			x = - TXT_WIDTH;
-			y = isCardinality ? (-CORR - 3 - TXT_HEIGHT) : CORR - 3;
-		} else if (relEndDir.equals(RelEndDir.UP)) {
-			x = isCardinality ? (-CORR - TXT_WIDTH) : CORR;
-			y = isCardinality ? CORR : CORR + TXT_HEIGHT + 2;
-		} else if (relEndDir.equals(RelEndDir.DOWN)) {
-			x = isCardinality ? (-CORR - TXT_WIDTH) : CORR;
-			y = -CORR - (isCardinality ? TXT_HEIGHT : (TXT_HEIGHT + 2) * 2);
-		}
-		return new Point(x, y);
-	}
-	
-	public static String formTableName(JavaPersistentType jpt) { 
-		IProject project = jpt.getJpaProject().getProject();
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-	    String tableNamePrefix = JPADiagramPropertyPage.getDefaultTablePrefixName(project, props);
-	    String shortEntityName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt)); 
-	    if (tableNamePrefix.length() == 0)
-	    	return shortEntityName;
-		return tableNamePrefix + shortEntityName.toUpperCase(Locale.ENGLISH);
-	}
-	
-	static private List<Anchor> getAnchors(ContainerShape containerShape) {
-		List<Anchor> ret = new ArrayList<Anchor>();
-		ret.addAll(containerShape.getAnchors());
-
-		List<Shape> children = containerShape.getChildren();
-		for (Shape shape : children) {
-			if (shape instanceof ContainerShape) {
-				ret.addAll(getAnchors((ContainerShape) shape));
-			} else {
-				ret.addAll(shape.getAnchors());
-			}
-		}
-		return ret;
-	}	
-	
-	static public RelEndDir getConnectionStartDir(FreeFormConnection c) {
-		EList<org.eclipse.graphiti.mm.algorithms.styles.Point> pts = c.getBendpoints();
-		return getConnectionEndDir(pts.get(0), pts.get(1));
-	}
-	
-	static public RelEndDir getConnectionEndDir(FreeFormConnection c) {
-		List<org.eclipse.graphiti.mm.algorithms.styles.Point> pts = c.getBendpoints();
-		return getConnectionEndDir(pts.get(pts.size() - 1), pts.get(pts.size() - 2));
-	}	
-	
-	static private RelEndDir getConnectionEndDir(org.eclipse.graphiti.mm.algorithms.styles.Point ptEnd,
-			org.eclipse.graphiti.mm.algorithms.styles.Point ptNextToEnd) {
-		if (ptEnd.getX() == ptNextToEnd.getX()) {
-			return (ptNextToEnd.getY() > ptEnd.getY()) ? RelEndDir.UP : RelEndDir.DOWN;
-		} else {
-			return (ptNextToEnd.getX() > ptEnd.getX()) ? RelEndDir.LEFT : RelEndDir.RIGHT;
-		}		
-	}
-	
-	static public void organizeImports(ICompilationUnit cu, IWorkbenchSite ws) {
-		OrganizeImportsAction action = new OrganizeImportsAction(ws);
-		action.run(cu);
-	}
-	
-	static public void formatCode(ICompilationUnit cu, IWorkbenchSite ws) {
-		FormatAllAction action = new FormatAllAction(ws);
-		action.run(new StructuredSelection(cu));
-	}
-	
-	static public String generateUniqueEntityName(JpaProject jpaProject, 
-												  String pack, 
-												  IJPAEditorFeatureProvider fp) {
-    	String NAME = pack + ".Entity"; //$NON-NLS-1$
-    	String name = null;
-    	
-    	HashSet<String> JPAProjectEntityNames = getEntityNames(jpaProject);
-       	HashSet<String> JPAProjectEntitySimpleNames = getEntitySimpleNames(jpaProject);
-       	
-    	for (int i = 1; i < 100000000; i++) {
-    		name = NAME + i;
-    		if ((!fp.hasObjectWithName(name)) &&
-    				!JPAProjectEntityNames.contains(name.toLowerCase(Locale.ENGLISH)) && 
-    				!JPAProjectEntitySimpleNames.contains(JPAEditorUtil.returnSimpleName(name).toLowerCase(Locale.ENGLISH)) &&
-    				!isJavaFileInProject(jpaProject.getProject(), name, pack)) 
-    			break;
-    	}
-    	return name;
-    }
-	
-	
-	static public String generateUniqueMappedSuperclassName(
-			JpaProject jpaProject, String pack, IJPAEditorFeatureProvider fp) {
-		String NAME = pack + ".MappedSuperclass"; //$NON-NLS-1$
-		String name = null;
-
-		HashSet<String> JPAProjectEntityNames = getEntityNames(jpaProject);
-		HashSet<String> JPAProjectEntitySimpleNames = getEntitySimpleNames(jpaProject);
-
-		for (int i = 1; i < 100000000; i++) {
-			name = NAME + i;
-			if ((!fp.hasObjectWithName(name)) && !JPAProjectEntityNames.contains(name
-					.toLowerCase(Locale.ENGLISH)) && !JPAProjectEntitySimpleNames.contains(JPAEditorUtil
-					.returnSimpleName(name).toLowerCase(Locale.ENGLISH))
-					&& !isJavaFileInProject(jpaProject.getProject(), name, pack))
-				break;
-		}
-		return name;
-	}
-				
-
-	
-	static public IFile createEntityInProject(IProject project,
-			String entityName, IPreferenceStore jpaPreferenceStore,
-			boolean isMappedSuperclassChild, String mappedSuperclassName,
-			String mappedSuperclassPackage, boolean hasPrimaryKey)
-			throws Exception {
-		IFolder folder = getPackageFolder(project);
-		return createEntity(project, folder, entityName,
-				isMappedSuperclassChild, mappedSuperclassName,
-				mappedSuperclassPackage, hasPrimaryKey);
-	}
-
-				
-	static public IFile createEntityFromMappedSuperclassInProject(
-			IProject project, String mappedSuperclassName,
-			IPreferenceStore jpaPreferenceStore) throws Exception {
-		IFolder folder = getPackageFolder(project);
-		createMappedSuperclass(project, folder, mappedSuperclassName);
-		return createMappedSuperclass(project, folder, mappedSuperclassName);
-	}
-
-	@SuppressWarnings("deprecation")
-		private static IFolder getPackageFolder(IProject project) throws JavaModelException {
-	
-		IJavaProject javaProject = JavaCore.create(project);		
-		IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
-		final IClasspathEntry[] classpathEntries =  javaProject.getRawClasspath();		
-		for (IClasspathEntry classpathEntry : classpathEntries) {
-			if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-				packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
-				break;
-			}  			
-		}
-
-		IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project, props));
-		if(packageFragment.exists() == false) {
-			packageFragment = packageFragmentRoot.createPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project, props), true, new NullProgressMonitor());
-		}
-		IFolder folder = (IFolder) packageFragment.getCorrespondingResource();
-		return folder;
-
-	}
-	
-	static private IFile createMappedSuperclass(IProject project,
-			IFolder folder, String mappedSuperclassName) throws Exception {
-
-		String mappedSuperclassShortName = mappedSuperclassName
-				.substring(mappedSuperclassName.lastIndexOf('.') + 1);
-		if (!folder.exists()) {
-			folder.create(true, true, new NullProgressMonitor());
-		}
-		IFile file = folder.getFile(mappedSuperclassShortName + ".java"); //$NON-NLS-1$
-
-		if (!file.exists()) {
-			String content = "package " + JPADiagramPropertyPage.getDefaultPackage(project) + ";\n\n" //$NON-NLS-1$	//$NON-NLS-2$
-					+ "import javax.persistence.*;\n\n" //$NON-NLS-1$
-					+ "@MappedSuperclass \n" //$NON-NLS-1$
-					+ "public class " + mappedSuperclassShortName + " {\n\n" //$NON-NLS-1$ //$NON-NLS-2$
-					+ "}"; //$NON-NLS-1$
-			ByteArrayOutputStream stream = new ByteArrayOutputStream();
-			try {
-				stream.write(content.getBytes());
-				stream.flush();
-				file.create(new ByteArrayInputStream(stream.toByteArray()),
-						true, new NullProgressMonitor());
-			} finally {
-				stream.close();
-			}
-		}
-		return file;
-	}
-
-
-	@SuppressWarnings("deprecation")
-	static public boolean isJavaFileInProject(IProject project, 
-											  String entityName,
-											  String defaultEntityPacakage) {
-		IJavaProject javaProject = JavaCore.create(project);		
-		IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
-		IClasspathEntry[] classpathEntries = null;
-		try {
-			classpathEntries = javaProject.getRawClasspath();
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError("Cannot obtain the classpath", e); //$NON-NLS-1$	
-			return false;
-		}		
-		for (IClasspathEntry classpathEntry : classpathEntries) {
-			if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-				packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
-				break;
-			}  			
-		}
-
-		IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
-		IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project));
-		if(!packageFragment.exists()) 
-			return false;
-		IFolder folder = null;
-		try {
-			folder = (IFolder) packageFragment.getCorrespondingResource();
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError("Cannot obtain the folder", e); //$NON-NLS-1$	
-			return false;
-		}	
-		if (!folder.exists()) 
-			return false;
-		String entityShortName = entityName.substring(entityName
-				.lastIndexOf('.') + 1);
-		IFile file = folder.getFile(entityShortName + ".java"); //$NON-NLS-1$
-		return file.exists();
-	}
-
-	
-	static public String produceUniqueAttributeName(JavaPersistentType jpt, 
-													String attributeNameCandidate) {
-		String name = attributeNameCandidate;
-		for (int i = 1; i < 100000000; i++) {
-			if (jpt.getAttributeNamed(name) == null)
-				return name;
-			name = attributeNameCandidate + "_" + i; //$NON-NLS-1$
-		}
-		return name;
-	}
-	
-	static public String produceUniqueAttributeName(JavaPersistentType jpt, String forbiddenName, String attributeNameCandidate) {
-		String name = attributeNameCandidate;
-		for (int i = 1; i < 100000000; i++) {
-			if ((jpt.getAttributeNamed(name) == null) && !name.equals(forbiddenName))
-				return name;
-			name = attributeNameCandidate + "_" + i; //$NON-NLS-1$
-		}
-		return name;
-	}
-	
-
-	public static boolean isEntityOpenElsewhere(JavaPersistentType jpt, boolean checkDirty) {
-		IEditorReference[] edRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
-		for (int i = 0; i < edRefs.length; i++) {
-			IEditorPart ed = edRefs[i].getEditor(false);
-			if (ed == null)
-				continue;
-			if (checkDirty && !ed.isDirty())
-				continue;
-			IEditorInput edInp = ed.getEditorInput();
-			if (FileEditorInput.class.isInstance(edInp)) {
-				FileEditorInput fedInput = (FileEditorInput)edInp; 
-				if (fedInput.getFile().equals(jpt.getResource())) {
-					return true;
-				}
-			}
-		}
-		return false;		
-	}
-		
-	public static ICompilationUnit getCompilationUnit(JavaPersistentType jpt) {
-		return getCompilationUnit((IFile) jpt.getResource());
-	}		
-	
-	public static ICompilationUnit getCompilationUnit(IFile file) {
-		return EclipseFacade.INSTANCE.getJavaCore().createCompilationUnitFrom(file);
-	}
-	
-	public static void becomeWorkingCopy(ICompilationUnit cu) {
-		try {
-			cu.becomeWorkingCopy(new NullProgressMonitor());
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError("Can't discard the working copy", e); //$NON-NLS-1$		
-		}
-	}	
-	
-	public static void discardWorkingCopy(ICompilationUnit cu) {
-		while (cu.isWorkingCopy())
-			try {
-				cu.discardWorkingCopy();
-			} catch (JavaModelException e) {
-				JPADiagramEditorPlugin.logError("Can't discard the working copy", e); //$NON-NLS-1$		
-			}
-	}
-	
-	public static void discardWorkingCopyOnce(ICompilationUnit cu) {
-		if (cu.isWorkingCopy())
-			try {
-				cu.discardWorkingCopy();
-			} catch (JavaModelException e) {
-				JPADiagramEditorPlugin.logError("Can't discard the working copy", e); //$NON-NLS-1$		
-			}
-	}
-		
-	static private IFile createEntity(IProject project, IFolder folder, String entityName, boolean isMappedSuperclassChild, 
-			String mappedSuperclassName, String mappedSuperclassPackage, boolean hasPrimaryKey) throws Exception {
-
-
-		
-		String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);		
-		if (!folder.exists()) {
-			folder.create(true, true, new NullProgressMonitor());				
-		}
-		IFile file = folder.getFile(entityShortName + ".java");		 //$NON-NLS-1$
-		Properties props = JPADiagramPropertyPage.loadProperties(project);
-		String tableNamePrefix = JPADiagramPropertyPage.getDefaultTablePrefixName(project, props);
-		String tableName = (tableNamePrefix.length() > 0) ? (tableNamePrefix + entityShortName.toUpperCase(Locale.ENGLISH)) : "";	//$NON-NLS-1$
-		boolean fieldBasedAccess = JPADiagramPropertyPage.isAccessFieldBased(project, props);
-		
-		String classDeclarationStringContent = null;
-		if (isMappedSuperclassChild) {
-			String mappedSuperclassShortName = mappedSuperclassName.substring(mappedSuperclassName.lastIndexOf('.') + 1);
-			classDeclarationStringContent = "public class " + entityShortName + " extends " + mappedSuperclassShortName + " {\n\n"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		} else {
-			classDeclarationStringContent = "public class " + entityShortName + " {\n\n"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		}
-
-		String packageImport = ""; //$NON-NLS-1$
-		if (mappedSuperclassPackage != null
-				&& !mappedSuperclassPackage.equals("") && !(JPADiagramPropertyPage.getDefaultPackage(project, props).equals(mappedSuperclassPackage))) { //$NON-NLS-1$
-			packageImport = "import " + mappedSuperclassPackage + ".*;"; //$NON-NLS-1$	//$NON-NLS-2$
-		}
-
-		String primaryKeyDeclaration = ""; //$NON-NLS-1$
-		if (!hasPrimaryKey) {
-			primaryKeyDeclaration = (fieldBasedAccess ? "  @Id \n" : "") //$NON-NLS-1$ //$NON-NLS-2$
-					+ "  private long id;\n\n" //$NON-NLS-1$
-					+ (fieldBasedAccess ? "" : "  @Id \n") //$NON-NLS-1$ //$NON-NLS-2$
-					+ "  public long getId() {\n" //$NON-NLS-1$
-					+ "    return id;\n" //$NON-NLS-1$
-					+ "  }\n\n" //$NON-NLS-1$
-					+ "  public void setId(long id) {\n" //$NON-NLS-1$
-					+ "    this.id = id;\n" //$NON-NLS-1$
-					+ "  }\n\n"; //$NON-NLS-1$
-		}
-
-		
-		if (!file.exists()) {
-			  String content = "package " + JPADiagramPropertyPage.getDefaultPackage(project, props) + ";\n\n" //$NON-NLS-1$	//$NON-NLS-2$
-					+ "import javax.persistence.*;\n"  //$NON-NLS-1$
-					+ packageImport+"\n\n" //$NON-NLS-1$
-					+ "@Entity \n" //$NON-NLS-1$
-					+ ((tableName.length() > 0) ? ("@Table(name=\"" + tableName + "\")\n") : "")  //$NON-NLS-1$	//$NON-NLS-2$	//$NON-NLS-3$
-					+ classDeclarationStringContent
-					+ primaryKeyDeclaration
-					+"}"; //$NON-NLS-1$
-			ByteArrayOutputStream stream = new ByteArrayOutputStream();
-			try {
-				stream.write(content.getBytes());
-				stream.flush();
-				file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
-			} finally {
-				stream.close();
-			}	
-		}
-		return file;
-	}		
-	
-	static private HashSet<String> getEntityNames(JpaProject jpaProject) {
-		HashSet<String> names = new HashSet<String>();
-		ListIterator<PersistenceUnit> lit = jpaProject.getRootContextNode().getPersistenceXml().
-												getPersistence().getPersistenceUnits().iterator();
-		PersistenceUnit pu = lit.next();
-		for (ClassRef cf : pu.getClassRefs()) {
-			names.add(cf.getClassName());
-		}
-		return names;
-	}
-	
-	static private HashSet<String> getEntitySimpleNames(JpaProject jpaProject) {
-		HashSet<String> names = new HashSet<String>();
-		ListIterator<PersistenceUnit> lit = jpaProject.getRootContextNode().getPersistenceXml().
-												getPersistence().getPersistenceUnits().iterator();
-		PersistenceUnit pu = lit.next();			
-		for (ClassRef cf : pu.getClassRefs()) {
-			names.add(JPAEditorUtil.returnSimpleName(cf.getClassName()).toLowerCase(Locale.ENGLISH));
-		}
-		return names;
-	}		
-	
-	public static boolean isCardinalityDecorator(ConnectionDecorator cd) {
-		GraphicsAlgorithm ga = cd.getGraphicsAlgorithm();
-		if (!Text.class.isInstance(ga))
-			return false;
-		Text txt = (Text)ga;
-		return JPAEditorConstants.CARDINALITY_LABELS.contains(txt.getValue());
-	}
-	
-	
-    public static String getTooltipText(JavaPersistentAttribute at) {
-    	String res = getAttributeTypeName(at);
-    	return MessageFormat.format(JPAEditorMessages.JPAEditorUtil_typeTooltipText, new Object[] { res }); 
-    }
-    
-	static public boolean checkJPAFacetVersion(JpaProject jpaProject, String version) {
-		return checkJPAFacetVersion(jpaProject.getProject(), version);
-	}	
-	
-	
-	static public boolean checkJPAFacetVersion(IProject project, String version) {
-		IFacetedProject fproj = null;
-		try {
-			fproj = ProjectFacetsManager.create(project);
-		} catch (CoreException e) {
-			JPADiagramEditorPlugin.logError("Could not create faceted project from " + project.getName(), e); //$NON-NLS-1$		
-		}
-		Set<IProjectFacetVersion> projFacets = fproj.getProjectFacets();
-		Iterator<IProjectFacetVersion> it = projFacets.iterator();
-		while (it.hasNext()) {
-			IProjectFacetVersion fv = it.next();
-			if (fv.getProjectFacet().getId().equals("jpt.jpa")) {	//$NON-NLS-1$
-				return fv.getVersionString().equals(version);	
-			}
-		}
-		return false;
-	}
-	
-	static public String getPrimitiveWrapper(String primitive) {
-		return JPAEditorConstants.PRIMITIVE_TO_WRAPPER.get(primitive);
-	}
-	
-	static private File getFile(IPath classPathEntry) {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IFile f = root.getFile(classPathEntry);
-		if ((f != null) && f.exists()) {
-			URI uri = f.getLocationURI();
-			if (uri == null) 
-				return new File(classPathEntry.toOSString());
-			File file = new File(uri);
-			return file;
-		} else {
-			return new File(classPathEntry.toOSString()); 	
-		}
-
-	}
-	
-	static public boolean isPersistenceProviderLibraryInClasspath(IPath classPathEntry) {
-		try {
-			File f = getFile(classPathEntry);
-			if ((f == null) || !f.exists()) 
-				return false;
-			JarFile jar = new JarFile(f);
-			Enumeration<JarEntry> entries = jar.entries();
-
-			while (entries.hasMoreElements()) {
-				JarEntry entry = entries.nextElement();
-				if (entry.getName().equals(PERSISTENCE_PROVIDER_LIBRARY_STRING)) {
-					return true;
-				}
-			}
-
-		} catch (IOException e) {
-			JPADiagramEditorPlugin.logError(e); 	     					
-		}
-		return false;
-	}
-		
-	static public boolean checkIsSetPersistenceProviderLibrary(JpaProject jpaProject) {
-		IJavaProject javaProject = JavaCore.create(jpaProject.getProject());
-		IJavaElement[] elements = new IJavaElement[] { javaProject };
-		JavaSearchScope scope = (JavaSearchScope) SearchEngine.createJavaSearchScope(elements);
-		boolean isAdded = false;
-
-		IPath[] paths = scope.enclosingProjectsAndJars();
-		for (int i = 1; i < paths.length; i++) {
-			IPath path = paths[i];
-			if (isPersistenceProviderLibraryInClasspath(path)) {
-				isAdded = true;
-				break;
-			}
-		}
-		return isAdded;
-	}
-	
-	public static String cutOffStringPrefix(String s, String prefix) {
-		if (s.startsWith(prefix)) 
-			return s.substring(prefix.length());
-		return s;
-	}
-	
-	public static String cutOffHeaderDirtyPrefix(String header) {
-		return cutOffStringPrefix(header, JPAEditorConstants.HEADER_PREFIX_DIRTY);
-	}	
-	
-	public static boolean areHeadersEqual(String h1, String h2) {
-		h1 = cutOffHeaderDirtyPrefix(h1);
-		h2 = cutOffHeaderDirtyPrefix(h2);
-		return h1.equals(h2);
-	}
-	
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtilImpl.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtilImpl.java
deleted file mode 100644
index 861ad0d..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtilImpl.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator.RelEndDir;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public class JPAEditorUtilImpl implements IJPAEditorUtil {
-
-	public int calcConnectionLength(FreeFormConnection c) {
-		return JPAEditorUtil.calcConnectionLength(c);
-	}
-
-	public List<Point> createBendPointList(FreeFormConnection c,  int cnt, int connectionsNum,  boolean selfRelation) {
-		return JPAEditorUtil.createBendPointList(c,  cnt, connectionsNum, selfRelation);
-	}
-	
-	public List<Point> createBendPointList(FreeFormConnection c,  boolean selfRelation) {
-		return JPAEditorUtil.createBendPointList(c,  selfRelation);
-	}
-	
-	public RelEndDir getConnectionStartDir(FreeFormConnection c) {
-		return JPAEditorUtil.getConnectionStartDir(c);
-		
-	}
-	
-	public RelEndDir getConnectionEndDir(FreeFormConnection c) {
-		return JPAEditorUtil.getConnectionEndDir(c);
-	}
-	
-	public JavaPersistentType getJPType(ICompilationUnit cu) {
-		return JPAEditorUtil.getJPType(cu);
-	}
-	
-	public void organizeImports(ICompilationUnit cu, IWorkbenchSite ws) {
-		JPAEditorUtil.organizeImports(cu, ws);
-	}
-	
-	public void formatCode(ICompilationUnit cu, IWorkbenchSite ws) {
-		JPAEditorUtil.formatCode(cu, ws);
-	}
-	
-	public String generateUniqueEntityName(JpaProject jpaProject, 
-			  String pack, 
-			  IJPAEditorFeatureProvider fp) {
-		return JPAEditorUtil.generateUniqueEntityName(jpaProject, pack, fp);
-	}
-	
-	public String generateUniqueMappedSuperclassName(JpaProject jpaProject, String pack, IJPAEditorFeatureProvider fp) {
-		return JPAEditorUtil.generateUniqueMappedSuperclassName(jpaProject, pack, fp);
-	}
-
-	
-	public IFile createEntityInProject(IProject project, String entityName, IPreferenceStore jpaPreferenceStore,
-			boolean isMappedSuperclassChild, String mappedSuperclassName, String mappedSuperclassPackage, boolean hasPrimaryKey) throws Exception {
-		return JPAEditorUtil.createEntityInProject(project, entityName, jpaPreferenceStore, isMappedSuperclassChild, 
-				mappedSuperclassName, mappedSuperclassPackage, hasPrimaryKey);
- 	}
-
-	
-	public ICompilationUnit getCompilationUnit(JavaPersistentType jpt) {
-		return JPAEditorUtil.getCompilationUnit(jpt);
-	}
-	
-	public boolean isCardinalityDecorator(ConnectionDecorator dc) {
-		return JPAEditorUtil.isCardinalityDecorator(dc);
-	}
-
-	public void discardWorkingCopyOnce(ICompilationUnit cu) {
-		JPAEditorUtil.discardWorkingCopyOnce(cu);
-	}
-	
-	public IFile createEntityFromMappedSuperclassInProject(IProject project,
-			String mappedSuperclassName, IPreferenceStore jpaPreferenceStore) throws Exception {
-		return JPAEditorUtil.createEntityFromMappedSuperclassInProject(project, mappedSuperclassName, jpaPreferenceStore);
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPASolver.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPASolver.java
deleted file mode 100644
index bb5afb2..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPASolver.java
+++ /dev/null
@@ -1,1473 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.WeakHashMap;
-import org.eclipse.core.internal.resources.File;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarkerDelta;
-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.runtime.CoreException;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IRemoveFeature;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.core.PackageFragmentRoot;
-import org.eclipse.jpt.common.core.JptResourceModel;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.common.utility.model.Model;
-import org.eclipse.jpt.common.utility.model.event.CollectionAddEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionClearEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionRemoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListAddEvent;
-import org.eclipse.jpt.common.utility.model.event.ListChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.ListClearEvent;
-import org.eclipse.jpt.common.utility.model.event.ListMoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListRemoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListReplaceEvent;
-import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.StateChangeEvent;
-import org.eclipse.jpt.common.utility.model.listener.CollectionChangeListener;
-import org.eclipse.jpt.common.utility.model.listener.ListChangeListener;
-import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
-import org.eclipse.jpt.common.utility.model.listener.StateChangeListener;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaNode;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.MappedByRelationshipStrategy;
-import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.OptionalMapping;
-import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyRelationship;
-import org.eclipse.jpt.jpa.core.context.Relationship;
-import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
-import org.eclipse.jpt.jpa.core.context.RelationshipStrategy;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
-import org.eclipse.jpt.jpa.core.context.java.JavaManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.UpdateAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-
-@SuppressWarnings("restriction")
-public class JPASolver implements IResourceChangeListener, IJpaSolver {
-
-	private static Set<JPASolver> solversSet = new HashSet<JPASolver>();
-
-	private static WorkingCopyChangeListener wclsnr = null;
-
-	private Hashtable<String, Object> keyToBO;
-	private WeakHashMap<JpaProject, WeakReference<CollectionChangeListener>> projectToEntityListener;
-	private WeakHashMap<JavaPersistentType, WeakReference<PropertyChangeListener>> entityToPropListener;
-	private WeakHashMap<JavaPersistentAttribute, WeakReference<AttributePropertyChangeListener>> attributeToPropListener;
-	private WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeMappingOptionalityChangeListener>> attributeMappingOptionalityToPropListener;		
-	private WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeJoiningStrategyPropertyChangeListener>> attributeJoiningStrategyToPropListener;	
-	private WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeRelationshipReferencePropertyChangeListener>> attributeRelationshipReferenceToPropListener;
-	private WeakHashMap<JavaPersistentType, WeakReference<ListChangeListener>> entityToAtListener;
-	private WeakHashMap<JavaPersistentType, WeakReference<StateChangeListener>> entityToStateListener;
-	private EntityChangeListener entityNameListener;
-	private IJPAEditorFeatureProvider featureProvider;
-	private HashSet<String> removeIgnore = new HashSet<String>();
-	private HashSet<String> removeRelIgnore = new HashSet<String>();
-
-	private HashSet<String> addIgnore = new HashSet<String>();
-	private Hashtable<String, IRelation> attribToRel = new Hashtable<String, IRelation>();
-	private static final String SEPARATOR = "-"; //$NON-NLS-1$
-
-	private IEclipseFacade eclipseFacade;
-	private IJPAEditorUtil util = null;
-
-	/**
-	 * Provides the unique key for the given business object.
-	 * 
-	 * @param bo
-	 *            the given business object
-	 * 
-	 * @return unique key
-	 */
-	public JPASolver() {
-		this(EclipseFacade.INSTANCE, new JPAEditorUtilImpl());
-		synchronized (JPASolver.class) {
-			if (wclsnr == null) {
-				wclsnr = new WorkingCopyChangeListener();
-				JavaCore.addElementChangedListener(wclsnr, ElementChangedEvent.POST_CHANGE | ElementChangedEvent.POST_RECONCILE);
-			}
-		}
-		solversSet.add(this);
-	}
-	
-	public JPASolver(IEclipseFacade eclipseFacade, IJPAEditorUtil util) {
-		this.eclipseFacade = eclipseFacade;
-		eclipseFacade.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.POST_BUILD);
-		keyToBO = new Hashtable<String, Object>();
-		projectToEntityListener = new WeakHashMap<JpaProject, WeakReference<CollectionChangeListener>>();
-		entityToPropListener = new WeakHashMap<JavaPersistentType, WeakReference<PropertyChangeListener>>();
-		attributeToPropListener = new WeakHashMap<JavaPersistentAttribute, WeakReference<AttributePropertyChangeListener>>();
-		attributeMappingOptionalityToPropListener = new WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeMappingOptionalityChangeListener>>();
-		attributeJoiningStrategyToPropListener = new WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeJoiningStrategyPropertyChangeListener>>();
-		attributeRelationshipReferenceToPropListener = new WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeRelationshipReferencePropertyChangeListener>>(); 
-		entityToAtListener = new WeakHashMap<JavaPersistentType, WeakReference<ListChangeListener>>();
-		entityToStateListener = new WeakHashMap<JavaPersistentType, WeakReference<StateChangeListener>>();
-		entityNameListener = new EntityChangeListener(this);
-		entityNameListener.setName("Entity Name Change Listener"); //$NON-NLS-1$
-		this.util = util;
-	}
-
-	public void resourceChanged(IResourceChangeEvent event) {
-
-		closeDiagramEditorIfProjectIsDeleted(event);
-		
-		unregisterDeltedEntity(event);
-		
-		IMarkerDelta[] markerDeltas = event.findMarkerDeltas(null, true);
-		Set<IFile> filesToUpdate = new HashSet<IFile>();
-		for (IMarkerDelta delta : markerDeltas) {
-			if (delta.getResource().getType() != IResource.FILE)
-				continue;
-			filesToUpdate.add((IFile) delta.getResource());
-		}
-		
-		// update is made to the whole editor. Find if there is at least on pe
-		// to be update and break the iteration
-		boolean updateEditor = false;
-		FILE: for (IFile file : filesToUpdate) {
-			for (JavaPersistentType jpt : entityToPropListener.keySet()) {
-				if (jpt.getResource().equals(file)) {
-					final PictogramElement element = featureProvider.getPictogramElementForBusinessObject(jpt);
-					if (element == null)
-						break;
-					else {
-						updateEditor = true;
-						break FILE;
-					}
-				}
-			}
-		}
-		if (updateEditor) {
-			eclipseFacade.getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					if(featureProvider != null)
-						featureProvider.getDiagramTypeProvider().getDiagramEditor().refresh();
-				}
-			});
-
-		}
-	}
-
-	public void addRemoveIgnore(String atName) {
-		removeIgnore.add(atName);
-	}
-
-	public void addRemoveRelIgnore(String atName) {
-		removeRelIgnore.add(atName);
-	}
-		
-	public void addJPTForUpdate(String jptName) {
-		entityNameListener.addJPTForUpdate(jptName);
-	}
-
-	public void addAddIgnore(String atName) {
-		addIgnore.add(atName);
-	}
-	
-	public HashSet<String> getAddIgnore(){ 
- 		return addIgnore; 
- 	} 
-
-	
-	public void stopThread() {
-		entityNameListener.stopThread();
-		entityNameListener = null;
-	}
-
-	synchronized public EntityChangeListener getMonitor() {
-		if (entityNameListener == null) {
-			entityNameListener = new EntityChangeListener(this);
-			entityNameListener.setName("Entity Name Change Listener"); //$NON-NLS-1$			
-		}
-		return entityNameListener;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jpt.jpadiagrameditor.ui.util.IJpaSolver#setFeatureProvider(org.eclipse.jpt.jpadiagrameditor.ui.provider.IJPAEditorFeatureProvider)
-	 */
-	public void setFeatureProvider(IJPAEditorFeatureProvider featureProvider) {
-		this.featureProvider = featureProvider;
-		entityNameListener.setFeatureProvider(featureProvider);
-		entityNameListener.setDaemon(true);
-		entityNameListener.start();
-	}
-
-	public String getKeyForBusinessObject(Object bo) {
-		if (bo == null)
-			return ""; //$NON-NLS-1$
-		if (bo instanceof JavaPersistentType) {
-			JavaPersistentType jpt = (JavaPersistentType) bo;
-			String name = jpt.getName();
-			return name;
-		} else if (bo instanceof AbstractRelation) {
-			return ((AbstractRelation) bo).getId();
-		} else if (bo instanceof JavaPersistentAttribute) {
-			JavaPersistentAttribute at = (JavaPersistentAttribute) bo;
-			return (((PersistentType)at.getParent()).getName() + "-" + at.getName()); //$NON-NLS-1$
-		}
-		return bo.toString();
-	}
-
-	/**
-	 * Provides the business object for the given key.
-	 * 
-	 * @param key
-	 *            the unique key
-	 * 
-	 * @return the business object
-	 */
-	public Object getBusinessObjectForKey(String key) {
-		if (key == null)
-			return null;
-		return keyToBO.get(key);
-	}
-
-	protected String produceOwnerKeyForRel(AbstractRelation rel) {
-		return produceKeyForRel(rel.getOwner(), rel.getOwnerAttributeName());
-	}
-
-	protected String produceInverseKeyForRel(AbstractRelation rel) {
-		return produceKeyForRel(rel.getInverse(), rel.getInverseAttributeName());
-	}
-
-	public String produceKeyForRel(JavaPersistentType jpt, String attributeName) {
-		return jpt.getName() + SEPARATOR + attributeName;
-	}
-
-	public void addKeyBusinessObject(String key, Object bo) {
-		keyToBO.put(key, bo);
-		if (bo instanceof JavaPersistentType) {
-			JavaPersistentType jpt = (JavaPersistentType) bo;
-			JpaProject proj = jpt.getJpaProject();
-			addListenersToProject(proj);
-			addListenersToEntity(jpt);
-			PictogramElement pe = featureProvider.getPictogramElementForBusinessObject(jpt);
-			Graphiti.getPeService().setPropertyValue(pe, JPAEditorConstants.PROP_ENTITY_CLASS_NAME, jpt.getName());
-		} else if (bo instanceof AbstractRelation) {
-			AbstractRelation rel = (AbstractRelation) bo;
-			attribToRel.put(produceOwnerKeyForRel(rel), rel);
-			if (rel instanceof BidirectionalRelation) {
-				attribToRel.put(produceInverseKeyForRel(rel), rel);
-			}
-		} else if (bo instanceof JavaPersistentAttribute) {
-			addPropertiesListenerToAttribute((JavaPersistentAttribute)bo);
-		}
-	}
-
-	public Object remove(String key) {
-		if (key == null)
-			return null;
-		Object o = keyToBO.remove(key);
-		if (o instanceof JavaPersistentType) {
-			JavaPersistentType jpt = (JavaPersistentType) o;
-			for (JavaPersistentAttribute at : jpt.getAttributes()) {
-				String k = getKeyForBusinessObject(at);
-				remove(k);
-			}
-			
-			removeListenersFromEntity(jpt);
-			Diagram d = featureProvider.getDiagramTypeProvider().getDiagram();
-			if (d.getChildren().size() == 1) {
-				WeakReference<CollectionChangeListener> ref = projectToEntityListener.remove(jpt.getJpaProject());
-				if (ref != null) {
-					CollectionChangeListener ch = ref.get();
-					if (ch != null) 
-						jpt.getJpaProject().removeCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, ch);
-				}
-			}
-			
-			ICompilationUnit cu = getCompilationUnit(jpt);
-			JPAEditorUtil.discardWorkingCopyOnce(cu);
-		} else if (o instanceof AbstractRelation) {
-			AbstractRelation rel = (AbstractRelation) o;
-			attribToRel.remove(produceOwnerKeyForRel(rel));
-			if (rel instanceof BidirectionalRelation) 
-				attribToRel.remove(produceInverseKeyForRel(rel));
-		} else if (o instanceof JavaPersistentAttribute) {
-			removeListenersFromAttribute((JavaPersistentAttribute)o);
-		}
-		return o;
-	}
-
-	public ICompilationUnit getCompilationUnit(JavaPersistentType jpt) {
-		return util.getCompilationUnit(jpt);
-	}
-
-	public boolean isRelationRelatedToAttribute(JavaPersistentAttribute jpa) {
-		String key = produceKeyForRel((JavaPersistentType)jpa.getParent(), jpa.getName());
-		return attribToRel.containsKey(key);
-	}
-
-	public IRelation getRelationRelatedToAttribute(JavaPersistentAttribute jpa) {
-		String key = produceKeyForRel((JavaPersistentType)jpa.getParent(), jpa.getName());
-		return attribToRel.get(key);
-	}
-
-	public Set<IRelation> getRelationsRelatedToEntity(JavaPersistentType jpt) {
-		HashSet<IRelation> res = new HashSet<IRelation>();
-		for (JavaPersistentAttribute at : jpt.getAttributes()) {
-			IRelation rel = getRelationRelatedToAttribute(at);
-			if (rel != null)
-				res.add(rel);
-		}
-		return res;
-	}
-
-	
-	public boolean existsRelation(JavaPersistentType jpt1, JavaPersistentType jpt2) {
-		Set<IRelation> rels = getRelationsRelatedToEntity(jpt1);
-		if (existsRelation(jpt1, jpt2, rels))
-			return true;		
-		rels = getRelationsRelatedToEntity(jpt2);
-		return existsRelation(jpt1, jpt2, rels);
-	}
-	
-	public boolean existsRelation(JavaPersistentType jpt1, 
-									  JavaPersistentType jpt2,
-									  Set<IRelation> rels) {
-		Iterator<IRelation> it = rels.iterator();
-		while (it.hasNext()) {
-			IRelation rel = it.next();
-			if ((jpt1.equals(rel.getOwner()) && jpt2.equals(rel.getInverse())) ||
-				((jpt2.equals(rel.getOwner()) && jpt1.equals(rel.getInverse()))))
-					return true;
-		}
-		return false;
-	}
-
-	public Collection<Object> getVisualizedObjects() {
-		return keyToBO.values();
-	}	
-	
-	public void renewAttributeMappingPropListener(JavaPersistentAttribute jpa) {
-		renewAttributeJoiningStrategyPropertyListener(jpa);
-		renewAttributeMappingOptPropListener(jpa);
-	}
-	
-	public void renewAttributeJoiningStrategyPropertyListener(JavaPersistentAttribute jpa) {
-		AttributeJoiningStrategyPropertyChangeListener lsn = null;
-		if (attributeJoiningStrategyToPropListener == null) 
-			return;
-		WeakReference<AttributeJoiningStrategyPropertyChangeListener> ref = attributeJoiningStrategyToPropListener.remove(jpa);
-		if (ref != null)
-			lsn = ref.get();
-		
-		JavaAttributeMapping jam = jpa.getMapping();
-		if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
-			return;
-		Relationship rr = ((RelationshipMapping) jam).getRelationship();
-		if (rr == null)
-			return;			
-		RelationshipStrategy js = rr.getStrategy();
-		if ((js == null) || !MappedByRelationshipStrategy.class.isInstance(js))
-			return;
-		try {
-			if (lsn != null) 
-				js.removePropertyChangeListener(MappedByRelationshipStrategy.MAPPED_BY_ATTRIBUTE_PROPERTY, lsn);
-		} catch (Exception e) {
-			//$NON-NLS-1$
-		}
-		lsn = new AttributeJoiningStrategyPropertyChangeListener();
-		js.addPropertyChangeListener(MappedByRelationshipStrategy.MAPPED_BY_ATTRIBUTE_PROPERTY, lsn);
-		ref = new WeakReference<AttributeJoiningStrategyPropertyChangeListener>(lsn);
-		attributeJoiningStrategyToPropListener.put(jpa, ref);
-		
-	}
-	
-	public void renewAttributeMappingOptPropListener(JavaPersistentAttribute jpa) {
-		AttributeMappingOptionalityChangeListener lsn = null;
-		WeakReference<AttributeMappingOptionalityChangeListener> ref = attributeMappingOptionalityToPropListener.remove(jpa);
-		if (ref != null)
-			lsn = ref.get();	
-		JavaAttributeMapping jam = jpa.getMapping();
-		if (jam == null)
-			return;
-		if (!ManyToOneMapping.class.isInstance(jam) && !OneToOneMapping.class.isInstance(jam))
-			return;
-		
-		try {
-		if (lsn != null) 
-			jam.removePropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsn);
-		} catch (Exception e) {
-			//$NON-NLS-1$
-		}
-		lsn = new AttributeMappingOptionalityChangeListener();
-		jam.addPropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsn);
-		ref = new WeakReference<AttributeMappingOptionalityChangeListener>(lsn);
-		attributeMappingOptionalityToPropListener.put(jpa, ref);
-	}
-	
-
-	private void addListenersToProject(JpaProject proj) {
-		addEntitiesListenerToProject(proj);
-	}
-
-	private void addEntitiesListenerToProject(JpaProject proj) {
-		WeakReference<CollectionChangeListener> lsnrRef = projectToEntityListener.get(proj);
-		CollectionChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr == null) {
-			/*
-			if (!proj.getUpdater().getClass().isInstance(SynchronousJpaProjectUpdater.class))
-				proj.setUpdater(new SynchronousJpaProjectUpdater(proj));
-			*/
-			lsnr = new JPAProjectListener();
-			proj.addCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
-			lsnrRef = new WeakReference<CollectionChangeListener>(lsnr);
-			projectToEntityListener.put(proj, lsnrRef);
-		}
-	}
-
-	private void addListenersToEntity(JavaPersistentType jpt) {
-		addAtListenerToEntity(jpt);
-		addPropertiesListenerToEntity(jpt);
-		addStateListenerToEntity(jpt);
-	}
-
-	private void addAtListenerToEntity(JavaPersistentType jpt) {
-		WeakReference<ListChangeListener> lsnrRef = entityToAtListener.get(jpt);
-		ListChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr == null) {
-			lsnr = new EntityAttributesChangeListener();
-			jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-			lsnrRef = new WeakReference<ListChangeListener>(lsnr);
-			entityToAtListener.put(jpt, lsnrRef);
-		}
-	}
-
-	private void addPropertiesListenerToEntity(JavaPersistentType jpt) {
-		WeakReference<PropertyChangeListener> lsnrRef = entityToPropListener.get(jpt);
-		PropertyChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr == null) {
-			lsnr = new EntityPropertyChangeListener();
-			jpt.getMapping().addPropertyChangeListener(PersistentType.NAME_PROPERTY, lsnr);
-			lsnrRef = new WeakReference<PropertyChangeListener>(lsnr);
-			entityToPropListener.put(jpt, lsnrRef);
-		}
-	}
-
-	private void addPropertiesListenerToAttribute(JavaPersistentAttribute jpa) {
-		addPropertiesListenerToAttributeItself(jpa);
-		addPropertiesListenerToJoiningStrategy(jpa);		
-		addPropertiesListenerToRelationshipReference(jpa);
-		addOptPropListenerToAttributeMapping(jpa);			
-	}
-	
-	private void addPropertiesListenerToAttributeItself(JavaPersistentAttribute jpa) {
-		WeakReference<AttributePropertyChangeListener> lsnrRef = attributeToPropListener.get(jpa);
-		AttributePropertyChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr == null) {
-			lsnr = new AttributePropertyChangeListener();
-			jpa.addPropertyChangeListener(PersistentAttribute.MAPPING_PROPERTY, lsnr);
-			lsnrRef = new WeakReference<AttributePropertyChangeListener>(lsnr);
-			attributeToPropListener.put(jpa, lsnrRef);
-		}				
-	}
-	
-	private void addOptPropListenerToAttributeMapping(JavaPersistentAttribute jpa) {
-		WeakReference<AttributeMappingOptionalityChangeListener> lsnrRef = attributeMappingOptionalityToPropListener.get(jpa);
-		AttributeMappingOptionalityChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr == null) {
-			lsnr = new AttributeMappingOptionalityChangeListener();
-			JavaAttributeMapping jam = jpa.getMapping();
-			if (jam == null)
-				return;
-			if (!JavaManyToOneMapping.class.isInstance(jam) &&
-					!JavaOneToOneMapping.class.isInstance(jam))
-				return;
-			jam.addPropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsnr);
-			lsnrRef = new WeakReference<AttributeMappingOptionalityChangeListener>(lsnr);
-			attributeMappingOptionalityToPropListener.put(jpa, lsnrRef);
-		}
-	}
-	
-	
-	private void addPropertiesListenerToJoiningStrategy(JavaPersistentAttribute jpa) {
-		
-		WeakReference<AttributeJoiningStrategyPropertyChangeListener> lsnrRef = attributeJoiningStrategyToPropListener.get(jpa);
-		AttributeJoiningStrategyPropertyChangeListener lsnr = null;
-		lsnrRef = attributeJoiningStrategyToPropListener.get(jpa);
-		lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr == null) {
-			lsnr = new AttributeJoiningStrategyPropertyChangeListener();
-			JavaAttributeMapping jam = jpa.getMapping();
-			if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
-				return;
-			Relationship rr = ((RelationshipMapping) jam).getRelationship();
-			if (rr == null)
-				return;			
-			RelationshipStrategy js = rr.getStrategy();
-			if ((js == null) || !MappedByRelationshipStrategy.class.isInstance(js))
-				return;
-			lsnrRef = new WeakReference<AttributeJoiningStrategyPropertyChangeListener>(lsnr);
-			attributeJoiningStrategyToPropListener.put(jpa, lsnrRef);
-		}
-		
-	}
-	
-	
-	private void addPropertiesListenerToRelationshipReference(JavaPersistentAttribute jpa) {
-		
-		WeakReference<AttributeRelationshipReferencePropertyChangeListener> lsnrRef = attributeRelationshipReferenceToPropListener.get(jpa);
-		AttributeRelationshipReferencePropertyChangeListener lsnr = null;
-		lsnrRef = attributeRelationshipReferenceToPropListener.get(jpa);
-		lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr == null) {
-			lsnr = new AttributeRelationshipReferencePropertyChangeListener();
-			JavaAttributeMapping jam = jpa.getMapping();
-			if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
-				return;
-			Relationship rr = ((RelationshipMapping) jam).getRelationship();
-			if (rr == null)
-				return;		
-			rr.addPropertyChangeListener(ReadOnlyRelationship.STRATEGY_PROPERTY, lsnr);
-			rr.addPropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, new AttributeMappingOptionalityChangeListener());
-			lsnrRef = new WeakReference<AttributeRelationshipReferencePropertyChangeListener>(lsnr);
-			attributeRelationshipReferenceToPropListener.put(jpa, lsnrRef);
-		}
-		
-	}
-	
-
-	
-	private void addStateListenerToEntity(JavaPersistentType jpt) {
-		WeakReference<StateChangeListener> lsnrRef = entityToStateListener.get(jpt);
-		StateChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr == null) {
-			lsnr = new EntityStateChangeListener();
-			jpt.addStateChangeListener(lsnr);
-			lsnrRef = new WeakReference<StateChangeListener>(lsnr);
-			entityToStateListener.put(jpt, lsnrRef);
-		}
-	}
-
-	private void removeListenersFromEntity(JavaPersistentType jpt) {
-		removeAtListenerFromEntity(jpt);
-		removePropListenerFromEntity(jpt);
-		removeStateListenerFromEntity(jpt);
-	}
-	
-	private void removeListenersFromAttribute(JavaPersistentAttribute jpa) {
-		removePropListenerFromAttribute(jpa);
-	}	
-
-	private void removeAtListenerFromEntity(JavaPersistentType jpt) {
-		WeakReference<ListChangeListener> lsnrRef = entityToAtListener.get(jpt);
-		ListChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr != null) {
-			entityToAtListener.remove(jpt);
-			jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);			
-		}
-	}
-
-	private void removePropListenerFromEntity(JavaPersistentType jpt) {
-		WeakReference<PropertyChangeListener> lsnrRef = entityToPropListener.get(jpt);
-		PropertyChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr != null) {
-			entityToPropListener.remove(jpt);
-			try {
-				jpt.getMapping().removePropertyChangeListener(PersistentType.NAME_PROPERTY, lsnr);				
-			} catch (IllegalArgumentException e) {
-				//$NON-NLS-1$
-			}		
-		}
-	}
-		
-	private void removePropListenerFromAttribute(JavaPersistentAttribute jpa) {
-		removePropListenerFromAttributeItself(jpa);
-		removePropListenerFromJoiningStrategy(jpa);
-		removePropListenerFromRelationshipReference(jpa);
-		removeOptPropListenerFromAttributeMapping(jpa);
-	}	
-	
-	private void removePropListenerFromAttributeItself(JavaPersistentAttribute jpa) {
-		WeakReference<AttributePropertyChangeListener> lsnrRef = attributeToPropListener.get(jpa);
-		PropertyChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr != null) {
-			attributeToPropListener.remove(jpa);
-			try {
-				jpa.removePropertyChangeListener(PersistentAttribute.MAPPING_PROPERTY, lsnr);				
-			} catch (IllegalArgumentException e) {
-				//$NON-NLS-1$
-			}		
-		}
-	}	
-	
-	private void removePropListenerFromJoiningStrategy(JavaPersistentAttribute jpa) {
-		WeakReference<AttributeJoiningStrategyPropertyChangeListener> lsnrRef = attributeJoiningStrategyToPropListener.get(jpa);
-		PropertyChangeListener lsnr = null;		
-		lsnrRef = attributeJoiningStrategyToPropListener.get(jpa);
-		lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr != null) {
-			attributeJoiningStrategyToPropListener.remove(jpa);
-			try {			
-				JavaAttributeMapping jam = jpa.getMapping();
-				if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
-					return;
-				Relationship rr = ((RelationshipMapping) jam).getRelationship();
-				if (rr == null)
-					return;			
-				RelationshipStrategy js = rr.getStrategy();
-				if ((js == null) || !MappedByRelationshipStrategy.class.isInstance(js))
-					return;
-				js.removePropertyChangeListener(MappedByRelationshipStrategy.MAPPED_BY_ATTRIBUTE_PROPERTY, lsnr);							
-			} catch (IllegalArgumentException e) {
-				//$NON-NLS-1$
-			}		
-		}		
-		
-	}
-	
-	private void removeOptPropListenerFromAttributeMapping(JavaPersistentAttribute jpa) {
-		WeakReference<AttributeMappingOptionalityChangeListener> lsnrRef = attributeMappingOptionalityToPropListener.get(jpa);
-		PropertyChangeListener lsnr = null;		
-		lsnrRef = attributeMappingOptionalityToPropListener.get(jpa);
-		lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr != null) {
-			attributeMappingOptionalityToPropListener.remove(jpa);
-			try {			
-				JavaAttributeMapping jam = jpa.getMapping();
-				if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
-					return;
-				jam.removePropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsnr);
-			} catch (IllegalArgumentException e) {
-				//$NON-NLS-1$
-			}		
-		}		
-	}	
-	
-	
-	private void removePropListenerFromRelationshipReference(JavaPersistentAttribute jpa) {
-		WeakReference<AttributeRelationshipReferencePropertyChangeListener> lsnrRef = attributeRelationshipReferenceToPropListener.get(jpa);
-		PropertyChangeListener lsnr = null;		
-		lsnrRef = attributeRelationshipReferenceToPropListener.get(jpa);
-		lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr != null) {
-			attributeRelationshipReferenceToPropListener.remove(jpa);
-			try {			
-				JavaAttributeMapping jam = jpa.getMapping();
-				if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
-					return;
-				Relationship rr = ((RelationshipMapping) jam).getRelationship();
-				if (rr == null)
-					return;			
-				rr.removePropertyChangeListener(ReadOnlyRelationship.STRATEGY_PROPERTY, lsnr);
-			} catch (IllegalArgumentException e) {
-				//$NON-NLS-1$
-			}		
-		}				
-	}
-		
-
-	private void removeStateListenerFromEntity(JavaPersistentType jpt) {
-		WeakReference<StateChangeListener> lsnrRef = entityToStateListener.get(jpt);
-		StateChangeListener lsnr = null;
-		if (lsnrRef != null)
-			lsnr = lsnrRef.get();
-		if (lsnr != null) {
-			entityToStateListener.remove(jpt);
-			jpt.removeStateChangeListener(lsnr);			
-		}
-	}
-
-	//---------------
-	private void removeEntityStateChangeListeners() {
-		Iterator<JavaPersistentType> it = entityToStateListener.keySet().iterator();
-		Set<JavaPersistentType> s = new HashSet<JavaPersistentType>();
-		while(it.hasNext()) 
-			s.add(it.next());
-		it = s.iterator();
-		while(it.hasNext()) {
-			JavaPersistentType jpt = it.next();
-			WeakReference<StateChangeListener> ref = entityToStateListener.remove(jpt);
-			StateChangeListener lsn = ref.get();
-			if (lsn != null) 
-				jpt.removeStateChangeListener(lsn);
-		}
-		entityToStateListener.clear();
-		entityToStateListener = null;
-	}
-	
-	private void removeEntityPropChangeListeners() {
-		Iterator<JavaPersistentType> it = entityToPropListener.keySet().iterator();
-		Set<JavaPersistentType> s = new HashSet<JavaPersistentType>();
-		while(it.hasNext()) 
-			s.add(it.next());
-		it = s.iterator();		
-		while(it.hasNext()) {
-			JavaPersistentType jpt = it.next();
-			WeakReference<PropertyChangeListener> ref = entityToPropListener.remove(jpt);
-			PropertyChangeListener lsn = ref.get();
-			if (lsn != null) 
-				jpt.getMapping().removePropertyChangeListener(PersistentType.NAME_PROPERTY, lsn);
-		}
-		entityToPropListener.clear();
-		entityToPropListener = null;
-	}
-	
-	private void removeAttributePropChangeListeners() {
-		Iterator<JavaPersistentAttribute> it = attributeToPropListener.keySet().iterator();
-		Set<JavaPersistentAttribute> s = new HashSet<JavaPersistentAttribute>();
-		while(it.hasNext()) 
-			s.add(it.next());
-		it = s.iterator();		
-		while(it.hasNext()) {
-			JavaPersistentAttribute jpa = it.next();
-			WeakReference<AttributePropertyChangeListener> ref = attributeToPropListener.remove(jpa);
-			PropertyChangeListener lsn = ref.get();
-			if (lsn != null) 
-				try {
-					jpa.removePropertyChangeListener(PersistentAttribute.MAPPING_PROPERTY, lsn);
-				} catch (IllegalArgumentException e) {
-					//$NON-NLS-1$
-				}
-		}
-		attributeToPropListener.clear();
-		attributeToPropListener = null;
-	}	
-	
-	private void removeAttributeJoiningStrategyPropChangeListeners() {
-		Iterator<JavaPersistentAttribute> it = attributeJoiningStrategyToPropListener.keySet().iterator();
-		Set<JavaPersistentAttribute> s = new HashSet<JavaPersistentAttribute>();
-		while(it.hasNext()) 
-			s.add(it.next());
-		it = s.iterator();		
-		while(it.hasNext()) {
-			JavaPersistentAttribute jpa = it.next();
-			WeakReference<AttributeJoiningStrategyPropertyChangeListener> ref = attributeJoiningStrategyToPropListener.remove(jpa);
-			PropertyChangeListener lsn = ref.get();
-			if (lsn != null) 
-				try {
-					jpa.getMapping().removePropertyChangeListener(MappedByRelationshipStrategy.MAPPED_BY_ATTRIBUTE_PROPERTY, lsn);
-				} catch (IllegalArgumentException e) {
-					//$NON-NLS-1$
-				}
-		}
-		attributeJoiningStrategyToPropListener.clear();
-		attributeJoiningStrategyToPropListener = null;
-	}		
-	
-	private void removeOptPropListeners() {
-		Iterator<JavaPersistentAttribute> it = this.attributeMappingOptionalityToPropListener.keySet().iterator();
-		Set<JavaPersistentAttribute> s = new HashSet<JavaPersistentAttribute>();
-		while(it.hasNext()) 
-			s.add(it.next());
-		it = s.iterator();		
-		while(it.hasNext()) {
-			JavaPersistentAttribute jpa = it.next();
-			WeakReference<AttributeMappingOptionalityChangeListener> ref = attributeMappingOptionalityToPropListener.remove(jpa);
-			if (ref == null)
-				continue;
-			PropertyChangeListener lsn = ref.get();
-			if (lsn == null)
-				continue;
-			JavaAttributeMapping jam = jpa.getMapping();
-			if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
-				continue;			
-			try {
-				jam.removePropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsn);
-			} catch (IllegalArgumentException e) {
-				//$NON-NLS-1$
-			}
-		}
-		attributeRelationshipReferenceToPropListener.clear();
-		attributeRelationshipReferenceToPropListener = null;		
-	}	
-	
-	private void removeEntityAttributeChangeListeners() {
-		Iterator<JavaPersistentType> it = entityToAtListener.keySet().iterator();
-		Set<JavaPersistentType> s = new HashSet<JavaPersistentType>();
-		while(it.hasNext()) 
-			s.add(it.next());
-		it = s.iterator();		
-		while(it.hasNext()) {
-			JavaPersistentType jpt = it.next();
-			WeakReference<ListChangeListener> ref = entityToAtListener.remove(jpt);
-			ListChangeListener lsn = ref.get();
-			if (lsn != null) 
-				jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsn);
-		}
-		entityToAtListener.clear();
-		entityToAtListener = null;
-	}	
-	
-	private void removeProjectListeners() {		
-		Iterator<JpaProject> it = projectToEntityListener.keySet().iterator();
-		Set<JpaProject> s = new HashSet<JpaProject>();
-		while(it.hasNext()) 
-			s.add(it.next());
-		it = s.iterator();		
-		while(it.hasNext()) {
-			JpaProject project = it.next();
-			WeakReference<CollectionChangeListener> ref = projectToEntityListener.remove(project);
-			CollectionChangeListener lsn = ref.get();
-			if (lsn != null) 
-				project.removeCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsn);
-		}
-		projectToEntityListener.clear();
-		projectToEntityListener = null;
-	}
-	
-	private void removeAllListeners() {
-		removeOptPropListeners();
-		removeAttributeJoiningStrategyPropChangeListeners();
-		removeAttributePropChangeListeners();
-		removeEntityStateChangeListeners();	
-		removeEntityPropChangeListeners();
-		removeEntityAttributeChangeListeners();
-		removeProjectListeners();
-		eclipseFacade.getWorkspace().removeResourceChangeListener(this);
-	}
-	
-	public void dispose() {
-		Iterator<Object> it = keyToBO.values().iterator();
-		while (it.hasNext()) {
-			Object bo = it.next();
-			if (!JavaPersistentType.class.isInstance(bo))
-				continue;
-			ICompilationUnit cu = util.getCompilationUnit(((JavaPersistentType)bo));
-			util.discardWorkingCopyOnce(cu);
-		}
-		
-		util = null;
-		keyToBO.clear();
-		attribToRel.clear();
-		keyToBO = null;
-		attribToRel = null;	
-		removeAllListeners();
-		featureProvider = null;
-		synchronized (JPASolver.class) {
-			solversSet.remove(this);
-			if (solversSet.isEmpty()) {
-				JavaCore.removeElementChangedListener(wclsnr);
-				wclsnr = null;
-			}
-		}
-	}	
-	
-	public boolean containsKey(String key) {
-		return keyToBO.containsKey(key);
-	}
-
-	public void restoreEntity(JavaPersistentType jpt) {
-		if (jpt == null)
-			return;
-		ICompilationUnit cu = this.getCompilationUnit(jpt);
-		JPAEditorUtil.discardWorkingCopyOnce(cu);
-		JPAEditorUtil.becomeWorkingCopy(cu);
-	}
-
-	public static boolean ignoreEvents = false; 
-	
-	public static class WorkingCopyChangeListener implements IElementChangedListener {
-		synchronized public void  elementChanged(ElementChangedEvent event) {
-			Object o = event.getSource();
-			if (!IJavaElementDelta.class.isInstance(o))
-				return;
-
-			IJavaElementDelta jed = (IJavaElementDelta)o;
-			Set<ICompilationUnit> affectedCompilationUnits = getAffectedCompilationUnits(jed);
-			
-			for (ICompilationUnit cu : affectedCompilationUnits) {
-				JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
-				for (JPASolver solver : solversSet) {
-					final ContainerShape cs = (ContainerShape)solver.featureProvider.getPictogramElementForBusinessObject(jpt);
-					if (cs == null)
-						return;
-					String entName = JPAEditorUtil.getText(jpt);
-					try {
-						final String newHeader = (cu.hasUnsavedChanges() ? "* " : "") + entName;	//$NON-NLS-1$ //$NON-NLS-2$
-						Display.getDefault().asyncExec(new Runnable() {
-							public void run() {
-								GraphicsUpdater.updateHeader(cs, newHeader);
-							}
-						});
-										
-					} catch (JavaModelException e) {
-						JPADiagramEditorPlugin.logError("Cannot check compilation unit for unsaved changes", e); //$NON-NLS-1$				 
-					}	
-				}
-				
-			}			
-		}
-		
-		private Set<ICompilationUnit> getAffectedCompilationUnits(IJavaElementDelta delta) { 
-			Set<ICompilationUnit> res = new HashSet<ICompilationUnit>();
-			IJavaElement el = delta.getElement();
-			if (ICompilationUnit.class.isInstance(el))
-				res.add((ICompilationUnit)el);
-			IJavaElementDelta[] children = delta.getChangedChildren();
-			for (IJavaElementDelta child : children) {
-				Set<ICompilationUnit> cus = getAffectedCompilationUnits(child);
-				res.addAll(cus);
-			}
-			return res;
-		}
-	}
-	
-	public class JPAProjectListener implements CollectionChangeListener {				
-
-		synchronized public void itemsRemoved(CollectionRemoveEvent event) {
-			if (ignoreEvents)
-				return;
-
-			Iterator<?> it = event.getItems().iterator();
-			while (it.hasNext()) {
-				Object o = it.next();
-				if (!(o instanceof JpaFile))
-					continue;
-				final JpaFile jpaFile = (JpaFile)o;
-				JptResourceModel jrm = ((JpaFile)o).getResourceModel();
-				if (!JavaResourceCompilationUnit.class.isInstance(jrm))
-					continue;
-				JavaResourceCompilationUnit jrcu = (JavaResourceCompilationUnit)jrm;
-				JavaResourceAbstractType jrat = jrcu.getPrimaryType();
-				String name = jrat.getQualifiedName();
-				
-				JpaProject jpaProject = jpaFile.getJpaProject();
-				PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
-				if(pu == null)
-					continue;
-				JavaPersistentType jpt = (JavaPersistentType)pu.getPersistentType(name);
-				final ContainerShape cs = (ContainerShape)featureProvider.getPictogramElementForBusinessObject(jpt);
-				if (cs == null)
-					return;
-				final RemoveContext ctx = new RemoveContext(cs);
-				final IRemoveFeature ft = featureProvider.getRemoveFeature(ctx);;
-				Runnable r = new Runnable() {
-					public void run() {
-						TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(cs);
-						ted.getCommandStack().execute(new RecordingCommand(ted) {
-							@Override
-							protected void doExecute() {
-								ft.remove(ctx);
-							}						
-						});
-					}
-				};
-				Display.getDefault().syncExec(r);
-			}			
-		}
-
-		public void collectionCleared(CollectionClearEvent arg0) {}
-
-		public void collectionChanged(CollectionChangeEvent event) {}
-
-		public void itemsAdded(CollectionAddEvent event) {}
-	};
-
-	public class EntityStateChangeListener implements StateChangeListener {
-		public void stateChanged(StateChangeEvent event) {
-		}
-	}
-
-	public class EntityAttributesChangeListener implements ListChangeListener {
-		
-		public void itemsAdded(ListAddEvent event) {
-			AddEntityAttributes task = new AddEntityAttributes(event);
-			Display.getDefault().asyncExec(task);
-		}
-
-		public void itemsRemoved(ListRemoveEvent event) {
-			RemoveEntityAttributes task = new RemoveEntityAttributes(event);
-			Display.getDefault().asyncExec(task);
-		}
-		
-		public void listChanged(ListChangeEvent event) {}
-
-		public void itemsMoved(ListMoveEvent arg0) {}
-
-		public void itemsReplaced(ListReplaceEvent arg0) {}
-
-		public void listCleared(ListClearEvent arg0) {}
-	};
-
-	public class EntityPropertyChangeListener implements PropertyChangeListener {
-		synchronized public void propertyChanged(PropertyChangeEvent event) {
-			String propName = event.getPropertyName();
-			if (propName.equals(JPAEditorConstants.PROP_SPECIFIED_NAME)) {	
-				final JavaEntity je = (JavaEntity)event.getSource();
-				Runnable job = new Runnable() {
-					public void run() {
-						TransactionalEditingDomain ted = featureProvider.getTransactionalEditingDomain();
-						ted.getCommandStack().execute(new RecordingCommand(ted) {
-							@Override
-							protected void doExecute() {
-								JavaPersistentType jpt = je.getPersistentType(); 
-								updateJPTName(jpt);
-							    String tableName = JPAEditorUtil.formTableName(jpt);
-							    JpaArtifactFactory.instance().setTableName(jpt, tableName);
-							}						
-						});
-					}
-				};
-				Display.getDefault().syncExec(job);
-			}
-		}
-	}
-	
-	public class AttributePropertyChangeListener implements
-			PropertyChangeListener {
-		synchronized public void propertyChanged(PropertyChangeEvent event) {
-			
-			Model source = event.getSource();
-			if (!JavaPersistentAttribute.class.isInstance(source))
-				return;
-			PictogramElement pe = featureProvider
-					.getPictogramElementForBusinessObject(((JavaPersistentAttribute) source)
-							.getParent());			
-			final UpdateAttributeFeature ft = new UpdateAttributeFeature(
-					featureProvider);
-			final CustomContext ctx = new CustomContext();
-			ctx.setInnerPictogramElement(pe);
-			Runnable runnable = new Runnable() {
-				@SuppressWarnings("deprecation")
-				public void run() {
-					ft.execute(ctx);					
-				}
-			};
-			Display.getDefault().asyncExec(runnable);
-			String propName = event.getPropertyName();
-			if (propName.equals(PersistentAttribute.MAPPING_PROPERTY)) {
-				renewAttributeMappingPropListener((JavaPersistentAttribute) source);
-			}
-		}
-	}	
-
-	/* 
-	 * This listener listens when mappedBy has been changed
-	 */
-	public class AttributeJoiningStrategyPropertyChangeListener implements PropertyChangeListener {
-		
-		synchronized public void propertyChanged(PropertyChangeEvent event) {
-			
-			Model m = event.getSource();
-			if (!MappedByRelationshipStrategy.class.isInstance(m))
-				return;
-			MappedByRelationshipStrategy js = (MappedByRelationshipStrategy)m;
-			JpaNode nd = js.getParent();
-			if (nd == null)
-				return;
-			nd = nd.getParent();
-			if (nd == null)
-				return;
-			nd = nd.getParent();
-			if ((nd == null) || !JavaPersistentAttribute.class.isInstance(nd))
-				return;			
-			JavaPersistentAttribute at = (JavaPersistentAttribute)nd;
-			if (!at.getParent().getParent().getResource().exists())
-				return;
-			PictogramElement pe = featureProvider.getPictogramElementForBusinessObject(at.getParent());
-			final UpdateAttributeFeature ft = new UpdateAttributeFeature(featureProvider); 
-			final CustomContext ctx = new CustomContext();
-			ctx.setInnerPictogramElement(pe);
-			Runnable runnable = new Runnable() {
-				@SuppressWarnings("deprecation")
-				public void run() {
-					try {
-						ft.execute(ctx);
-					} catch (Exception e) {
-						//$NON-NLS-1$
-					}
-				}
-			};
-			Display.getDefault().asyncExec(runnable);
-		}
-	}		
-	
-	
-	public class AttributeRelationshipReferencePropertyChangeListener implements PropertyChangeListener {
-		
-		synchronized public void propertyChanged(PropertyChangeEvent event) {		
-			Relationship rr = (Relationship)event.getSource();
-			JpaNode p = rr.getParent();
-			if (p == null)
-				return;
-			p = p.getParent();
-			if (p == null)
-				return;
-			if (!JavaPersistentAttribute.class.isInstance(p))
-				return;
-			JavaPersistentAttribute jpa = (JavaPersistentAttribute)p;
-			renewAttributeJoiningStrategyPropertyListener(jpa);
-			if (!jpa.getParent().getParent().getResource().exists())
-				return;
-			if (featureProvider == null)
-				return;
-			PictogramElement pe = featureProvider.getPictogramElementForBusinessObject(jpa.getParent());
-			final UpdateAttributeFeature ft = new UpdateAttributeFeature(featureProvider); 
-			final CustomContext ctx = new CustomContext();
-			ctx.setInnerPictogramElement(pe);
-			Runnable runnable = new Runnable() {
-				@SuppressWarnings("deprecation")
-				public void run() {
-					try {
-						ft.execute(ctx);
-					} catch (Exception e) {
-						//$NON-NLS-1$
-					}
-				}
-			};
-			Display.getDefault().asyncExec(runnable);		
-		}
-	}		
-	
-	public class AttributeMappingOptionalityChangeListener implements PropertyChangeListener {
-
-		synchronized public void propertyChanged(PropertyChangeEvent event) {
-			Boolean optional = (Boolean)event.getNewValue();
-			boolean isOptional = (optional == null) ? true : optional.booleanValue();
-			OptionalMapping nm = (OptionalMapping)event.getSource();
-			JavaPersistentAttribute jpa = (JavaPersistentAttribute)nm.getParent();
-			IRelation rel = featureProvider.getRelationRelatedToAttribute(jpa);
-			boolean atBeginning = !rel.getOwner().equals(jpa.getParent()) || 
-								  !rel.getOwnerAttributeName().equals(jpa.getName());
-			final Connection c = (Connection)featureProvider.getPictogramElementForBusinessObject(rel);
-			Collection<ConnectionDecorator> conDecs = c.getConnectionDecorators();
-			Iterator<ConnectionDecorator> it = conDecs.iterator();
-			final String newLabelText = isOptional ? 
-										JPAEditorConstants.CARDINALITY_ZERO_ONE : 
-										JPAEditorConstants.CARDINALITY_ONE;
-			while (it.hasNext()) {
-				final ConnectionDecorator cd = it.next();
-				if (!JPAEditorUtil.isCardinalityDecorator(cd))
-					continue;
-				double d = cd.getLocation();
-				if ((atBeginning && d > 0.5) || (!atBeginning && d <= 0.5))
-					continue;
-				
-				TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(cd);
-				ted.getCommandStack().execute(new RecordingCommand(ted) {
-					@Override
-					protected void doExecute() {
-						Text txt = (Text)cd.getGraphicsAlgorithm();
-						txt.setValue(newLabelText);
-						
-						Point pt = JPAEditorUtil.recalcTextDecoratorPosition((FreeFormConnection)c, cd);
-						Graphiti.getGaService().setLocation(txt, pt.x, pt.y, false);						
-					}
-				});
-				break;
-			}
-		}
-	}	
-
-	public class RemoveEntityAttributes implements Runnable {
-		ListRemoveEvent event = null;
-
-		public RemoveEntityAttributes(ListRemoveEvent event) {
-			this.event = event;
-		}
-
-		@SuppressWarnings("unchecked")
-		synchronized public void run() {
-			try {
-				ArrayIterator<JavaPersistentAttribute> it = (ArrayIterator<JavaPersistentAttribute>) event.getItems().iterator();
-				Set<Shape> shapesToRemove = new HashSet<Shape>();
-				while (it.hasNext()) {
-					JavaPersistentAttribute at = it.next();
-					/*
-					String key = getKeyForBusinessObject(at);
-					remove(key);
-					*/
-					if (removeIgnore.remove(((PersistentType)at.getParent()).getName() + "." + at.getName())) //$NON-NLS-1$
-						continue;
-					Shape atShape = (Shape) featureProvider.getPictogramElementForBusinessObject(at);
-					if (atShape == null)
-						continue;
-					
-					
-					JavaPersistentType jpt = (JavaPersistentType)event.getSource();
-					JavaPersistentAttribute newAt = jpt.getAttributeNamed(at.getName());
-					if (newAt != null) {
-						RemoveAttributeFeature ft = new RemoveAttributeFeature(featureProvider, true, true);
-						RemoveContext c = new RemoveContext(atShape);
-						try {
-							ft.remove(c);
-						} catch (Exception ee) {
-							//$NON-NLS-1$
-						}
-						AddAttributeFeature ft1 = new AddAttributeFeature(featureProvider);
-						AddContext c1 = new AddContext();
-						c1.setNewObject(newAt);
-						ft1.add(c1);
-						return;
-					}
-
-					shapesToRemove.add(atShape);
-					IRelation rel = featureProvider.getRelationRelatedToAttribute(at);
-					if (rel == null)
-						continue;
-					Connection conn = (Connection) featureProvider.getPictogramElementForBusinessObject(rel);
-					while (conn != null) {
-						RemoveContext ctx = new RemoveContext(conn);
-						RemoveRelationFeature ft = new RemoveRelationFeature(featureProvider);
-						ft.remove(ctx);
-						conn = (Connection) featureProvider.getPictogramElementForBusinessObject(rel);
-					}
-				}
-				Iterator<Shape> itr = shapesToRemove.iterator();
-				while (itr.hasNext()) {
-					Shape atShape = itr.next();
-					RemoveContext ctx = new RemoveContext(atShape);
-					RemoveAttributeFeature ft = new RemoveAttributeFeature(featureProvider, true, true);
-					ft.remove(ctx);
-				}
-				Collection<IRelation> rels = JpaArtifactFactory.instance().produceAllRelations(
-						(JavaPersistentType) event.getSource(), featureProvider);
-				Iterator<IRelation> iter = rels.iterator();
-				while (iter.hasNext()) {
-					IRelation rel = iter.next();
-					ContainerShape ownerShape = (ContainerShape) featureProvider
-							.getPictogramElementForBusinessObject(rel.getOwner());
-					ContainerShape inverseShape = (ContainerShape) featureProvider
-							.getPictogramElementForBusinessObject(rel.getInverse());
-					AddConnectionContext cntx = new AddConnectionContext(JPAEditorUtil.getAnchor(ownerShape),
-							JPAEditorUtil.getAnchor(inverseShape));
-					cntx.setNewObject(rel);
-					AddRelationFeature ft = new AddRelationFeature(featureProvider);
-					ft.add(cntx);
-				}
-			} catch (Exception e) {
-				//$NON-NLS-1$
-			}
-		}
-
-	}
-
-	public class AddEntityAttributes implements Runnable {
-		ListAddEvent event = null;
-
-		public AddEntityAttributes(ListAddEvent event) {
-			this.event = event;
-		}
-
-		@SuppressWarnings("unchecked")
-		synchronized public void run() {
-			try {
-				JavaPersistentType jpt = (JavaPersistentType) event.getSource();
-				ContainerShape entShape = (ContainerShape)featureProvider.getPictogramElementForBusinessObject(jpt);
-				
-				// remove invalidated relations (if any)
-				ArrayIterator<JavaPersistentAttribute> it = (ArrayIterator<JavaPersistentAttribute>) event.getItems().iterator();
-				while (it.hasNext()) {
-					JavaPersistentAttribute at = it.next();
-					//Shape atShape = (Shape) featureProvider.getPictogramElementForBusinessObject(at);
-					//if (atShape != null)
-					//	continue;
-					if (addIgnore.remove(((PersistentType)at.getParent()).getName() + "." + at.getName())) //$NON-NLS-1$
-						continue;
-					AddContext ctx = new AddContext();
-					ctx.setNewObject(at);
-					ctx.setTargetContainer(entShape);
-					AddAttributeFeature ft = new AddAttributeFeature(featureProvider);
-					ft.add(ctx);
-				}
-				//JpaArtifactFactory.instance().remakeRelations((IJPAEditorFeatureProvider)featureProvider, entShape, jpt);
-				featureProvider.addJPTForUpdate(jpt.getName());
-
-			} catch (Exception e) {
-				//$NON-NLS-1$
-			}
-		}
-	}
-	
-	public void addAttribForUpdate(PersistenceUnit pu, String entAtMappedBy) {
-		entityNameListener.addAttribForUpdate(pu, entAtMappedBy);
-	}
-
-	
-	private void updateJPTName(JavaPersistentType jpt) {
-		String entName = JpaArtifactFactory.instance().getEntityName(jpt);
-		entName = JPAEditorUtil.returnSimpleName(entName);
-		ContainerShape entShape = (ContainerShape)featureProvider.getPictogramElementForBusinessObject(jpt);
-		JPAEditorUtil.setJPTNameInShape(entShape, entName);
-	}
-	
-	private void closeDiagramEditorIfProjectIsDeleted(IResourceChangeEvent event) {
-		final IResource resource = event.getResource();
-		if (resource != null && !resource.exists() || event.getType() == IResourceChangeEvent.PRE_CLOSE || (event.getType() == IResourceChangeEvent.PRE_DELETE)) {
-			    if (resource instanceof IProject) {
-					final IDiagramTypeProvider provider = featureProvider.getDiagramTypeProvider();
-					if (provider instanceof JPAEditorDiagramTypeProvider) {
-						final JPADiagramEditor diagramBySelectedProject = ((JPAEditorDiagramTypeProvider) provider).getDiagramEditor();
-						final Diagram diagram = ((JPAEditorDiagramTypeProvider)provider).getDiagram();
-						PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-									public void run() {
-										IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-										if ((ModelIntegrationUtil.getProjectByDiagram(diagram.getName()).getProject()).equals(resource)) {
-											page.closeEditor(diagramBySelectedProject, false);
-										}
-									}
-								});
-					}
-
-				}
-			}
-	}
-	
-	private void unregisterDeltedEntity(IResourceChangeEvent event) {
-		if((event.getType() == IResourceChangeEvent.PRE_CLOSE) || (event.getType() == IResourceChangeEvent.PRE_DELETE))
-			return;
-		
-		IResourceDelta changedDelta = event.getDelta();
-		IResourceDelta[] deltas = changedDelta.getAffectedChildren();
-		for (IResourceDelta delta : deltas) {
-			final IResource resource = delta.getResource();
-			if (resource != null && resource.exists()) {
-				if (resource instanceof IProject) {
-					IProject project = (IProject) resource;
-					for (IResourceDelta deltaResource : delta.getAffectedChildren()) {
-						List<IResourceDelta> resources = new ArrayList<IResourceDelta>();
-						resources = findDeletedResource(deltaResource, resources);
-						for (IResourceDelta resourceDelta : resources) {
-							if (resourceDelta.getResource() instanceof File) {
-								IFile file = this.eclipseFacade.getWorkspace().getRoot().getFile(((File) resourceDelta.getResource()).getFullPath());
-								if (!file.exists() && file.getFileExtension().equals("java")) { //$NON-NLS-1$
-										try {
-											JpaProject jpaProject = JpaArtifactFactory.instance().getJpaProject((IProject) resource);
-											if (jpaProject != null) {
-												IJavaProject javaProject = JavaCore.create(project);
-												IPackageFragmentRoot[] fragmentRoots = javaProject.getAllPackageFragmentRoots();
-												for (IPackageFragmentRoot fragmentRoot : fragmentRoots) {
-													if ((fragmentRoot instanceof PackageFragmentRoot) && fragmentRoot.getKind() == PackageFragmentRoot.K_SOURCE) {
-														PackageFragmentRoot packageFragmentRoot = (PackageFragmentRoot) fragmentRoot;
-														String sourcefolder = packageFragmentRoot.getResource().getName();
-														String[] fq = file.getFullPath().toString().split(sourcefolder);
-														String fqName = fq[1].replace("/", "."); //$NON-NLS-1$ //$NON-NLS-2$
-														fqName = fqName.replaceFirst(".", "").replace(".java", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-														//JPAEditorUtil.createUnregisterEntityFromXMLJob(jpaProject, fqName);
-													}
-												}
-											}
-										} catch (CoreException e) {
-											JPADiagramEditorPlugin.logError(e);
-										}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-	
-	
-	private List<IResourceDelta> findDeletedResource(IResourceDelta delta, List<IResourceDelta> resources){
-		IResourceDelta[] deltas = delta.getAffectedChildren();
-			for (IResourceDelta del : deltas) {
-				findDeletedResource(del, resources);
-				if(del.getAffectedChildren().length==0)
-				    resources.add(del);
-			}
-		return resources;
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JpaArtifactFactory.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JpaArtifactFactory.java
deleted file mode 100644
index 2a55ae7..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JpaArtifactFactory.java
+++ /dev/null
@@ -1,2282 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Locale;
-import java.util.Properties;
-import java.util.Set;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IImportDeclaration;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.ui.refactoring.RenameSupport;
-import org.eclipse.jpt.common.core.JptResourceModel;
-import org.eclipse.jpt.common.core.resource.java.Annotation;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.SubListIterableWrapper;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.Embeddable;
-import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
-import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaTypeMapping;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.java.AttributeOverrideAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.ColumnAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.EmbeddedIdAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.IdAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.IdClassAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.ManyToManyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.MapKeyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToManyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OwnableRelationshipMappingAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.RelationshipMappingAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.TableAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.UpdateAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.UnidirectionalRelation;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-@SuppressWarnings("restriction")
-public class JpaArtifactFactory {
-
-	private static final JpaArtifactFactory INSTANCE = new JpaArtifactFactory();	
-	
-	private static final int MAX_NUM_OF_ITERATIONS = 25;
-	private static final int PAUSE_DURATION = 200;
-	
-	private static final String COLLECTION_TYPE = "java.util.Collection"; //$NON-NLS-1$
-	private static final String LIST_TYPE = "java.util.List"; //$NON-NLS-1$
-	private static final String SET_TYPE = "java.util.Set"; //$NON-NLS-1$
-	private static final String MAP_TYPE = "java.util.Map"; //$NON-NLS-1$
-
-	synchronized public static JpaArtifactFactory instance() {
-		return INSTANCE;
-	}
-	
-	public void addOneToOneUnidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt, 
-												  JavaPersistentAttribute attribute) {
-		addOneToOneRelation(fp, jpt, attribute, null, null,
-				JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL);
-	}
-	
-	public void addOneToOneBidirectionalRelation (IFeatureProvider fp, JavaPersistentType jpt1, 
-			JavaPersistentAttribute attribute1, JavaPersistentType jpt2,
-												  JavaPersistentAttribute attribute2) {
-		
-		addOneToOneRelation(fp, jpt1, attribute1, jpt2, attribute2,
-				JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL);
-	}
-	
-	public void addOneToOneRelation(IFeatureProvider fp, JavaPersistentType ownerJPT, 
-									JavaPersistentAttribute ownerAttibute, 
-									JavaPersistentType referencedJPT, 
-			JavaPersistentAttribute referencedAttribute, int direction) {
-		
-		if(ownerJPT.getAttributeNamed(ownerAttibute.getName()) == null){
-			   refreshEntityModel(fp, ownerJPT);
-		}
-		
-		JavaPersistentAttribute attr = (JavaPersistentAttribute) ownerJPT
-				.resolveAttribute(ownerAttibute.getName());
-		attr.getResourceAttribute().setPrimaryAnnotation("javax.persistence.OneToOne", new ArrayListIterable<String>());	//$NON-NLS-1$
-		if (direction == JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL) {
-			JpaArtifactFactory.instance().refreshEntityModel(null, referencedJPT);
-			JavaPersistentAttribute attr2 = (JavaPersistentAttribute) referencedJPT.resolveAttribute(referencedAttribute.getName());
-			attr2.setMappingKey(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY);
-			attr2.getJpaProject().getRootContextNode().update();
-			JavaOneToOneMapping mapping = (JavaOneToOneMapping) attr2.getMapping();
-			OneToOneAnnotation annotation = mapping.getMappingAnnotation();
-			if(annotation == null) {
-				JpaArtifactFactory.instance().refreshEntityModel(null, referencedJPT);
-				annotation = ((JavaOneToOneMapping) attr2.getMapping()).getMappingAnnotation();
-			}
-			annotation.setMappedBy(ownerAttibute.getName());
-		}		
-		
-	}
-	
-	public void addOneToManyUnidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt, 
-												   JavaPersistentAttribute attribute, boolean isMap) {
-		
-		addOneToManyRelation(fp, jpt, attribute, null, null,
-				JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL, isMap);
-	}
-	
-	public void addOneToManyBidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt1, 
-			JavaPersistentAttribute attribute1, JavaPersistentType jpt2,
-												  JavaPersistentAttribute attribute2, boolean isMap) {
-		
-		addOneToManyRelation(fp, jpt1, attribute1, jpt2, attribute2,
-				JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL, isMap);
-	}
-	
-	public void addManyToOneBidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt1, 
-			JavaPersistentAttribute attribute1, JavaPersistentType jpt2,
-												  JavaPersistentAttribute attribute2, boolean isMap) {
-		
-		addManyToOneRelation(fp, jpt1, attribute1, jpt2, attribute2,
-				JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL, isMap);
-	}
-	
-	
-	public void addOneToManyRelation(IFeatureProvider fp, JavaPersistentType singleSideJPT, 
-									 JavaPersistentAttribute singleSideAttibute, 
-									 JavaPersistentType manySideJPT, 
-			JavaPersistentAttribute manySideAttribute, int direction, boolean isMap) {
-		
-		//if(singleSideJPT.getAttributeNamed(singleSideAttibute.getName()) == null){
-			   refreshEntityModel(fp, singleSideJPT);
-		//}
-		
-		JavaPersistentAttribute resolvedSingleSideAttribute = (JavaPersistentAttribute) singleSideJPT
-				.resolveAttribute(singleSideAttibute.getName());
-		resolvedSingleSideAttribute
-				.setMappingKey(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
-		if (direction == JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL) {
-			resolvedSingleSideAttribute.getJpaProject().getRootContextNode()
-					.update();
-			JpaArtifactFactory.instance().refreshEntityModel(null, singleSideJPT);
-			JavaAttributeMapping mapping = resolvedSingleSideAttribute
-					.getMapping();
-			if (!mapping.getClass().isInstance(JavaOneToManyMapping.class)) 
-				return;
-			OneToManyAnnotation annotation = ((JavaOneToManyMapping)mapping).getMappingAnnotation();
-			if (annotation == null) {
-				JpaArtifactFactory.instance().refreshEntityModel(null, singleSideJPT);
-				mapping = resolvedSingleSideAttribute.getMapping();
-				annotation = ((JavaOneToManyMapping)mapping).getMappingAnnotation();
-			}
-			
-			if(annotation == null){
-				JpaArtifactFactory.instance().refreshEntityModel(null, singleSideJPT);
-				annotation = ((JavaOneToManyMapping)resolvedSingleSideAttribute
-					.getMapping()).getMappingAnnotation();
-			}
-			annotation.setMappedBy(manySideAttribute.getName());						
-			
-		}
-		if (isMap)
-			singleSideAttibute.getResourceAttribute().addAnnotation(MapKeyAnnotation.ANNOTATION_NAME);
-		if (direction == JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL) {
-			if(manySideJPT.getAttributeNamed(manySideAttribute.getName()) == null){
-				   refreshEntityModel(fp, manySideJPT);
-			}
-			
-			JavaPersistentAttribute resolvedManySideAttribute = (JavaPersistentAttribute) manySideJPT
-					.resolveAttribute(manySideAttribute.getName());
-			resolvedManySideAttribute.setMappingKey(MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY);
-		} else {
-			addJoinColumnIfNecessary(resolvedSingleSideAttribute, singleSideJPT, fp);
-		}		
-	}
-	
-	private void addJoinColumnIfNecessary(JavaPersistentAttribute jpa,
-			JavaPersistentType jpt, IFeatureProvider fp) {
-
-		if (JPAEditorUtil.checkJPAFacetVersion(jpa.getJpaProject(), "1.0") || //$NON-NLS-1$
-				JPADiagramPropertyPage.shouldOneToManyUnidirBeOldStyle(jpa
-						.getJpaProject().getProject()))
-			return;
-		JavaPersistentAttribute[] ids = getIds(jpt);
-		if (ids.length == 0)
-			return;
-		final String tableName = getTableName(jpt);
-		if (ids.length == 1) {
-			if (isSimpleId(ids[0])) {
-				JoinColumnAnnotation an = (JoinColumnAnnotation) jpa
-						.getResourceAttribute().addAnnotation(0, 
-								JoinColumnAnnotation.ANNOTATION_NAME);
-				String idColName = getColumnName(ids[0]);
-				an.setName(tableName + "_" + idColName); //$NON-NLS-1$
-				an.setReferencedColumnName(idColName);
-			} else {
-				Hashtable<String, String> atNameToColName = getOverriddenColNames(ids[0]);
-				PersistenceUnit pu = getPersistenceUnit(jpt);
-				String embeddableTypeName = ids[0].getTypeName();
-				Embeddable emb = pu.getEmbeddable(embeddableTypeName);
-				for (AttributeMapping am : emb.getAllAttributeMappings()) {
-					JoinColumnAnnotation jc = (JoinColumnAnnotation) jpa.getResourceAttribute().addAnnotation(jpa.getResourceAttribute().getAnnotationsSize(JoinColumnAnnotation.ANNOTATION_NAME), JoinColumnAnnotation.ANNOTATION_NAME);
-					JavaPersistentAttribute at = (JavaPersistentAttribute) am
-							.getPersistentAttribute();
-					String idColName = atNameToColName.get(at.getName());
-					idColName = (idColName != null) ? idColName
-							: getColumnName(at);
-					jc.setName(tableName + "_" + idColName); //$NON-NLS-1$
-					jc.setReferencedColumnName(idColName);
-				}
-			}
-		} else {
-			for (JavaPersistentAttribute idAt : ids) {
-				JoinColumnAnnotation jc = (JoinColumnAnnotation) jpa.getResourceAttribute().addAnnotation( jpa.getResourceAttribute().getAnnotationsSize(JoinColumnAnnotation.ANNOTATION_NAME), JoinColumnAnnotation.ANNOTATION_NAME);
-				String idColName = getColumnName(idAt);
-				jc.setName(tableName + "_" + idColName); //$NON-NLS-1$
-				jc.setReferencedColumnName(idColName);
-			}
-		}
-	}
-
-	private Hashtable<String, String> getOverriddenColNames(
-			JavaPersistentAttribute embIdAt) {
-		Hashtable<String, String> res = new Hashtable<String, String>();
-		AttributeOverrideAnnotation aon = (AttributeOverrideAnnotation) embIdAt
-				.getResourceAttribute().getAnnotation(0, 
-						AttributeOverrideAnnotation.ANNOTATION_NAME);
-		if (aon != null) {
-			ColumnAnnotation colAn = aon.getColumn();
-			if (colAn == null)
-				return res;
-			String colName = colAn.getName();
-			if (colName == null)
-				return res;
-			res.put(aon.getName(), colName);
-			return res;
-		}
-		Iterable<AttributeOverrideAnnotation> it = new SubListIterableWrapper<NestableAnnotation, AttributeOverrideAnnotation>(
-			embIdAt.getResourceAttribute().getAnnotations(AttributeOverrideAnnotation.ANNOTATION_NAME));
-		for (AttributeOverrideAnnotation an : it) {
-			ColumnAnnotation colAn = an.getColumn();
-			if (colAn == null)
-				continue;
-			String colName = colAn.getName();
-			if (colName == null)
-				continue;
-			res.put(an.getName(), colName);
-		}
-		return res;
-	}	
-	
-	
-	public void addManyToOneUnidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt, 
-												   JavaPersistentAttribute attribute) {
-		
-		addManyToOneRelation(fp, jpt, attribute, null, null,
-				JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL, false);
-	}
-	
-	public void addManyToOneRelation(IFeatureProvider fp, JavaPersistentType manySideJPT, 
-									 JavaPersistentAttribute manySideAttribute, 
-									 JavaPersistentType singleSideJPT, 
-									 JavaPersistentAttribute singleSideAttibute, 
-									 int direction, boolean isMap) {
-		
-		refreshEntityModel(fp, manySideJPT);
-		
-		JavaPersistentAttribute resolvedManySideAttribute = manySideJPT.getAttributeNamed(manySideAttribute.getName());
-		resolvedManySideAttribute.setMappingKey(MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY);
-		
-		if (direction == JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL) 
-			return;
-		
-		JavaPersistentAttribute resolvedSingleSideAttribute = singleSideJPT.getAttributeNamed(singleSideAttibute.getName());
-		resolvedSingleSideAttribute.setMappingKey(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
-		refreshEntityModel(fp, singleSideJPT);
-		JavaOneToManyMapping mapping = (JavaOneToManyMapping)resolvedSingleSideAttribute.getMapping();
-		OneToManyAnnotation a = mapping.getMappingAnnotation();
-		if (a == null) 
-			return;
-		a.setMappedBy(manySideAttribute.getName());
-		if (isMap)
-			singleSideAttibute.getResourceAttribute().addAnnotation(MapKeyAnnotation.ANNOTATION_NAME);
-	}
-	
-	public void addManyToManyBidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt1, 
-			JavaPersistentAttribute attribute1, JavaPersistentType jpt2,
-												   JavaPersistentAttribute attribute2, boolean isMap) {
-		
-		addManyToManyRelation(fp, jpt1, attribute1, jpt2, attribute2,
-				JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL, isMap);
-	}
-	
-	public void addManyToManyUnidirectionalRelation(IFeatureProvider fp, JavaPersistentType annotatedJPT,
-													JavaPersistentAttribute annotatedAttribute, boolean isMap) {
-		
-		addManyToManyRelation(fp, annotatedJPT, annotatedAttribute, null, null,
-				JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL, isMap);
-	}
-	
-	public void addManyToManyRelation(IFeatureProvider fp, JavaPersistentType ownerSideJPT, 
-									  JavaPersistentAttribute ownerSideAttribute, 
-									  JavaPersistentType inverseSideJPT, 
-			JavaPersistentAttribute inverseSideAttibute, int direction, boolean isMap) {
-		
-		if(ownerSideJPT.getAttributeNamed(ownerSideAttribute.getName()) == null){
-			   refreshEntityModel(fp, ownerSideJPT);
-		}
-		
-		JavaPersistentAttribute resolvedOwnerSideAttribute = (JavaPersistentAttribute) ownerSideJPT
-				.resolveAttribute(ownerSideAttribute.getName());
-		resolvedOwnerSideAttribute
-				.setMappingKey(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
-		if (isMap)
-			resolvedOwnerSideAttribute.getResourceAttribute().addAnnotation(MapKeyAnnotation.ANNOTATION_NAME);
-		
-		if (direction == JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL) {
-			JpaArtifactFactory.instance().refreshEntityModel(null, inverseSideJPT);
-			/*
-			if(inverseSideJPT.getAttributeNamed(inverseSideAttibute.getName()) == null){
-				   refreshEntityModel(fp, inverseSideJPT);
-			}
-			*/
-			
-			JavaPersistentAttribute resolvedInverseSideAttribute = (JavaPersistentAttribute) inverseSideJPT
-					.resolveAttribute(inverseSideAttibute.getName());
-			resolvedInverseSideAttribute
-					.setMappingKey(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
-			resolvedInverseSideAttribute.getJpaProject().getRootContextNode()
-					.update();
-			
-			JavaManyToManyMapping mapping = (JavaManyToManyMapping) resolvedInverseSideAttribute
-					.getMapping();
-			ManyToManyAnnotation a = mapping.getMappingAnnotation();
-			if(mapping == null || a == null){
-				JpaArtifactFactory.instance().refreshEntityModel(null, inverseSideJPT);
-				mapping = (JavaManyToManyMapping) resolvedInverseSideAttribute
-					.getMapping();
-				a = mapping.getMappingAnnotation();
-			}
-			if (a == null)
-				return;
-			a.setMappedBy(ownerSideAttribute.getName());	
-			if (isMap)
-				resolvedInverseSideAttribute.getResourceAttribute().addAnnotation(MapKeyAnnotation.ANNOTATION_NAME);
-		}		
-		
-	}
-		
-	public void restoreEntityClass(JavaPersistentType jpt,
-			IJPAEditorFeatureProvider fp) {
-		fp.restoreEntity(jpt);
-	}    	
-	
-	public void forceSaveEntityClass(final JavaPersistentType jpt,
-			IJPAEditorFeatureProvider fp) {
-		final ICompilationUnit cu = fp.getCompilationUnit(jpt);
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				try {
-					if (cu.isWorkingCopy()) 
-						cu.commitWorkingCopy(true, new NullProgressMonitor());
-					cu.save(new NullProgressMonitor(), true);
-				} catch (JavaModelException e) {
-					if (cu.getResource().getProject().isAccessible() && cu.getResource().isAccessible())
-						JPADiagramEditorPlugin.logError("Cannot save entity '" + jpt.getName() + "'", e);	//$NON-NLS-1$		//$NON-NLS-2$		
-				}
-			}
-		});
-	}
-	
-	public boolean deleteEntityClass(JavaPersistentType jpt, 
-									 IJPAEditorFeatureProvider fp) {
-		ICompilationUnit cu = fp.getCompilationUnit(jpt);
-		try {
-			JpaProject jpaProject = jpt.getJpaProject();
-			JPAEditorUtil.discardWorkingCopy(cu);
-			cu.delete(true, new NullProgressMonitor());
-			return true;			
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError("Cannot delete the JPA entity class", e); //$NON-NLS-1$				
-			return false;
-		}
-	} 
-	   
-	public void deletePersistenceTypeResource(PersistentType type)
-			throws CoreException {
-		JpaProject proj = type.getJpaProject();
-		String typeName = type.getName();
-		IResource entityResource = type.getResource();
-		//type.dispose();
-		entityResource.delete(true, new NullProgressMonitor());	
-		int cnt = 0;
-		JavaPersistentType jpt = getContextPersistentType(proj, typeName);
-		while ((jpt != null) && (cnt < MAX_NUM_OF_ITERATIONS)) {
-			try {
-				Thread.sleep(PAUSE_DURATION);
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError("Sleep interrupted", e); //$NON-NLS-1$				
-			}
-			cnt++;
-		}
-	}
-
-	public JavaPersistentType getContextPersistentType(JpaProject jpaProject, 
-													   String fullyQualifiedTypeName) {
-		
-		PersistenceUnit unit = getPersistenceUnit(jpaProject);
-		for (ClassRef ref : unit.getClassRefs()) {
-			JavaPersistentType jpt = ref.getJavaPersistentType(); 
-			if ((jpt != null) && jpt.getName().equals(fullyQualifiedTypeName)) {
-				return ref.getJavaPersistentType();
-			}
-		} 
-		return null;
-	}
-	
-	/*
-	 * Return name of the entity from @Entity(name="...").
-	 * If there is no such annotation, returns the 
-	 * fully qualified name of the class
-	 */
-	public String getEntityName(JavaPersistentType jpt) {
-		if (jpt == null)
-			return "";	//$NON-NLS-1$
-		JavaResourceType jrpt = convertJPTToJRT(jpt);
-		if (jrpt == null) 
-			return "";	//$NON-NLS-1$
-		
-		String name = null;
-		JavaTypeMapping mapping = jpt.getMapping();
-		if ((mapping != null) && JavaEntity.class.isInstance(mapping))
-			name = ((JavaEntity)mapping).getSpecifiedName();
-		if (name == null)
-			name = jpt.getName();
-		return name;
-		}
-								
-	public boolean hasNameAnnotation(JavaPersistentType jpt) {
-		if (jpt == null)
-			return false;
-		JavaResourceType jrpt = convertJPTToJRT(jpt);
-		if (jrpt == null)
-			return false;
-		JavaEntity mapping = (JavaEntity) jpt.getMapping();
-		if (mapping != null)
-			return (mapping.getSpecifiedName() != null);
-		return false;
-							}
-	
-	/*
-	@SuppressWarnings("unchecked")
-	public String getAttributeName(JavaPersistentAttribute jpa) {
-		
-		JavaResourcePersistentType jrpt = jpa.getJpaProject()
-				.getJavaResourcePersistentType(jpa.getName());
-		ASTNode nd = jrpt.getMember().getModifiedDeclaration().getDeclaration();
-		if (nd instanceof TypeDeclaration) {
-			ListIterator<?> modfs = ((TypeDeclaration) nd).modifiers()
-					.listIterator();
-			while (modfs.hasNext()) {
-				Object modf = modfs.next();
-				if (modf instanceof NormalAnnotation) {
-					NormalAnnotation an = (NormalAnnotation)modf;
-						List<MemberValuePair> vals = an.values();
-						if (vals != null) {
-							for (int i = 0; i < vals.size(); i++) {
-								MemberValuePair mvp = vals.get(i);
-								if (mvp.getName().toString().equals("name")) ; //$NON-NLS-1$
-							return JPAEditorUtil.stripQuotes(mvp.getValue()
-									.toString());
-								
-							}
-						}
-				} 			
-			}
-		}		
-		return jpa.getName();
-	}
-	*/
-	
-	public boolean hasEntityAnnotation(JavaPersistentType jpt) {
-		return (jpt.getMapping() instanceof JavaEntity);
-	}	
-	
-	public String getSpecifiedEntityName(JavaPersistentType jpt){
-		JavaEntity gje = (JavaEntity) jpt.getMapping();
-		return gje.getSpecifiedName();
-	}
-	
-	public void renameEntity(JavaPersistentType jpt, String newName) {
-		JavaEntity gje = (JavaEntity)jpt.getMapping();
-		gje.setSpecifiedName(newName);	
-	}
-	
-	public JavaPersistentAttribute addAttribute(IJPAEditorFeatureProvider fp, JavaPersistentType jpt, 
-			JavaPersistentType attributeType,  String attributeName,
-			String actName, boolean isCollection, ICompilationUnit cu1,
-			ICompilationUnit cu2) {
-		
-		return addAttribute(fp, jpt, attributeType, null, attributeName,
-				actName, isCollection, cu1, cu2);
-	}
-	
-	public JavaPersistentAttribute addAttribute(IJPAEditorFeatureProvider fp, JavaPersistentType jpt, 
-												JavaPersistentType attributeType, String mapKeyType, String attributeName,
-												String actName, boolean isCollection, ICompilationUnit cu1,
-												ICompilationUnit cu2) {
-		IType type = null;
-		try {
-			JPAEditorUtil.createImport(cu1, cu2.getType(attributeType.getName()).getElementName());
-			type = cu1.findPrimaryType();	
-			refreshEntityModel(fp, jpt);
-			if (doesAttributeExist(jpt, actName)) {
-				return (JavaPersistentAttribute) jpt
-						.resolveAttribute(attributeName);
-			}
-			if (isCollection) {
-				IProject project = jpt.getJpaProject().getProject();
-				Properties props = fp.loadProperties(project);
-
-				if (JPADiagramPropertyPage.isCollectionType(project, props)) {
-					createContentType(attributeType, actName, cu1, type, COLLECTION_TYPE);
-					type.createMethod(genGetterWithAppropriateType(attributeName,
-							JPAEditorUtil.returnSimpleName(attributeType.getName()), 
-							actName, COLLECTION_TYPE), null, false,
-							new NullProgressMonitor());
-					type.createMethod(genSetterWithAppropriateType(attributeName,
-							JPAEditorUtil.returnSimpleName(attributeType.getName()), 
-							actName, COLLECTION_TYPE), null, false,
-							new NullProgressMonitor());
-				} else if (JPADiagramPropertyPage.isListType(project, props)) {
-					createContentType(attributeType, actName, cu1, type, LIST_TYPE);
-					type.createMethod(genGetterWithAppropriateType(attributeName,
-							JPAEditorUtil.returnSimpleName(attributeType.getName()), 
-							actName, LIST_TYPE), null, false,
-							new NullProgressMonitor());
-					type.createMethod(genSetterWithAppropriateType(attributeName,
-							JPAEditorUtil.returnSimpleName(attributeType.getName()), 
-							actName, LIST_TYPE), null, false,
-							new NullProgressMonitor());
-				} else if (JPADiagramPropertyPage.isSetType(project, props)) {
-					createContentType(attributeType, actName, cu1, type, SET_TYPE);
-					type.createMethod(genGetterWithAppropriateType(attributeName,
-							JPAEditorUtil.returnSimpleName(attributeType.getName()), 
-							actName, SET_TYPE), null, false,
-							new NullProgressMonitor());
-					type.createMethod(genSetterWithAppropriateType(attributeName,
-							JPAEditorUtil.returnSimpleName(attributeType.getName()), 
-							actName, SET_TYPE), null, false,
-							new NullProgressMonitor());
-				} else {
-					mapKeyType = createContentType(mapKeyType, attributeType, actName, cu1, type, MAP_TYPE);
-					type.createMethod(genGetterWithAppropriateType(attributeName, mapKeyType,
-							JPAEditorUtil.returnSimpleName(attributeType.getName()), 
-							actName, MAP_TYPE), null, false,
-							new NullProgressMonitor());
-					type.createMethod(genSetterWithAppropriateType(attributeName, mapKeyType,
-							JPAEditorUtil.returnSimpleName(attributeType.getName()), 
-							actName, MAP_TYPE), null, false,
-							new NullProgressMonitor());
-				}
-			} else {
-				type
-						.createField(
-								"  private " + JPAEditorUtil.returnSimpleName(attributeType.getName()) + " " + JPAEditorUtil.decapitalizeFirstLetter(actName) + ";", null, false, new NullProgressMonitor()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				type.createMethod(genGetterContents(attributeName,
-						JPAEditorUtil.returnSimpleName(attributeType.getName()), null,
-						actName, null, isCollection), null, false,
-						new NullProgressMonitor());
-				type.createMethod(genSetterContents(attributeName,
-						JPAEditorUtil.returnSimpleName(attributeType.getName()), null,
-						actName, isCollection), null, false,
-						new NullProgressMonitor());
-			}
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError("Cannnot create a new attribute with name " + attributeName, e); //$NON-NLS-1$				
-		}
-		
-		if(jpt.getAttributeNamed(attributeName) == null){
-			   refreshEntityModel(fp, jpt);
-		}
-		
-		JavaPersistentAttribute res =  getAttributeFromEntity(jpt, actName);
-		return res;
-	}
-
-	private void createContentType(JavaPersistentType attributeType,
-			String actName, ICompilationUnit cu1, IType type, String collectionType)
-			throws JavaModelException {
-		createContentType(null, attributeType,
-				actName, cu1, type, collectionType);
-	}
-	
-	private String createContentType(String mapKeyType, JavaPersistentType attributeType,
-			String actName, ICompilationUnit cu1, IType type, String collectionType)
-			throws JavaModelException {
-		
-		if (mapKeyType != null) {
-			mapKeyType = JPAEditorUtil.createImport(cu1, mapKeyType); 
-		}
-		JPAEditorUtil.createImport(cu1, collectionType);
-		type.createField(
-				"  private " + JPAEditorUtil.returnSimpleName(collectionType) + "<" +//$NON-NLS-1$ //$NON-NLS-2$
-				((mapKeyType != null) ? (mapKeyType + ", ") : "") +			//$NON-NLS-1$ //$NON-NLS-2$
-				JPAEditorUtil.returnSimpleName(attributeType.getName()) + "> " + JPAEditorUtil.decapitalizeFirstLetter(actName) +  //$NON-NLS-1$
-				";", null, false, new NullProgressMonitor()); //$NON-NLS-1$ 
-		return mapKeyType;
-	}
-	
-	public void refreshEntityModel(IFeatureProvider fp, JavaPersistentType jpt) {
-		if(convertJPTToJRT(jpt) == null)
-			return;
-		if (fp == null) {
-			jpt.update();
-			return;
-		}
-		Shape el = (Shape) fp.getPictogramElementForBusinessObject(jpt);
-		if(JPACheckSum.INSTANCE().isEntityModelChanged(el, jpt.getJpaProject())){
-			try {
-				jpt.update();
-			} catch (ArrayIndexOutOfBoundsException e) {
-				
-			}
-		}
-	}
-	
-	public boolean isCollection(ContainerShape entityShape,
-			IJPAEditorFeatureProvider fp, String attrTxt) {
-		Object ob = fp.getBusinessObjectForPictogramElement(entityShape);
-		if(ob instanceof JavaPersistentType){
-			JavaPersistentType jpt = (JavaPersistentType) ob;
-			ICompilationUnit cu = fp.getCompilationUnit(jpt);
-				IType type = cu.getType(JPAEditorUtil.returnSimpleName(jpt.getName()));
-			IField field = type.getField(attrTxt);
-			int cnt = 0;
-			while ((cnt < 20) && !field.exists()) {
-				try {
-					Thread.sleep(250);
-				} catch (InterruptedException e) {
-					JPADiagramEditorPlugin.logError("Sleep interrupted", e); //$NON-NLS-1$				
-				}
-				field = type.getField(attrTxt);
-				cnt++;
-			}
-			if (field.exists()) {
-				try {
-					if(field.getTypeSignature().contains("List") || field.getTypeSignature().contains("Set") //$NON-NLS-1$ //$NON-NLS-2$
-							|| field.getTypeSignature().contains("Collection") || field.getTypeSignature().contains("Map") //$NON-NLS-1$ //$NON-NLS-2$
-							|| field.getTypeSignature().endsWith("[]")) //$NON-NLS-1$
-						return true;
-				} catch (JavaModelException e) {
-					JPADiagramEditorPlugin.logError(JPAEditorMessages.JpaArtifactFactory_CanNotCheckReturnType +
-							" " + attrTxt + "\"", e); //$NON-NLS-1$		//$NON-NLS-2$		
-				}				
-			}
-		}
-		return false;
-	}
-
-	public boolean isGetterMethodReturnTypeCollection(
-			ContainerShape entityShape, IJPAEditorFeatureProvider fp,
-			String attrTxt) {
-		Object ob = fp.getBusinessObjectForPictogramElement(entityShape);
-		if(ob instanceof JavaPersistentType){
-		JavaPersistentType jpt = (JavaPersistentType) ob;
-		ICompilationUnit cu = fp.getCompilationUnit(jpt);
-			IType type = cu.getType(JPAEditorUtil.returnSimpleName(jpt.getName()));
-			String attrNameWithCapitalLetter = attrTxt.substring(0, 1)
-					.toUpperCase(Locale.ENGLISH)
-					+ attrTxt.substring(1);
-		String methodName = "get" + attrNameWithCapitalLetter;  //$NON-NLS-1$
-		IMethod method = type.getMethod(methodName, new String[0]);
-		try {
-			if(method.getReturnType().contains("List") || method.getReturnType().contains("Set") //$NON-NLS-1$ //$NON-NLS-2$
-					|| method.getReturnType().contains("Collection") || method.getReturnType().contains("Map") //$NON-NLS-1$ //$NON-NLS-2$
-					|| method.getReturnType().endsWith("[]")) //$NON-NLS-1$
-			  return true;
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError(JPAEditorMessages.JpaArtifactFactory_CanNotCheckReturnType + 
-					" " + attrTxt + "\"", e); //$NON-NLS-1$		//$NON-NLS-2$		
-		}
-		}
-		return false;
-	}
-	
-	public String createNewAttribute(JavaPersistentType jpt, 
-			boolean isCollection, IJPAEditorFeatureProvider fp) {
-		
-		ICompilationUnit ijl = fp.getCompilationUnit(jpt);
-		String attrTypeName = "java.lang.String"; 																	//$NON-NLS-1$
-		String newAttrName = genUniqueAttrName(jpt, attrTypeName, fp);
-		return addNewAttribute(jpt, ijl, newAttrName, attrTypeName,
-				"@Basic", newAttrName, isCollection, fp); //$NON-NLS-1$
-	}
-	
-	/*
-	 * public String createNewAttribute(JavaPersistentType jpt, String attrName,
-	 * String attrTypeName, String annotation, String actName, boolean
-	 * isCollection, JPAEditorFeatureProvider fp) {
-	 * 
-	 * ICompilationUnit ijl = fp.getCompilationUnit(jpt); return
-	 * addNewAttribute(jpt, ijl, attrName, attrTypeName, annotation, actName,
-	 * isCollection, fp); }
-	*/
-	
-	public JavaPersistentAttribute createANewAttribute(JavaPersistentType jpt, 
-			String attrName, String attrTypeName, String[] attrTypeElementNames,
-			String actName, List<String> annotations, boolean isCollection,
-			boolean isMethodAnnotated, IJPAEditorFeatureProvider fp) {
-		
-		ICompilationUnit ijl = fp.getCompilationUnit(jpt);
-		return addANewAttribute(jpt, ijl, attrName, attrTypeName,
-				attrTypeElementNames, actName, annotations, isCollection,
-				isMethodAnnotated, fp);
-	}
-		
-	private JavaPersistentAttribute addANewAttribute(JavaPersistentType jpt, 
-			ICompilationUnit cu, String attrName, String attrTypeName,
-			String[] attrTypeElementNames, String actName,
-			List<String> annotations, boolean isCollection,
-			boolean isMethodAnnotated, IJPAEditorFeatureProvider fp) {
-		
-		JavaPersistentAttribute attr = null;
-		try {
-			attr = makeNewAttribute(fp, jpt, cu, attrName, attrTypeName,
-					attrTypeElementNames, actName, annotations, isCollection,
-					isMethodAnnotated);
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError("Cannot create a new attribute with name " + attrName, e); //$NON-NLS-1$		
-		}
-		return attr;						
-	}
-	
-	public String addNewAttribute(JavaPersistentType jpt, ICompilationUnit cu,
-			String attrName, String attrTypeName, String annotation,
-			String actName, boolean isCollection, IJPAEditorFeatureProvider fp) {
-		
-		try {
-			List<String> annotations = new LinkedList<String>();
-			annotations.add(annotation);
-			boolean isMethodAnnotated = JpaArtifactFactory.instance()
-					.isMethodAnnotated(jpt);
-			makeNewAttribute(fp, jpt, cu, attrName, attrTypeName, null, actName,
-					annotations, isCollection, isMethodAnnotated);
-		} catch (JavaModelException e) {
-			JPADiagramEditorPlugin.logError("Cannot create a new attribute with name " + attrName, e); //$NON-NLS-1$		
-		}
-		return attrName;				
-	}
-	
-	public JavaPersistentAttribute makeNewAttribute(IFeatureProvider fp, JavaPersistentType jpt, 
-			ICompilationUnit cu, String attrName, String attrTypeName,
-			String[] attrTypes, String actName,
-			List<String> annotations, boolean isCollection,
-			boolean isMethodAnnotated) throws JavaModelException {
-		
-		IType type = cu.findPrimaryType();
-		String contents = ""; 														//$NON-NLS-1$
-		isMethodAnnotated = (annotations != null) && (!annotations.isEmpty()) ? isMethodAnnotated
-				: JpaArtifactFactory.INSTANCE.isMethodAnnotated(jpt);
-		
-		if (!isMethodAnnotated) {
-			if (annotations != null) {
-				Iterator<String> it = annotations.iterator();
-				while (it.hasNext()) {
-					String an = it.next();
-					contents += "   " + an + "\n"; //$NON-NLS-1$ //$NON-NLS-2$
-				}							
-			}
-		}
-		
-		if(annotations!=null && annotations.contains("@Basic")){ //$NON-NLS-1$
-			if(!cu.getImport("javax.persistence.*").exists() && !cu.getImport("javax.persistence.Basic").exists()){ //$NON-NLS-1$ //$NON-NLS-2$
-				JPAEditorUtil.createImports(cu, "javax.persistence.Basic"); //$NON-NLS-1$
-			}
-		}
-		
-		boolean shouldAddImport = true;
-		IImportDeclaration[] importDeclarations = cu.getImports();
-		String attrShortTypeName = JPAEditorUtil.returnSimpleName(attrTypeName);
-		for(IImportDeclaration importDecl : importDeclarations){
-			String importedDeclarationFQN = importDecl.getElementName();
-			String importedDeclarationShortName = JPAEditorUtil.returnSimpleName(importedDeclarationFQN);
-			if(attrShortTypeName.equals(importedDeclarationShortName) && !attrTypeName.equals(importedDeclarationFQN))
-				shouldAddImport = false;
-		}
-		
-		if(shouldAddImport){
-			JPAEditorUtil.createImports(cu, attrTypeName);
-		    attrTypeName = JPAEditorUtil.returnSimpleName(attrTypeName);
-		}
-		if ((attrTypes != null) && (attrTypes.length > 0)) {
-			JPAEditorUtil.createImports(cu, attrTypes);
-		}
-		
-		contents += "    private " + attrTypeName + //$NON-NLS-1$
-				((attrTypes == null) ? "" : ("<" + JPAEditorUtil.createCommaSeparatedListOfSimpleTypeNames(attrTypes) + ">")) + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				" " + attrName + ";"; //$NON-NLS-1$ //$NON-NLS-2$		
-
-		type.createMethod(
-				genSetterContents(attrName, attrTypeName, attrTypes,
-						actName, isCollection), null, false,
-				new NullProgressMonitor());
-		if (isMethodAnnotated) {
-			type.createMethod(
-					genGetterContents(attrName, attrTypeName,
-							attrTypes, actName, annotations,
-							isCollection), null, false,
-					new NullProgressMonitor());
-			type.createField(contents, null, false, new NullProgressMonitor());
-		} else {
-			type.createField(contents, null, false, new NullProgressMonitor());
-			type.createMethod(
-					genGetterContents(attrName, attrTypeName,
-							attrTypes, actName, null, isCollection),
-					null, false, new NullProgressMonitor());
-		}		
-		
-		int cnt = 0;
-		refreshEntityModel(fp, jpt);
-		JavaPersistentAttribute jpa = jpt.getAttributeNamed(attrName);
-		while ((jpa == null) && (cnt < 25)) {
-			try {
-				Thread.sleep(250);
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError(e);
-			}
-			jpa = jpt.getAttributeNamed(attrName);
-			cnt++;
-		}
-			
-		/*
-		if(jpt.getAttributeNamed(attrName) == null){
-			   refreshEntityModel(fp, jpt);
-		}
-		*/
-		
-		return getAttributeFromEntity(jpt, attrName);
-	}
-		
-	public void deleteAttribute(JavaPersistentType jpt, String attributeName,
-								IJPAEditorFeatureProvider fp) {
-		
-		String attrNameWithCapitalLetter = attributeName.substring(0, 1)
-				.toUpperCase(Locale.ENGLISH)
-				+ attributeName.substring(1);
-		ICompilationUnit compUnit = fp.getCompilationUnit(jpt);		
-		IType javaType = compUnit.findPrimaryType();
-		String typeSignature = null;
-		String getterPrefix = "get"; 			//$NON-NLS-1$
-		String methodName = getterPrefix + attrNameWithCapitalLetter; 
-		IMethod getAttributeMethod = javaType.getMethod(methodName,
-				new String[0]);
-		if (!getAttributeMethod.exists()) {
-			JavaPersistentAttribute jpa = jpt.getAttributeNamed(attributeName);
-			String typeName = jpa.getResourceAttribute().getTypeName();
-			if ("boolean".equals(typeName)) {										//$NON-NLS-1$
-				getterPrefix = "is";												//$NON-NLS-1$
-				methodName = getterPrefix + attrNameWithCapitalLetter; 				
-				getAttributeMethod = javaType.getMethod(methodName,
-						new String[0]);
-			}		
-			try {
-				if ((getAttributeMethod != null) && getAttributeMethod.exists());
-					typeSignature = getAttributeMethod.getReturnType();
-			} catch (JavaModelException e1) {
-				JPADiagramEditorPlugin.logError("Cannot obtain the type of the getter with name " + methodName + "()", e1); 	//$NON-NLS-1$	//$NON-NLS-2$
-			}			
-		}
-		if (typeSignature == null)
-		 	methodName = null;		
-		
-		boolean isMethodAnnotated = JpaArtifactFactory.instance()
-				.isMethodAnnotated(jpt);
-		if (isMethodAnnotated) {
-			try {
-				IField attributeField = javaType.getField(attributeName);
-				
-				if ((attributeField != null) && !attributeField.exists())
-					attributeField = javaType.getField(JPAEditorUtil.revertFirstLetterCase(attributeName));
-				if ((attributeField != null) && attributeField.exists()) 
-					attributeField.delete(true, new NullProgressMonitor());
-			} catch (JavaModelException e) {
-				JPADiagramEditorPlugin.logError("Cannot remove the attribute field with name " + attributeName, e); 	//$NON-NLS-1$	
-			} 
-			try {
-				methodName = getterPrefix + attrNameWithCapitalLetter; //$NON-NLS-1$
-				if (getAttributeMethod != null) {
-					typeSignature = getAttributeMethod.getReturnType();
-					if (getAttributeMethod.exists())
-						getAttributeMethod.delete(true, new NullProgressMonitor());
-				}
-			} catch (JavaModelException e) {
-				JPADiagramEditorPlugin.logError("Cannot remove the attribute getter with name " + methodName + "()", e); 	//$NON-NLS-1$	 //$NON-NLS-2$
-			} 	
-		} else {
-			try {
-				methodName = getterPrefix + attrNameWithCapitalLetter; //$NON-NLS-1$
-				if (getAttributeMethod.exists()) {
-					typeSignature = getAttributeMethod.getReturnType();
-					getAttributeMethod.delete(true, new NullProgressMonitor());
-				}
-			} catch (JavaModelException e) {
-				JPADiagramEditorPlugin.logError("Cannot remove the attribute getter with name " + methodName + "()", e); 	//$NON-NLS-1$	 //$NON-NLS-2$
-			} 	
-			try {
-				IField attributeField = javaType.getField(attributeName);
-				if (attributeField != null)
-					if (!attributeField.exists())
-						attributeField = javaType.getField(JPAEditorUtil.revertFirstLetterCase(attributeName));			
-				if ((attributeField != null) && attributeField.exists())
-					attributeField.delete(true, new NullProgressMonitor());
-			} catch (JavaModelException e) {
-				JPADiagramEditorPlugin.logError("Cannot remove the attribute field with name " + attributeName, e); 	//$NON-NLS-1$	
-			} 			
-		}
-		try {
-			methodName = "set" + attrNameWithCapitalLetter; //$NON-NLS-1$
-			IMethod setAttributeMethod = javaType.getMethod(methodName,
-					new String[] { typeSignature });
-			if ((setAttributeMethod != null) && setAttributeMethod.exists())
-				setAttributeMethod.delete(true, new NullProgressMonitor());
-		} catch (Exception e) {
-			JPADiagramEditorPlugin.logError("Cannot remove the attribute setter with name " + methodName + "(...)", e); //$NON-NLS-1$ //$NON-NLS-2$	
-		} 		
-		
-		refreshEntityModel(fp, jpt);
-		
-		ReadOnlyPersistentAttribute at = jpt.resolveAttribute(attributeName);
-		int c = 0;
-		while ((at != null) && (c < MAX_NUM_OF_ITERATIONS)) { 
-			try {
-				Thread.sleep(PAUSE_DURATION);
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError("Thread.sleep() interrupted", e); //$NON-NLS-1$		
-			}	
-			at = jpt.getAttributeNamed(attributeName);			
-			c++;
-		}
-	}
-
-	private String genUniqueAttrName(JavaPersistentType jpt, 
-			String attrTypeName, IJPAEditorFeatureProvider fp) {
-		
-		ICompilationUnit ijl = fp.getCompilationUnit(jpt);
-		IType type = null;
-		type = ijl.findPrimaryType();
-		Set<String> attrNames = new HashSet<String>();
-		for (String name : jpt.getAttributeNames()) {
-			attrNames.add(name);
-		}		
-		String name = null;
-		for (int i = 1; i < 10000000; i++) {
-			name = "attribute" + i;  	//$NON-NLS-1$
-			String attrNameWithCapitalLetter = JPAEditorUtil
-					.capitalizeFirstLetter(name);
-			String getterName = "get" + attrNameWithCapitalLetter; //$NON-NLS-1$
-			String setterName = "set" + attrNameWithCapitalLetter;  //$NON-NLS-1$
-			if (!attrNames.contains(name)) {
-				IField fld = type.getField(name);
-				IMethod getter = type.getMethod(getterName, new String[] {});
-				IMethod setter1 = type.getMethod(setterName,
-						new String[] { attrTypeName });
-				IMethod setter2 = type.getMethod(setterName,
-						new String[] { "QSet<Q" + attrTypeName + ";>;" }); //$NON-NLS-1$ //$NON-NLS-2$
-				IMethod setter3 = type
-						.getMethod(
-								setterName,
-								new String[] { "QCollection<Q" + attrTypeName + ";>;" }); //$NON-NLS-1$ //$NON-NLS-2$
-				IMethod setter4 = type.getMethod(setterName,
-						new String[] { "QSet;" }); //$NON-NLS-1$
-				IMethod setter5 = type.getMethod(setterName,
-						new String[] { "QCollection;" }); //$NON-NLS-1$
-				if (!fld.exists() && !getter.exists() && !setter1.exists()
-						&& !setter2.exists() && !setter3.exists()
-						&& !setter4.exists() && !setter5.exists())
-					break;
-			}
-		}
-		return name;
-	}
-		
-	public Annotation[] getAnnotations(JavaPersistentAttribute persistentAttribite) {	
-		JavaResourceAttribute jrpt = persistentAttribite.getResourceAttribute();
-		Annotation[] res = new Annotation[jrpt.getAnnotationsSize()];
-		                                  //mappingAnnotationsSize() + jrpt.supportingAnnotationsSize()];
-		int c = 0;
-		for (Annotation annotation : jrpt.getAnnotations()) {
-			res[c] = annotation;
-			c++;
-		}
-		/*
-		it = jrpt.supportingAnnotations();
-		while (it.hasNext()) {
-			res[c] = it.next();
-			c++;
-		}
-		*/
-		return res;
-	}		
-	
-	public HashSet<String> getAnnotationNames(
-			JavaPersistentAttribute persistentAttribite) {
-		
-		JavaResourceAttribute jrpt = persistentAttribite.getResourceAttribute();
-		HashSet<String> res = new HashSet<String>();
-		for (Annotation annotation : jrpt.getAnnotations()) {
-			res.add(JPAEditorUtil.returnSimpleName(annotation.getAnnotationName()));
-		}
-		/*
-		it = jrpt.supportingAnnotations();
-		while (it.hasNext()) 
-			res.add(JPAEditorUtil.cutFromLastDot(it.next().getAnnotationName()));
-		*/
-		return res;
-	}	
-	
-	public List<String> getAnnotationStrings(
-			JavaPersistentAttribute persistentAttribite) {
-		
-		JavaPersistentType jpt = (JavaPersistentType)persistentAttribite.getParent();
-		CompilationUnit jdtCU = jpt.getJavaResourceType().getJavaResourceCompilationUnit().buildASTRoot();
-		JavaResourceAttribute jrpt = persistentAttribite.getResourceAttribute();
-		List<String> res = new LinkedList<String>();
-		for (Annotation an : jrpt.getAnnotations()) {
-			org.eclipse.jdt.core.dom.Annotation jdtAn = an.getAstAnnotation(jdtCU);
-			res.add(jdtAn.toString());
-		}
-		/*
-		it = jrpt.supportingAnnotations();
-		while (it.hasNext()) { 
-			Annotation an = it.next();
-			org.eclipse.jdt.core.dom.Annotation jdtAn = an.getJdtAnnotation(jdtCU);
-			res.add(jdtAn.toString());
-		}
-		*/
-		return res;
-	}	
-		
-	private boolean isNonOwner(JavaPersistentAttribute at) {
-		JavaAttributeMapping jam = at.getMapping();
-		//if (jam.getMappingAnnotation() == null) {
-			JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)at.getParent());
-			jam = at.getMapping();
-		//}
-		if (!(jam.getMappingAnnotation() instanceof OwnableRelationshipMappingAnnotation))
-			return false;
-		OwnableRelationshipMappingAnnotation nom = (OwnableRelationshipMappingAnnotation)jam.getMappingAnnotation();
-		return nom.getMappedBy() != null;
-	}
-	
-	public Collection<IRelation> produceAllRelations(
-			JavaPersistentType newJPT, IJPAEditorFeatureProvider fp) {
-		
-		Collection<IRelation> res = produceRelations(newJPT, fp);
-		Iterator<IRelation> it = res.iterator();
-		HashSet<JavaPersistentType> checkedEntities = new HashSet<JavaPersistentType>();
-		while (it.hasNext()) {
-			IRelation rel = it.next();
-			checkedEntities.add(rel.getOwner());
-			checkedEntities.add(rel.getInverse());
-		}
-		List<Shape> shapes = fp.getDiagramTypeProvider().getDiagram()
-				.getChildren();
-		Iterator<Shape> iter = shapes.iterator();
-		while (iter.hasNext()) {
-			Shape sh = iter.next();
-			JavaPersistentType jpt = (JavaPersistentType) fp
-					.getBusinessObjectForPictogramElement(sh);
-			if (jpt == null)
-				continue;
-			//if (!checkedEntities.contains(jpt)) {
-				Collection<IRelation> rels = produceRelations(jpt, newJPT, fp);
-				res.addAll(rels);
-			//}
-		}
-		return res;
-	 }
-	
-	private Collection<IRelation> produceRelations(
-			JavaPersistentType newJPT, IJPAEditorFeatureProvider fp) {
-		
-		HashSet<IRelation> res = new HashSet<IRelation>();
-		for (JavaPersistentAttribute at : newJPT.getAttributes()) {
-			IRelation rel = produceRelation(at, fp);
-			if (rel != null)
-				res.add(rel);
-		}
-		return res;
-	}
-	
-	public boolean isRelationAnnotated(JavaPersistentAttribute jpa) {
-		
-		HashSet<String> anNames = getAnnotationNames(jpa);
-		Iterator<String> it = anNames.iterator();
-		while (it.hasNext()) {
-			String anName = it.next();
-			if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(anName))
-				return true;
-		}
-		return false;		
-	}
-	
-	public IRelation produceRelation(
-			JavaPersistentAttribute persistentAttribite,
-			IJPAEditorFeatureProvider fp) {
-		
-		JavaResourceAttribute jrpa = persistentAttribite
-				.getResourceAttribute();
-		
-		IRelation res = null;
-		Annotation[] ans = getAnnotations(persistentAttribite);
-		for (Annotation an : ans) {
-			String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
-			if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(annotationName)) {
-				String relTypeName = getRelTypeName((RelationshipMappingAnnotation)an, jrpa);
-				JavaPersistentType relJPT = (JavaPersistentType)fp.getBusinessObjectForKey(relTypeName);
-				if (relJPT != null) 
-					res = produceRelation(persistentAttribite, an, relJPT, fp);
-				return res;
-			}									
-		}
-		return res;
-				
-	}
-		
-	private Collection<IRelation> produceRelations(JavaPersistentType jpt1,
-			JavaPersistentType jpt2, IJPAEditorFeatureProvider fp) {
-		
-		Collection<IRelation> resSet = new HashSet<IRelation>();
-		IRelation res = null;
-		for (JavaPersistentAttribute at : jpt1.getAttributes()) {
-			IResource r = at.getParent().getResource();
-			if (!r.exists())
-				throw new RuntimeException();
-			try {
-				JavaResourceAttribute jrpa = at.getResourceAttribute();
-				Annotation[] ans = this.getAnnotations(at);
-				for (Annotation an : ans) {
-					String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
-					if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(annotationName)) {
-						String relTypeName = getRelTypeName((RelationshipMappingAnnotation)an, jrpa);
-						if (!relTypeName.equals(jpt2.getName()))
-							continue;
-						JavaPersistentType relJPT = (JavaPersistentType) fp
-								.getBusinessObjectForKey(jpt2.getName());
-						res = produceRelation(at, an, relJPT, fp);
-						if (res != null)
-							resSet.add(res);
-					}
-					
-				}				
-			} catch (Exception e) { 
-				throw new RuntimeException();
-			}
-			
-		}
-		return resSet;
-	}
-	
-	/**
-	 * Returns the relation annotation of the given attribute if there is any. If not - returns null
-	 * 
-	 * @param at
-	 * @return
-	 */
-	
-	/*
-	private IAnnotation getRelationAnnotation(JavaPersistentAttribute at) {
-		JavaResourcePersistentAttribute jrpa = at.getResourcePersistentAttribute();
-		IAnnotatable m = getAttributeMember(at);
-		IAnnotation[] ans = null;
-		try {
-			ans = m.getAnnotations();
-		} catch (JavaModelException e) {
-			tracer.error("", e);
-			return null;
-		}
-		for (IAnnotation an : ans) {
-			if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(JPAEditorUtil.cutFromLastDot(an.getElementName()))) {
-				return an;
-			}
-		}
-		return null;
-	}
-	*/
-	
-	/*
-	public JavaPersistentAttribute getRelatedAttribute(JavaPersistentType jpt,
-			JavaPersistentType relJPT) {
-
-		ListIterator<JavaPersistentAttribute> it = relJPT.attributes();
-		while (it.hasNext()) {
-			JavaPersistentAttribute relEntityAt = it.next();
-			JavaResourcePersistentAttribute jrpa = relEntityAt
-					.getResourcePersistentAttribute();
-			ASTNode nd = jrpa.getMember().getModifiedDeclaration()
-					.getDeclaration();
-			if ((nd instanceof MethodDeclaration)
-					|| (nd instanceof FieldDeclaration)) {
-				ListIterator<?> modfs = ((BodyDeclaration) nd).modifiers()
-						.listIterator();
-				while (modfs.hasNext()) {
-					Object modf = modfs.next();
-					if (modf instanceof Annotation) {
-						Annotation an = (Annotation) modf;
-						String annotationName = an.getTypeName()
-								.getFullyQualifiedName();
-						annotationName = annotationName
-								.substring(annotationName.lastIndexOf('.') + 1);
-						if (JPAEditorConstants.RELATION_ANNOTATIONS
-								.contains(annotationName)) {
-							String ownerTypeName = getRelTypeName(an, jrpa);
-							if (!ownerTypeName.equals(jpt.getName()))
-								continue;
-							return relEntityAt;
-						}
-					}
-				}
-			}
-
-		}
-		return null;
-	}
-	*/
-	
-	
-	/*
-	 * If the given attribute is relation annotated and points to some entity,
-	 * which is visualized in the diagram this method returns the pointed
-	 * entity. Otherwise - null
-	 */
-	
-	/*
-	public JavaPersistentType getRelatedEntity(JavaPersistentAttribute jpa, 
-											   IJPAEditorFeatureProvider fp) {
-		
-		JavaResourcePersistentAttribute jrpa = jpa
-				.getResourcePersistentAttribute();
-		IType t = jrpa.getJavaResourceCompilationUnit().getCompilationUnit().findPrimaryType();
-		IAnnotatable m = getAttributeMember(jpa);
-		IAnnotation[] ans = m.getAnnotations();
-		for (IAnnotation an : ans) {
-			String annotationName = an.getElementName();
-			annotationName = JPAEditorUtil.cutFromLastDot(annotationName);
-
-			if (JPAEditorConstants.RELATION_ANNOTATIONS
-					.contains(annotationName)) {
-				String relTypeName = getRelTypeName(an, jrpa);						
-				JavaPersistentType relJPT = (JavaPersistentType) jpa
-						.getPersistentType().getPersistenceUnit()
-						.getPersistentType(relTypeName);
-				if (relJPT != null)
-					if (fp.getPictogramElementForBusinessObject(relJPT) != null)
-						return relJPT;
-			}						
-			
-			
-		}
-		
-		if ((nd instanceof MethodDeclaration)
-				|| (nd instanceof FieldDeclaration)) {
-			ListIterator<?> modfs = ((BodyDeclaration) nd).modifiers()
-					.listIterator();
-			while (modfs.hasNext()) {
-				Object modf = modfs.next();
-				if (modf instanceof Annotation) {
-					Annotation an = (Annotation)modf;
-					String annotationName = an.getTypeName()
-							.getFullyQualifiedName();
-					annotationName = annotationName.substring(annotationName
-							.lastIndexOf('.') + 1);
-					if (JPAEditorConstants.RELATION_ANNOTATIONS
-							.contains(annotationName)) {
-						String relTypeName = getRelTypeName(an, jrpa);						
-						JavaPersistentType relJPT = (JavaPersistentType) jpa
-								.getPersistentType().getPersistenceUnit()
-								.getPersistentType(relTypeName);
-						if (relJPT != null)
-							if (fp.getPictogramElementForBusinessObject(relJPT) != null)
-								return relJPT;
-					}						
-				}														
-			}
-		}
-		return null;
-	}
-	*/
-		
-	public JavaPersistentType getJPT(String name, PersistenceUnit pu) {
-		JavaPersistentType jpt = (JavaPersistentType) pu.getPersistentType(name);
-		int cnt = 0;
-		while ((jpt == null) && (cnt < MAX_NUM_OF_ITERATIONS)) {
-			try {
-				Thread.sleep(PAUSE_DURATION);
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError("Sleep interrupted", e); //$NON-NLS-1$		
-			}
-			jpt = (JavaPersistentType)pu.getPersistentType(name);
-			cnt++;
-		}		
-		return jpt;
-	}
-	
-	/*
-	 * Return all the attributes belonging to another entities and
-	 * involved in a relation with the entity given as parameter
-	 */
-	public Set<JavaPersistentAttribute> getRelatedAttributes(JavaPersistentType jpt) {
-		Set<JavaPersistentAttribute> res = new HashSet<JavaPersistentAttribute>();
-		Iterator<JpaFile> it = jpt.getJpaProject().getJpaFiles().iterator();
-		PersistenceUnit pu = JpaArtifactFactory.INSTANCE.getPersistenceUnit(jpt.getJpaProject());
-		while (it.hasNext()) {
-			JpaFile jpaFile = it.next();
-			JptResourceModel rm = jpaFile.getResourceModel();
-			if (rm == null)
-				continue;
-			if (!JavaResourceCompilationUnit.class.isInstance(rm))
-				continue;
-			JavaResourceCompilationUnit jrcu = (JavaResourceCompilationUnit)rm;
-			//CSN #130859 2010
-			JavaResourceAbstractType jrt = jrcu.getPrimaryType();
-			if (jrt == null)
-				continue;
-			String name = jrt.getQualifiedName();
-			JavaPersistentType jpt1 = (JavaPersistentType) pu
-					.getPersistentType(name);
-			if (jpt1 == null)
-				continue;
-			Set<JavaPersistentAttribute> relAts = getRelAttributes(jpt, jpt1);
-			if (relAts != null)
-				res.addAll(relAts);
-		}
-		return res;
-	}
-
-	/*
-	 * Return the attribute (if there is any) belonging to jpt1 and
-	 * involved in a relation with jpt
-	 */
-	
-	private Set<JavaPersistentAttribute> getRelAttributes(JavaPersistentType jpt,
-			JavaPersistentType relJPT) {
-
-		Set<JavaPersistentAttribute> res = new HashSet<JavaPersistentAttribute>();
-		for (JavaPersistentAttribute at : relJPT.getAttributes()) {
-			IResource r = at.getParent().getResource();
-			if (!r.exists())
-				throw new RuntimeException();
-			Annotation[] ans = getAnnotations(at);			
-			String annotationName = null;
-			for (Annotation an : ans) {
-				annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName()); 
-				if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(annotationName)) {
-					String relTypeName = getRelTypeName((RelationshipMappingAnnotation)an, at.getResourceAttribute());
-					if (!relTypeName.equals(jpt.getName()))
-						continue;
-					res.add(at);
-				}
-			}			
-		}
-		return res;
-	}
-	
-	
-	public void renameEntityClass(JavaPersistentType jpt, String newEntityName, IJPAEditorFeatureProvider fp) {
-		renameEntityClass(fp.getCompilationUnit(jpt), newEntityName);
-	}
-		
-	private void renameEntityClass(ICompilationUnit cu, String newName) {
-		IType javaType = cu.findPrimaryType();
-		renameType(javaType, newName);
-	}
-	
-	private void renameType(IType type, String newName) {
-		if (!type.exists())
-			return;
-		String oldName = type.getElementName();
-		try {
-			RenameSupport s = RenameSupport.create(type, newName, RenameSupport.UPDATE_REFERENCES);
-			IWorkbenchWindow ww = JPADiagramEditorPlugin.getDefault()
-					.getWorkbench().getActiveWorkbenchWindow();
-			Shell sh = ww.getShell();
-			s.perform(sh, ww);
-		} catch (Exception e1) {
-			JPADiagramEditorPlugin.logError("Cannot rename the type " + oldName, e1); //$NON-NLS-1$
-		}
-	}
-
-
-	public JavaPersistentAttribute renameAttribute(JavaPersistentType jpt,
-			String oldName, String newName, String inverseEntityName,
-									 IJPAEditorFeatureProvider fp) throws InterruptedException {
-		newName = JPAEditorUtil.decapitalizeFirstLetter(newName);
-		if (JpaArtifactFactory.instance().isMethodAnnotated(jpt)) {		
-			newName = JPAEditorUtil.produceValidAttributeName(newName);
-		} 
-		newName = JPAEditorUtil.produceUniqueAttributeName(jpt, newName);
-		PersistenceUnit pu = null;
-		JavaPersistentAttribute oldAt = jpt.getAttributeNamed(oldName);
-		fp.addAddIgnore((JavaPersistentType)oldAt.getParent(), newName);
-		JavaResourceAttribute jra = oldAt
-				.getResourceAttribute();
-		fp.addRemoveIgnore((JavaPersistentType)oldAt.getParent(), jra.getName());
-		IRelation rel = fp.getRelationRelatedToAttribute(oldAt);
-		String inverseJPAName = null;
-		JavaPersistentType inverseJPT = null;
-		if (BidirectionalRelation.class.isInstance(rel)) {
-			inverseJPT = rel.getInverse();
-			if (inverseJPT != oldAt.getParent()) {
-				pu = JpaArtifactFactory.INSTANCE.getPersistenceUnit(jpt);
-				inverseJPAName = rel.getInverseAttributeName();
-			}
-		}
-		ICompilationUnit cu = fp.getCompilationUnit(jpt);
-		renameAttribute(cu, oldName, newName, fp, this.isMethodAnnotated(jpt));
-		refreshEntityModel(fp, jpt);
-		JavaPersistentAttribute newAt = jpt.getAttributeNamed(newName);
-		if (newAt == null)
-			newAt = jpt.getAttributeNamed(JPAEditorUtil
-					.revertFirstLetterCase(newName));
-		int c = 0;
-		while ((newAt == null) && (c < MAX_NUM_OF_ITERATIONS)) {
-			c++;
-			try {
-				Thread.sleep(PAUSE_DURATION);
-				newAt = jpt.getAttributeNamed(newName);
-				if (newAt == null)
-					newAt = (JavaPersistentAttribute) jpt
-							.resolveAttribute(JPAEditorUtil
-									.revertFirstLetterCase(newName));
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError("Thread.sleep() interrupted", e); //$NON-NLS-1$
-				return null;
-			}
-		}
-		if (newAt == null) {
-			JPADiagramEditorPlugin.logError("The attribute " + newName + " could not be resolved", new NullPointerException()); //$NON-NLS-1$  //$NON-NLS-2$
-		}
-		fp.addRemoveIgnore(jpt, oldAt.getName());
-		try {
-			fp.replaceAttribute(oldAt, newAt);
-		} catch (Exception e) {
-			return newAt;
-		}
-		if (inverseJPAName != null) {
-			fp.addAttribForUpdate(pu, inverseEntityName
-					+ EntityChangeListener.SEPARATOR + inverseJPAName
-					+ EntityChangeListener.SEPARATOR + newAt.getName());
-			this.refreshEntityModel(fp, inverseJPT);
-			Annotation a = rel.getInverseAnnotatedAttribute().getMapping().getMappingAnnotation();
-			if (OwnableRelationshipMappingAnnotation.class.isInstance(a)) {
-				boolean exce = true;
-				int cnt = 0;
-					while (exce && (cnt < 25)) {
-					try {
-						Thread.sleep(250);
-						a = rel.getInverseAnnotatedAttribute().getMapping().getMappingAnnotation();
-						((OwnableRelationshipMappingAnnotation)a).setMappedBy(newAt.getName());
-						exce = false;
-					} catch (Exception e) {}
-					cnt++;
-				}
-			}
-		}
-		if (rel != null)
-			updateRelation(jpt, fp, rel);
-		
-		return newAt;
-	}
-
-	private void updateRelation(JavaPersistentType jpt,
-			IJPAEditorFeatureProvider fp, IRelation rel) {
-		UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(fp);
-		if (jpt.equals(rel.getInverse())) {
-			updateFeature.reconnect(rel.getOwner());
-		} else {
-			updateFeature.reconnect(rel.getInverse());
-		}
-	}
-
-	public JavaPersistentAttribute renameAttribute(JavaPersistentAttribute jpa,
-			String newName, String newEntityName, IJPAEditorFeatureProvider fp) throws InterruptedException {
-		return renameAttribute((JavaPersistentType)jpa.getParent(), jpa.getName(), newName,
-				newEntityName, fp);
-	}
-
-	private void renameAttribute(ICompilationUnit cu, String oldName,
-			String newName, IJPAEditorFeatureProvider fp, boolean isMethodAnnotated) throws InterruptedException {
-		IType javaType = cu.findPrimaryType();
-		if (javaType == null)
-			return;
-		IField attributeField = null;
-		String typeSignature = null;
-		if (isMethodAnnotated) {
-			attributeField = javaType.getField(oldName);
-			if (!attributeField.exists())
-				attributeField =  javaType.getField(JPAEditorUtil.revertFirstLetterCase(oldName));
-		} else {
-			attributeField = javaType.getField(oldName);
-		}
-		String getterPrefix = "get";	//$NON-NLS-1$
-		String methodName = getterPrefix + JPAEditorUtil.capitalizeFirstLetter(oldName); 	//$NON-NLS-1$
-		IMethod getter = javaType.getMethod(methodName, new String[0]);
-		if (!getter.exists()) {
-			getterPrefix = "is";	//$NON-NLS-1$
-		}
-		methodName = getterPrefix + JPAEditorUtil.capitalizeFirstLetter(oldName); 	//$NON-NLS-1$
-		getter = javaType.getMethod(methodName, new String[0]);		
-		
-		if (isMethodAnnotated) {
-			try {
-				typeSignature = getter.getReturnType();
-			} catch (JavaModelException e1) {
-				JPADiagramEditorPlugin.logError("Cannot obtain type signature of the getter of the attribute " + oldName, e1); //$NON-NLS-1$  
-				return;
-			}
-			if ((typeSignature == null) || 
-					(!"Z".equals(typeSignature) && !getterPrefix.equals("get"))) {		//$NON-NLS-1$ 	//$NON-NLS-2$ 
-				JPADiagramEditorPlugin.logError("Cannot obtain type signature of the getter of the attribute " + oldName, new NullPointerException()); //$NON-NLS-1$  
-				return;
-			}
-		} else {
-			try {
-				typeSignature = attributeField.getTypeSignature();
-			} catch (JavaModelException e) {
-				JPADiagramEditorPlugin.logError("Cannot obtain type signature of the field of the attribute " + oldName, e); //$NON-NLS-1$  
-				return;
-			}			
-		}
-
-		methodName = "set" + JPAEditorUtil.capitalizeFirstLetter(oldName); //$NON-NLS-1$
-		IMethod setter = javaType.getMethod(methodName,
-				new String[] { typeSignature });
-
-		if (setter.exists())
-			renameSetter(setter, newName);
-		if (isMethodAnnotated) {
-			if (attributeField.exists())
-				renameField(attributeField, newName, isMethodAnnotated);			
-			if (getter.exists())
-				renameGetter(getter, newName);
-		} else {
-			if (getter.exists())
-				renameGetter(getter, newName);
-			if (attributeField.exists())
-				renameField(attributeField, newName, isMethodAnnotated);
-		}
-
-	}
-
-	private void renameField(IField field, String newName, boolean isMethodAnnotated) throws InterruptedException {
-		if (!field.exists())
-			return;
-		String oldName = field.getElementName();
-		if (oldName.equals(newName))
-			return;
-		try {
-			RenameSupport s = RenameSupport.create(field, 
-												   isMethodAnnotated ? JPAEditorUtil.decapitalizeFirstLetter(newName) : newName,
-												   RenameSupport.UPDATE_REFERENCES);
-			try {
-				IWorkbenchWindow ww = JPADiagramEditorPlugin.getDefault()
-						.getWorkbench().getActiveWorkbenchWindow();
-				Shell sh = ww.getShell();
-				s.perform(sh, ww);
-			} catch (InvocationTargetException e) {
-				JPADiagramEditorPlugin.logError("Cannot rename the field of the attribute " + oldName, e); //$NON-NLS-1$  
-			}
-		} catch (CoreException e1) {
-			JPADiagramEditorPlugin.logError("Cannot rename the field of the attribute " + oldName, e1); //$NON-NLS-1$  
-		}
-	}
-
-	private void renameGetter(IMethod getter, String newName) throws InterruptedException {
-		if (!getter.exists())
-			return;
-		String oldName = getter.getElementName();
-		String getterType = null;
-		try {
-			getterType = getter.getReturnType();
-		} catch (JavaModelException e2) {
-			JPADiagramEditorPlugin.logError("Can't obtain getter type", e2); //$NON-NLS-1$  
-		}
-		String newGetterName = ("Z".equals(getterType) ? "is" : "get") +		//$NON-NLS-1$	//$NON-NLS-2$	//$NON-NLS-3$
-			JPAEditorUtil.capitalizeFirstLetter(newName);
-		if (oldName.equals(newGetterName))
-			return;
-		try {
-			RenameSupport s = RenameSupport.create(getter, newGetterName,
-					RenameSupport.UPDATE_REFERENCES);
-			try {
-				IWorkbenchWindow ww = JPADiagramEditorPlugin.getDefault()
-						.getWorkbench().getActiveWorkbenchWindow();
-				Shell sh = ww.getShell();
-				s.perform(sh, ww);
-			} catch (InvocationTargetException e) {
-				JPADiagramEditorPlugin.logError("Cannot rename the getter of the attribute " + oldName, e); //$NON-NLS-1$
-			}
-		} catch (CoreException e1) {
-			JPADiagramEditorPlugin.logError("Cannot rename the getter of the attribute " + oldName, e1); //$NON-NLS-1$
-		}
-	}
-		
-	private void renameSetter(IMethod setter, String newName) throws InterruptedException {
-		if (!setter.exists())
-			return;
-		String oldName = setter.getElementName();
-		String newSetterName = "set"			//$NON-NLS-1$
-			+ JPAEditorUtil.capitalizeFirstLetter(newName);
-		if (oldName.equals(newSetterName))
-			return;
-		try {
-			RenameSupport s = RenameSupport.create(setter, newSetterName,
-					RenameSupport.UPDATE_REFERENCES);
-			try {
-				IWorkbenchWindow ww = JPADiagramEditorPlugin.getDefault()
-						.getWorkbench().getActiveWorkbenchWindow();
-				Shell sh = ww.getShell();
-				s.perform(sh, ww);
-			} catch (InvocationTargetException e) {
-				JPADiagramEditorPlugin.logError("Cannot rename the setter of the attribute " + oldName, e); //$NON-NLS-1$
-			}
-		} catch (CoreException e1) {
-			JPADiagramEditorPlugin.logError("Cannot rename the setter of the attribute " + oldName, e1); //$NON-NLS-1$
-		}
-	}
-
-	private IRelation produceRelation(JavaPersistentAttribute persistentAttribite, Annotation an,
-			JavaPersistentType relJPT, IJPAEditorFeatureProvider fp) {
-
-		Hashtable<JavaPersistentAttribute, Annotation> ht = getRelAttributeAnnotation(
-				persistentAttribite, relJPT);
-		if (ht == null) {
-			return produceUniDirRelation((JavaPersistentType)persistentAttribite
-					.getParent(), persistentAttribite, an, relJPT, fp);
-		} else {
-			JavaPersistentAttribute relAt = ht.keys().nextElement();
-			Annotation relAn = ht.get(relAt);
-			return produceBiDirRelation((JavaPersistentType)persistentAttribite
-					.getParent(), persistentAttribite, an, relJPT,
-					relAt, relAn, fp);
-		}
-		
-	}
-	
-	private Hashtable<JavaPersistentAttribute, Annotation> getRelAttributeAnnotation(
-			JavaPersistentAttribute jpa, JavaPersistentType relJPT) {
-		
-		JavaPersistentType jpt = (JavaPersistentType)jpa.getParent();
-		JpaArtifactFactory.instance().refreshEntityModel(null, jpt);
-		for (JavaPersistentAttribute relEntAt : relJPT.getAttributes())	{
-			IResource r = relEntAt.getParent().getResource();
-			if (!r.exists())
-				throw new RuntimeException();
-			JavaResourceAttribute relJRA = relEntAt.getResourceAttribute();
-			Annotation[] ans = this.getAnnotations(relEntAt);
-			for (Annotation an : ans) {
-				String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
-				if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(annotationName)) {
-					String relTypeName = getRelTypeName((RelationshipMappingAnnotation)an, relJRA);					
-					if (!relTypeName.equals(jpt.getName())) 
-						continue;														
-					JavaAttributeMapping mp = relEntAt.getMapping();
-					if(mp.getMappingAnnotation() == null) {
-						JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)relEntAt.getParent());
-						mp = relEntAt.getMapping();
-					}
-					if (!OwnableRelationshipMappingAnnotation.class.isInstance(mp.getMappingAnnotation()))
-						continue;
-					String mappedBy = ((OwnableRelationshipMappingAnnotation)mp.getMappingAnnotation()).getMappedBy();
-					if (!jpa.getName().equals(mappedBy)) 
-						continue;
-					Hashtable<JavaPersistentAttribute, Annotation> ht = new Hashtable<JavaPersistentAttribute, Annotation>();
-					ht.put(relEntAt, an);
-					return ht;					
-				}
-			}
-		}
-		return null;
-	}
-			
-			
-			/*
-			ASTNode nd = jrpa.getMember().getModifiedDeclaration()
-					.getDeclaration();
-			String annotationName = null;
-			if ((nd instanceof MethodDeclaration)
-					|| (nd instanceof FieldDeclaration)) {
-				ListIterator<?> modfs = ((BodyDeclaration) nd).modifiers()
-						.listIterator();
-				while (modfs.hasNext()) {
-					Object modf = modfs.next();
-					if (modf instanceof Annotation) {
-						Annotation an = (Annotation)modf;
-						annotationName = an.getTypeName()
-								.getFullyQualifiedName();
-						annotationName = annotationName
-								.substring(annotationName.lastIndexOf('.') + 1);
-						if (JPAEditorConstants.RELATION_ANNOTATIONS
-								.contains(annotationName)) {
-							String relTypeName = getRelTypeName(an, jrpa);					
-							if (!relTypeName.equals(jpt.getName())) 
-								continue;														
-							JavaAttributeMapping mp = at.getSpecifiedMapping();
-							if (!OwnableRelationshipMappingAnnotation.class.isInstance(mp.getMappingAnnotation()))
-								continue;
-							String mappedBy = ((OwnableRelationshipMappingAnnotation)mp.getMappingAnnotation()).getMappedBy();
-							if (!jpa.getName().equals(mappedBy)) 
-								continue;
-							Hashtable<JavaPersistentAttribute, Annotation> ht = new Hashtable<JavaPersistentAttribute, Annotation>();
-							ht.put(at, an);
-							return ht;
-						}
-					} 			
-				}
-			}
-			*/			
-	
-	private UnidirectionalRelation produceUniDirRelation(
-			JavaPersistentType jpt, JavaPersistentAttribute at, Annotation an,
-			JavaPersistentType relJPT, IJPAEditorFeatureProvider fp) {
-		
-		if (isNonOwner(at) || !JPAEditorUtil.getCompilationUnit((JavaPersistentType) at.getParent()).exists())
-			return null;
-		String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
-		UnidirectionalRelation res = null;
-		String attrName = at.getName();
-		if (annotationName.equals(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
-			if (!fp.doesRelationExist(jpt, relJPT, attrName, RelType.ONE_TO_ONE,
-					RelDir.UNI))
-				res = new OneToOneUniDirRelation(fp, jpt, relJPT, attrName, false,
-						fp.getCompilationUnit(jpt), fp
-								.getCompilationUnit(relJPT));
-		} else if (annotationName
-				.equals(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)) {
-			if (!fp.doesRelationExist(jpt, relJPT, attrName, RelType.ONE_TO_MANY,
-					RelDir.UNI))
-				res = new OneToManyUniDirRelation(fp, jpt, relJPT, attrName, false,
-						fp.getCompilationUnit(jpt), fp
-								.getCompilationUnit(relJPT));
-		} else if (annotationName
-				.equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
-			if (!fp.doesRelationExist(jpt, relJPT, attrName, RelType.MANY_TO_ONE,
-					RelDir.UNI))
-				res = new ManyToOneUniDirRelation(fp, jpt, relJPT, attrName, false,
-						fp.getCompilationUnit(jpt), fp
-								.getCompilationUnit(relJPT));
-		} else if (annotationName
-				.equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
-			if (!fp.doesRelationExist(jpt, relJPT, attrName, RelType.MANY_TO_MANY,
-					RelDir.UNI))
-				res = new ManyToManyUniDirRelation(fp, jpt, relJPT, attrName,
-						false, fp.getCompilationUnit(jpt), fp
-								.getCompilationUnit(relJPT));
-		}
-		if (res != null)
-			res.setAnnotatedAttribute(at);
-		return res;
-	}
-	
-	private BidirectionalRelation produceBiDirRelation(JavaPersistentType jpt,
-			JavaPersistentAttribute at, Annotation an,
-			JavaPersistentType relJPT, JavaPersistentAttribute relAt,
-			Annotation relAn, IJPAEditorFeatureProvider fp) {
-		JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)relAt.getParent());
-		String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
-		String relAnnotationName = JPAEditorUtil.returnSimpleName(relAn.getAnnotationName());
-		if (!annotationNamesMatch(annotationName, relAnnotationName)) 
-			return null;
-		if (annotationName.equals(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)) 
-			return produceBiDirRelation(relJPT, relAt, relAn, jpt, at, an, fp);
-		if (isNonOwner(at) && isNonOwner(relAt)) 
-			return null;
-		if (annotationName.equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
-			if (isNonOwner(at) || !isNonOwner(relAt)) 
-				return null;
-		}
-		if (annotationName.equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
-			if (!isNonOwner(at) && !isNonOwner(relAt)) 
-				return null;
-			if (isNonOwner(at)) 
-				return produceBiDirRelation(relJPT, relAt, relAn, jpt, at, an,
-						fp);
-		}		
-		String ownerAttrName = at.getName();
-		String inverseAttrName = relAt.getName();
-		
-		JavaAttributeMapping m = relAt.getMapping();
-		
-		if ((m != null)){
-			if (m.getMappingAnnotation()==null) {
-				JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)relAt.getParent());
-				m = relAt.getMapping();
-			}
-			if(m.getMappingAnnotation() instanceof OwnableRelationshipMappingAnnotation) {
-		
-			String mappedBy = ((OwnableRelationshipMappingAnnotation)m.getMappingAnnotation()).getMappedBy();
-			if (mappedBy == null)
-				return null;
-			if (!mappedBy.equals(ownerAttrName))
-				return null;
-			}
-		}
-		
-		BidirectionalRelation res = null;
-		if (annotationName.equals(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
-			if (!fp.doesRelationExist(jpt, relJPT, ownerAttrName, RelType.ONE_TO_ONE,
-					RelDir.BI))
-				res = new OneToOneBiDirRelation(fp, jpt, relJPT, ownerAttrName,
-						inverseAttrName, false, fp.getCompilationUnit(jpt), fp
-								.getCompilationUnit(relJPT));
-		} else if (annotationName
-				.equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
-			if (!fp.doesRelationExist(jpt, relJPT, ownerAttrName, RelType.MANY_TO_ONE,
-					RelDir.BI))
-				res = new ManyToOneBiDirRelation(fp, jpt, relJPT, ownerAttrName,
-						inverseAttrName, false, fp.getCompilationUnit(jpt), fp
-								.getCompilationUnit(relJPT));
-		} else if (annotationName
-				.equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
-			if (!fp.doesRelationExist(jpt, relJPT, ownerAttrName, RelType.MANY_TO_MANY,
-					RelDir.BI))
-				res = new ManyToManyBiDirRelation(fp, jpt, relJPT, ownerAttrName,
-						inverseAttrName, false, fp.getCompilationUnit(jpt), fp
-								.getCompilationUnit(relJPT));
-		}
-		if (res != null) {
-			res.setOwnerAnnotatedAttribute(at);
-			res.setInverseAnnotatedAttribute(relAt);
-		}
-		return res;
-	}
-	
-	private boolean annotationNamesMatch(String an1Name, String an2Name) {
-		if (an1Name.equals(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)
-				&& an2Name.equals(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
-			return true;
-		} else if (an1Name.equals(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)
-				&& an2Name.equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
-			return true;
-		} else if (an1Name.equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)
-				&& an2Name.equals(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)) {
-			return true;
-		} else if (an1Name.equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)
-				&& an2Name.equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
-			return true;
-		}
-		return false;
-	}
-	
-	private String genGetterContents(String attrName, String attrType,
-			String[] attrTypeElementNames, String actName,
-			List<String> annotations, boolean isCollection) {
-		
-		String attrNameWithCapitalA = actName.substring(0, 1).toUpperCase(Locale.ENGLISH)
-				+ actName.substring(1);
-		String contents = ""; //$NON-NLS-1$
-		if (annotations != null) {
-			Iterator<String> it = annotations.iterator();
-			while (it.hasNext()) {
-				String an = it.next();
-				contents += "   " + an + "\n"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		if (isCollection) {
-			contents += "    public Collection<"+ attrType + "> get" + attrNameWithCapitalA + "() {\n" +  	//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 
-					"        return "	//$NON-NLS-1$
-					+ JPAEditorUtil.decapitalizeFirstLetter(actName) + ";\n" + //$NON-NLS-1$ 
-			  "    }\n";  //$NON-NLS-1$			
-		} else {
-			contents += "    public "+ attrType + //$NON-NLS-1$
-							((attrTypeElementNames == null)?"":("<" + JPAEditorUtil.createCommaSeparatedListOfSimpleTypeNames(attrTypeElementNames) + ">")) + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-							(attrType.equals("boolean") ? " is" : " get") + attrNameWithCapitalA + "() {\n" +  	//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ 
-					"        return "	//$NON-NLS-1$
-					+ JPAEditorUtil.decapitalizeFirstLetter(actName) + ";\n" + //$NON-NLS-1$ 
-			  "    }\n";  																//$NON-NLS-1$			
-		}
-		return contents;
-	}
-	
-	private String genSetterContents(String attrName, String attrType,
-			String[] attrTypeElementNames, String actName, boolean isCollection) {
-		
-		String attrNameWithCapitalA = actName.substring(0, 1).toUpperCase(Locale.ENGLISH)
-				+ actName.substring(1);
-		String contents = ""; //$NON-NLS-1$
-		if (isCollection) {
-			contents = "    public void set" + attrNameWithCapitalA + "(Collection<" + attrType + "> param) " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					"{\n" + //$NON-NLS-1$ 
-					"        this."	//$NON-NLS-1$
-					+ JPAEditorUtil.decapitalizeFirstLetter(actName)
-					+ " = param;\n" + //$NON-NLS-1$ 
-						  "    }\n";  	//$NON-NLS-1$
-		} else {
-			contents = "    public void set" + attrNameWithCapitalA + "(" + attrType + //$NON-NLS-1$ //$NON-NLS-2$
-								((attrTypeElementNames == null)?"":("<" + JPAEditorUtil.createCommaSeparatedListOfSimpleTypeNames(attrTypeElementNames) + ">")) + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					" param) {\n"	//$NON-NLS-1$
-					+ 
-					"        this."	//$NON-NLS-1$
-					+ JPAEditorUtil.decapitalizeFirstLetter(actName)
-					+ " = param;\n" + //$NON-NLS-1$ 
-			  "    }\n";  			//$NON-NLS-1$			
-		}
-		return contents;
-	}
-	
-	private String genGetterWithAppropriateType(String attrName, String attrType,
-			String actName, String type) {
-		return genGetterWithAppropriateType(attrName, null, attrType,
-				actName, type);
-	}
-
-	
-	private String genGetterWithAppropriateType(String attrName, String mapKeyType, String attrType,
-			String actName, String type) {
-
-		String attrNameWithCapitalA = actName.substring(0, 1).toUpperCase(
-				Locale.ENGLISH)
-				+ actName.substring(1);
-		String contents = "    public " + JPAEditorUtil.returnSimpleName(type) + 		//$NON-NLS-1$
-				"<" + ((mapKeyType != null) ? (mapKeyType + ", ") : "")  +  attrType + "> " +	//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				"get" + attrNameWithCapitalA + "() {\n" + 	//$NON-NLS-1$ //$NON-NLS-2$
-				"        return " 	//$NON-NLS-1$
-				+ JPAEditorUtil.decapitalizeFirstLetter(actName) + ";\n" + 		//$NON-NLS-1$
-				"    }\n"; 	//$NON-NLS-1$
-		return contents;
-	}
-
-	private String genSetterWithAppropriateType(String attrName, String attrType,
-			String actName, String type) {
-		return genSetterWithAppropriateType(attrName, null, attrType,
-				actName, type);
-	}
-	
-	private String genSetterWithAppropriateType(String attrName, String mapKeyType, String attrType,
-			String actName, String type) {
-
-		String attrNameWithCapitalA = actName.substring(0, 1).toUpperCase(
-				Locale.ENGLISH)
-				+ actName.substring(1);
-		String contents = "    public void set" + attrNameWithCapitalA + 			//$NON-NLS-1$
-				"(" + JPAEditorUtil.returnSimpleName(type) + 						//$NON-NLS-1$
-				"<" + ((mapKeyType != null) ? (mapKeyType + ", ") : "") + attrType + "> param) " +	//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				"{\n" +   	//$NON-NLS-1$
-				"        this." 	//$NON-NLS-1$
-				+ JPAEditorUtil.decapitalizeFirstLetter(actName)
-				+ " = param;\n" + 	//$NON-NLS-1$
-				"    }\n"; 			//$NON-NLS-1$
-		return contents;
-	}
-	
-	/*
-	private String returnSimpleName(String input) {
-		String name = input;
-		if (name.lastIndexOf('.') != -1) {
-			name = name.substring(name.lastIndexOf('.') + 1);
-		}
-		return name;
-	}
-	*/
-	
-	private JavaPersistentAttribute getAttributeFromEntity(
-			JavaPersistentType jpt, String attributeName) {
-		this.refreshEntityModel(null, jpt);
-		PersistentAttribute at = jpt.getAttributeNamed(attributeName);
-		if (at == null) {
-			jpt.getJavaResourceType().synchronizeWith(jpt.getJavaResourceType().getJavaResourceCompilationUnit().buildASTRoot());
-			jpt.update();
-		}
-		int c = 0;
-		while ((at == null) && (c < MAX_NUM_OF_ITERATIONS)) {		
-			try {
-				Thread.sleep(PAUSE_DURATION);
-			} catch (InterruptedException e) {
-				JPADiagramEditorPlugin.logError("Cannot get the attribute " + //$NON-NLS-1$
-						attributeName + " from " + jpt.getName(), e); //$NON-NLS-1$
-			}
-			at = jpt.getAttributeNamed(attributeName);
-			c++;
-		}
-		return (JavaPersistentAttribute)at;		
-	}
-	
-	private boolean doesAttributeExist(JavaPersistentType jpt, String name)
-											throws JavaModelException {
-		boolean exists = false;
-		if (jpt.resolveAttribute(name) != null) {
-			return true;
-		}
-		return exists;
-	}
-		
-	public JavaResourceType convertJPTToJRT(JavaPersistentType jpt) {
-		if (jpt == null) 
-			return null;
-		return (JavaResourceType) jpt.getJpaProject().getJavaResourceType(jpt.getName(), Kind.TYPE);
-	}
-	
-	public PersistenceUnit getPersistenceUnit(JpaFile jpaFile) {
-		JpaProject jpaProject  = jpaFile.getJpaProject();
-		if (jpaProject == null)
-			return null;
-		return getPersistenceUnit(jpaProject); 
-	}
-	
-	public PersistenceUnit getPersistenceUnit(JpaProject project) {
-		if(project.getRootContextNode().getPersistenceXml() == null)
-			return null;
-		return project.getRootContextNode().getPersistenceXml().getPersistence()
-				.getPersistenceUnits().iterator().next();
-	}
-	
-	public PersistenceUnit getPersistenceUnit(JavaPersistentType jpt) {
-		return jpt.getPersistenceUnit(); 
-	}
-	
-	public boolean isMethodAnnotated(JavaPersistentAttribute attr) {
-		return attr.getResourceAttribute().getKind() == Kind.METHOD;
-	}
-	
-	public boolean isMethodAnnotated(JavaPersistentType jpt) {
-		ListIterator<JavaPersistentAttribute> li = jpt.getAttributes().iterator();
-		if (!li.hasNext())
-			return false;
-		return (isMethodAnnotated(li.next()));
-	}
-	
-	public void remakeRelations(IJPAEditorFeatureProvider fp,
-			ContainerShape cs, JavaPersistentType jpt) {
-		if (cs == null) 
-			cs = (ContainerShape)fp.getPictogramElementForBusinessObject(jpt);
-		if (cs == null)
-			return;
-		removeOldRelations(fp, cs);
-		addNewRelations(fp, jpt);
-	}
-	
-	public String getTableName(JavaPersistentType jpt) {
-		if (jpt == null)
-			return null; 
-		JavaResourceType jrt = convertJPTToJRT(jpt);
-		if (jrt == null)
-			return null; 
-		TableAnnotation tan = (TableAnnotation)jrt.getAnnotation("javax.persistence.Table"); //$NON-NLS-1$
-		String tableName = null;
-		if (tan == null){
-			tableName = JPAEditorUtil.returnSimpleName(jpt.getName());
-		} else {
-			tableName = tan.getName();		
-		}		
-		if (tableName == null)
-			tableName = JPAEditorUtil.returnSimpleName(jpt.getName());
-		return tableName;
-	}
-	
-	
-	public void setTableName(JavaPersistentType jpt, String tableName) {
-		if (jpt == null)
-			return; 
-		JavaResourceType jrt = convertJPTToJRT(jpt);
-		if (jrt == null) {
-			return; 
-		}
-		TableAnnotation ta = (TableAnnotation)jrt.getAnnotation("javax.persistence.Table");	//$NON-NLS-1$
-		if (ta != null) 
-			ta.setName(tableName);		
-	}
-	
-	/*
-	private Object extractAnnotationMemberValue(Annotation an, String memberName) {
-		
-		an.
-		
-		IMemberValuePair[] mvps;
-		try {
-			mvps = an.getMemberValuePairs();
-		} catch (JavaModelException e) {
-			tracer.error("Can't get annotation members", e);	//$NON-NLS-1$
-			return null;
-		}
-		for (IMemberValuePair mvp : mvps) {
-			if (mvp.getMemberName().equals(memberName)) {
-				return mvp.getValue();
-			}
-		}
-		return null;
-	}
-	*/	
-
-	private void removeOldRelations(IJPAEditorFeatureProvider fp,
-			ContainerShape cs) {
-		Set<IRemoveContext> ctxs = new HashSet<IRemoveContext>();
-		Iterator<Connection> iter = Graphiti.getPeService().getAllConnections(cs).iterator();
-		while (iter.hasNext()) {
-			Connection conn = iter.next();
-			IRemoveContext ctx = new RemoveContext(conn);
-			ctxs.add(ctx);
-		}
-		Iterator<IRemoveContext> itCtx = ctxs.iterator();
-		while (itCtx.hasNext()) {
-			IRemoveContext ctx = itCtx.next();
-			RemoveRelationFeature ft = new RemoveRelationFeature(fp);
-			ft.remove(ctx);
-		}		
-	}
-	
-	private void addNewRelations(IJPAEditorFeatureProvider fp,
-			JavaPersistentType jpt) {
-	
-		Collection<IRelation> selfRels = new HashSet<IRelation>(); 
-		Collection<IRelation> newRels = JpaArtifactFactory.instance()
-				.produceAllRelations(jpt, fp);
-		Iterator<IRelation> relsIt = newRels.iterator();
-		while (relsIt.hasNext()) {
-			IRelation rel = relsIt.next();
-			if (rel.getOwner() == rel.getInverse()) {
-				selfRels.add(rel);
-				continue;
-			}
-			addNewRelation(fp, rel);
-		}
-		relsIt = selfRels.iterator();
-		while (relsIt.hasNext()) {
-			IRelation rel = relsIt.next();
-			addNewRelation(fp, rel);
-		}		
-	}
-	
-	private void addNewRelation(IJPAEditorFeatureProvider fp, IRelation rel) {
-		AddConnectionContext ctx = new AddConnectionContext(JPAEditorUtil
-				.getAnchor(rel.getOwner(), fp), JPAEditorUtil.getAnchor(rel
-				.getInverse(), fp));
-		ctx.setNewObject(rel);
-		ctx.setTargetContainer(fp.getDiagramTypeProvider().getDiagram());
-		refreshEntityModel(fp, rel.getOwner());
-		refreshEntityModel(fp, rel.getInverse());
-		AddRelationFeature ft = new AddRelationFeature(fp);
-		ft.add(ctx);		
-	}
-	
-	private String getRelTypeName(RelationshipMappingAnnotation an,
-			JavaResourceAttribute jra) {
-		String relTypeName = null;
-		try {
-			boolean isMap = jra.getTypeName().equals("java.util.Map");	//$NON-NLS-1$
-			relTypeName = jra.getTypeTypeArgumentName(isMap ? 1 : 0);
-		} catch (Exception e) {}
-		if (relTypeName == null) 
-			relTypeName = an.getFullyQualifiedTargetEntityClassName();												
-		if (relTypeName == null) 
-			relTypeName = JPAEditorUtil.getAttributeTypeName(jra);							
-		return relTypeName;
-	}
-		
-	public JpaProject getJpaProject(IProject project) {
-		return (JpaProject) project.getAdapter(JpaProject.class);
-	}
-	
-	public String getIdType(JavaPersistentType jpt) {
-		IdClassAnnotation an = (IdClassAnnotation)jpt.getJavaResourceType().getAnnotation(IdClassAnnotation.ANNOTATION_NAME);
-		if (an != null)
-			return an.getFullyQualifiedClassName();
-		JavaPersistentAttribute[] ids = getIds(jpt);
-		if (ids.length == 0)
-			return null;
-		String type = ids[0].getTypeName();
-		String wrapper = JPAEditorUtil.getPrimitiveWrapper(type);
-		return (wrapper != null) ? wrapper : type;
-	}
-	
-	public JavaPersistentAttribute[] getIds(JavaPersistentType jpt) {
-		ArrayList<JavaPersistentAttribute> res = new ArrayList<JavaPersistentAttribute>();
-		for (JavaPersistentAttribute at : jpt.getAttributes()) {
-			if (isId(at))
-				res.add(at);
-		}
-		JavaPersistentAttribute[] ret = new JavaPersistentAttribute[res.size()];
-		return res.toArray(ret);
-	}
-	
-	public boolean isId(JavaPersistentAttribute jpa) {
-		return isSimpleId(jpa) || isEmbeddedId(jpa);
-	}
-	
-	public boolean isSimpleId(JavaPersistentAttribute jpa) {
-		IdAnnotation an = (IdAnnotation)jpa.getResourceAttribute().getAnnotation(IdAnnotation.ANNOTATION_NAME);
-		return (an != null);
-	}
-	
-	public boolean isEmbeddedId(JavaPersistentAttribute jpa) {
-		EmbeddedIdAnnotation an = (EmbeddedIdAnnotation)jpa.getResourceAttribute().getAnnotation(EmbeddedIdAnnotation.ANNOTATION_NAME);
-		return (an != null);
-	}	
-	
-	public String getColumnName(JavaPersistentAttribute jpa) {
-		String columnName= null;
-		ColumnAnnotation an = (ColumnAnnotation)jpa.
-									getResourceAttribute().
-										getAnnotation(ColumnAnnotation.ANNOTATION_NAME);
-		if (an != null) 
-			columnName = an.getName();
-		if (columnName == null) 
-			columnName = jpa.getName();		
-		return columnName; 
-	}
-	
-
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/PeServiceUtilImpl.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/PeServiceUtilImpl.java
deleted file mode 100644
index c9dc29c..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/PeServiceUtilImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.PropertyContainer;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.services.Graphiti;
-
-public class PeServiceUtilImpl implements IPeServiceUtil {
-
-	public FreeFormConnection createFreeFormConnection(Diagram diagram) {
-		return Graphiti.getPeService().createFreeFormConnection(diagram);
-	}
-	
-	public String getPropertyValue(PropertyContainer propertyContainer, String key) {
-		return Graphiti.getPeService().getPropertyValue(propertyContainer, key);
-	}
-
-	public Property getProperty(PropertyContainer propertyContainer, String key) {
-		return Graphiti.getPeService().getProperty(propertyContainer, key);
-	}
-	
-	public boolean removeProperty(PropertyContainer propertyContainer, String key) {
-		return Graphiti.getPeService().removeProperty(propertyContainer, key);
-	}
-	
-	public void setPropertyValue(PropertyContainer propertyContainer, String key, String value) {	
-		Graphiti.getPeService().setPropertyValue(propertyContainer, key, value);
-	}
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/ResourceChangeListener.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/ResourceChangeListener.java
deleted file mode 100644
index 7e3482a..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/ResourceChangeListener.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarkerDelta;
-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.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-public class ResourceChangeListener implements IResourceChangeListener {
-
-	public void resourceChanged(IResourceChangeEvent event) {
-		IMarkerDelta[] markerDeltas = event.findMarkerDeltas(null, true);
-
-		for (IMarkerDelta delta : markerDeltas) {
-			if (delta.getResource().getType() != IResource.FILE)
-				continue;
-			if (delta.getKind() != IResourceDelta.REMOVED) 
-				continue;
-			final IFile file = (IFile) delta.getResource();
-			if (file.exists())
-				continue;
-			final IProject project = file.getProject();
-			final String name = project.getName();
-			if (file.getFullPath().equals(ModelIntegrationUtil.getDiagramXMLFullPath(name))) {
-				PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						IWorkbenchPage workbenchPage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-						IEditorReference[] editorRefs = workbenchPage.getEditorReferences();
-						for (IEditorReference editorRef : editorRefs) {
-							if(!JPADiagramEditorPlugin.PLUGIN_ID.equals(editorRef.getId())) 
-								continue;
-							if (name.equals(editorRef.getName())) 
-								continue;							
-							IEditorPart editor = editorRef.getEditor(false);
-							if (editor == null)
-								continue;
-							workbenchPage.closeEditor(editor, false);
-							break;
-						}
-					}
-				});
-				
-			}
-		}		
-	}
-		
-}
\ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/SizePosition.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/SizePosition.java
deleted file mode 100644
index c97012c..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/SizePosition.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-public class SizePosition {
-	
-	private int width;
-	private int height;
-	private int x;
-	private int y;
-
-	public boolean primaryCollapsed;
-	public boolean basicCollapsed;
-	public boolean relationCollapsed;
-	
-	public SizePosition(int width, int height, int x, int y) {
-		this.width = width;
-		this.height = height;
-		this.x = x;
-		this.y = y;
-	}
-	
-	public int getWidth() {
-		return width;
-	}
-	
-	public int getHeight() {
-		return height;
-	}
-	
-	public int getX() {
-		return x;
-	}
-	
-	public int getY() {
-		return y;
-	}
-	
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/Wrp.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/Wrp.java
deleted file mode 100644
index 16ffe81..0000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/Wrp.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-public class Wrp {
-	private Object obj;
-	
-	public Wrp() {}
-	
-	public void setObj(Object obj) {
-		this.obj = obj;
-	}
-	
-	public Object getObj() {
-		return obj;
-	}
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.classpath b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.classpath
deleted file mode 100644
index 4bf00ce..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/jpadiagrameditor/ui/**"/>
-			<accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.cvsignore b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.project b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.project
deleted file mode 100644
index fd5f562..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jpt.jpadiagrameditor.ui.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.settings/org.eclipse.jdt.core.prefs b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b7176b3..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Mar 09 10:22:22 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/META-INF/MANIFEST.MF b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 16845b3..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,39 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpadiagrameditor.ui.tests;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPAEditorTestsActivator
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.easymock;bundle-version="[2.4.0,3.0.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.transaction;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gef;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.graphiti;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.graphiti.ui;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.jpa.core;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.jpt.jpa.ui;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.jpt.jpadiagrameditor.ui;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.views.properties.tabbed;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.wst.common.modulecore;bundle-version="[1.2.1,2.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.junit4;bundle-version="[4.8.1,5.0.0)",
- org.eclipse.core.filesystem;bundle-version="[1.3.1,2.0.0)"
-Export-Package: org.eclipse.jpt.jpadiagrameditor.ui.tests.internal;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.editor;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.listener;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.ui;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.util;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.provider;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.relation;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;x-internal:=true
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/about.html b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/about.html
deleted file mode 100644
index be534ba..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/build.properties b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/build.properties
deleted file mode 100644
index 59add7e..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2011 SAP AG. All rights reserved.
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v1.0, which accompanies this distribution
-# and is available at http://www.eclipse.org/legal/epl-v10.html.
-# 
-# Contributors:
-#     Oracle - initial API and implementation
-################################################################################
-bin.includes = .,\
-               META-INF/,\
-               about.html,\
-               test.xml,\
-               plugin.properties
-source.. = src/
-output.. = bin/
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/plugin.properties b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/plugin.properties
deleted file mode 100644
index b5bcd87..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName=Dali Java Persistence Tools - JPA Diagram Editor JUnit Tests
-providerName = Eclipse Web Tools Platform
\ No newline at end of file
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/pom.xml b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/pom.xml
deleted file mode 100644
index 3acda23..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<parent>
-		<artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
-		<groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
-		<version>1.1.0-SNAPSHOT</version>
-		<relativePath>../../development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml</relativePath>
-	</parent>
-	
-	<artifactId>org.eclipse.jpt.ui.diagrameditor.test</artifactId>
-	<packaging>eclipse-test-plugin</packaging>
-	<name>JPA Diagram Editor Test Plug-in</name>
-	
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.sonatype.tycho</groupId>
-				<artifactId>maven-osgi-test-plugin</artifactId>
-				<version>${tycho-version}</version>
-				<configuration>
-					<testSuite>org.eclipse.jpt.jpadiagrameditor.tests</testSuite>
-					<testClass>org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.AllJpaEditorTests</testClass>
-					<useUIHarness>true</useUIHarness>
-					<useUIThread>true</useUIThread>
-					<argLine>-Xms128m -Xmx512m -XX:MaxPermSize=256m</argLine>
-					<product>org.eclipse.sdk.ide</product>
-					<application>org.eclipse.ui.ide.workbench</application>
-					<dependencies>
-						<dependency>
-							<type>p2-installable-unit</type>
-							<artifactId>org.eclipse.sdk.ide</artifactId>
-							<version>0.0.0</version>
-						</dependency>
-					</dependencies>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-	
-</project>
\ No newline at end of file
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/AllJpaEditorTests.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/AllJpaEditorTests.java
deleted file mode 100644
index 779e2d6..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/AllJpaEditorTests.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal;
-
-import java.io.File;
-import java.util.NoSuchElementException;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.editor.CreateDiagramTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.editor.EditorTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.AddAttributeFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.AddJPAEntityFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.AddRelationFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.DeleteRelationFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.DirectEditAttributeFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.LayoutEntityFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.util.ModelIntegrationUtilTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences.JPAEditorPreferenceInitializerTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences.JPAEditorPreferencesPageTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.provider.JPAEditorToolBehaviorProviderTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util.JPAEditorUtilTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util.JPASolverTest;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-/**
- * AllJpaEditorTests
- * 
- * Required Java system properties:
- *    -Dorg.eclipse.jpt.jpa.jar=<jpa.jar path>
- *    -Dorg.eclipse.jpt.eclipselink.jar=<eclipselink.jar path>
- */
-
-@RunWith(Suite.class)
-@SuiteClasses( {
-//				CreateDiagramTest.class,
-				JPAEditorPreferenceInitializerTest.class,
-	 			JPAEditorPreferencesPageTest.class,
-	 			AddJPAEntityFeatureTest.class,
-//				ClickAddFeatureTest.class,
-//				CreateDeleteEntity.class,
-				DirectEditAttributeFeatureTest.class,
-				EditorTest.class,	
-				JPAEditorToolBehaviorProviderTest.class,
-				JPAEditorUtilTest.class,
-				JPASolverTest.class,
-//				OpenMiniatureViewFeatureTest.class,
-//				RefactorAttributeTypeFeatureTest.class,
-//				SaveEntityFeatureTest.class,
-				AddRelationFeatureTest.class,
-				AddAttributeFeatureTest.class,
-//				CreateDeleteOnlyAttributeTest.class,
-//				JPAProjectListenerTest.class,
-//				ModelIntegrationTest.class,
-				ModelIntegrationUtilTest.class,
-				LayoutEntityFeatureTest.class,
-				DeleteRelationFeatureTest.class,
-//				CreateRelationsTest.class
-				})
-
-public class AllJpaEditorTests {
-	
-	/**
-	 * This check is necessary to abort the test suite in the build 
-	 * when the environment is not setup properly.
-	 * 
-	 * @throws NoSuchElementException
-	 */
-    @BeforeClass
-    public static void verifyRequiredJarsExists() throws NoSuchElementException {
-    	verifyJpaJarExists();
-    	verifyEclipseLinkJarExists();
-    }
-
-	private static void verifyJpaJarExists() throws NoSuchElementException {
-		verifyRequiredPropertyExists(JPACreateFactory.JPA_JAR_NAME_SYSTEM_PROPERTY);
-		verifyRequiredFileExists(JPACreateFactory.JPA_JAR_NAME_SYSTEM_PROPERTY);
-	}
-	
-	private static void verifyEclipseLinkJarExists() throws NoSuchElementException {
-		verifyRequiredPropertyExists(JPACreateFactory.ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY);
-		verifyRequiredFileExists(JPACreateFactory.ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY);
-	}
-		
-	private static void verifyRequiredPropertyExists(String propertyName) throws NoSuchElementException {
-		if(JPACreateFactory.getSystemProperty(propertyName) == null) {
-			throw new NoSuchElementException(errorMissingProperty(propertyName));
-		}
-	}
-
-	private static void verifyRequiredFileExists(String propertyName) throws NoSuchElementException {
-		String fileName = JPACreateFactory.getSystemProperty(propertyName);
-		if( ! (new File(fileName)).exists()) {
-			throw new NoSuchElementException(errorJarFileDoesNotExist(fileName));
-		}
-	}
-
-	private static String errorMissingProperty(String propertyName) {
-		return "Missing Java system property: \"" + propertyName + "\"";
-	}
-
-	private static String errorJarFileDoesNotExist(String fileName) {
-		return "JAR file doesn't exist: \"" + fileName + "\"";
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPACreateFactory.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPACreateFactory.java
deleted file mode 100644
index e892d93..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPACreateFactory.java
+++ /dev/null
@@ -1,640 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.StringTokenizer;
-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.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.context.JpaRootContextNode;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml;
-import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetDataModelProperties;
-import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetInstallDataModelProperties;
-import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetInstallDataModelProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-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.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-@SuppressWarnings("restriction")
-public class JPACreateFactory {
-	
-	public static final String JPA_JAR_NAME_SYSTEM_PROPERTY = "org.eclipse.jpt.jpa.jar";
-	public static final String ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY = "org.eclipse.jpt.eclipselink.jar";	
-	
-	private static JPACreateFactory factory = null;
-	private IFacetedProject facetedProject; 
-	private IProject project; 
-	private IJavaProject javaProject;
-	//private IPackageFragmentRoot sourceFolder;
-	JpaProject jpaProject;
-	
-	public static synchronized JPACreateFactory instance() {
-		if (factory == null)
-			factory = new JPACreateFactory();
-		return factory;
-	}
-	
-	private IProject buildPlatformProject(String projectName) throws CoreException {
-		IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
-		description.setAutoBuilding(true);
-		ResourcesPlugin.getWorkspace().setDescription(description);		
-		IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		p.create(null);
-		p.open(null);
-		return p;
-	}
-
-	protected IDataModel buildJpaConfigDataModel() {
-		IDataModel dataModel = DataModelFactory.createDataModel(new JpaFacetInstallDataModelProvider());		
-		dataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, "1.0");
-		dataModel.setProperty(JpaFacetDataModelProperties.PLATFORM, null /*GenericPlatform.VERSION_1_0.getId()*/);
-		dataModel.setProperty(JpaFacetInstallDataModelProperties.CREATE_ORM_XML, Boolean.TRUE);
-		return dataModel;
-	}
-	
-	public JpaProject createJPAProject(String projectName) throws CoreException {
-		return createJPAProject(projectName, null, "1.0");
-	}
-
-	public JpaProject createJPA20Project(String projectName) throws CoreException {
-		return createJPAProject(projectName, null, "2.0");
-	}
-	
-	
-	public JpaProject createJPAProject(String projectName, IDataModel jpaConfig, String jpaFacetVersion) throws CoreException {
-		project = buildPlatformProject(projectName);
-		javaProject = createJavaProject(project, true);
-		if (jpaConfig != null) {
-			jpaFacetVersion = jpaConfig.getStringProperty(IFacetDataModelProperties.FACET_VERSION_STR);
-		}
-		installFacet(facetedProject, "jst.utility", "1.0");
-		installFacet(facetedProject, "jpt.jpa", jpaFacetVersion, jpaConfig);
-		addJar(javaProject, jpaJarName());
-		if (eclipseLinkJarName() != null) {
-			addJar(javaProject, eclipseLinkJarName());
-		}
-		project.refreshLocal(IResource.DEPTH_INFINITE, null);
-		jpaProject = this.getJpaProject(project);
-		int cnt = 0;
-		while ((jpaProject == null) && (cnt < 1000)){
-			try {
-				Thread.sleep(500);
-			} catch (InterruptedException e) {
-				e.printStackTrace();
-			}
-			jpaProject = this.getJpaProject(project);
-			cnt++;
-		}
-		jpaProject.setDiscoversAnnotatedClasses(true);
-//		jpaProject.setUpdater(new SynchronousJpaProjectUpdater(jpaProject));
-		return jpaProject;
-	}
-	
-	private JpaProject getJpaProject(IProject p) {
-		return (JpaProject) p.getAdapter(JpaProject.class);
-	}
-
-	public static String eclipseLinkJarName() {
-		return getSystemProperty(ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY);
-	}
-	
-	public void installFacet(IFacetedProject facetedProject,
-							 String facetName, 
-							 String versionName) throws CoreException {
-		installFacet(facetedProject, facetName, versionName, null);
-	}
-
-	public void uninstallFacet(IFacetedProject facetedProject,
-							   String facetName, 
-							   String versionName) throws CoreException {
-		uninstallFacet(facetedProject, facetName, versionName, null);
-	}
-
-	/**
-	 * if 'config' is null (and 'facetName' is "jpt.jpa"), the JPA project will be built with the defaults
-	 * defined in JpaFacetInstallDataModelProvider#getDefaultProperty(String)
-	 */
-	public void installFacet(IFacetedProject facetedProject,
-							 String facetName, 
-							 String versionName, 
-							 IDataModel config) throws CoreException {
-		facetedProject.installProjectFacet(this.facetVersion(facetName, versionName), config, null);
-	}
-
-	public void uninstallFacet(IFacetedProject facetedProject,
-							   String facetName, 
-							   String versionName, 
-							   IDataModel config) throws CoreException {
-		facetedProject.uninstallProjectFacet(this.facetVersion(facetName, versionName), config, null);
-	}
-
-	private IProjectFacetVersion facetVersion(String facetName, String versionName) {
-		return ProjectFacetsManager.getProjectFacet(facetName).getVersion(versionName);
-	}
-	
-	protected static String getSystemProperty(String propertyName) {
-		return System.getProperty(propertyName);
-	}
-
-	public void addJar(IJavaProject javaProject, String jarPath) throws JavaModelException {
-		this.addClasspathEntry(javaProject, JavaCore.newLibraryEntry(new Path(jarPath), null, null));
-	}
-
-	private void addClasspathEntry(IJavaProject javaProject, IClasspathEntry entry) throws JavaModelException {
-		javaProject.setRawClasspath(ArrayTools.add(javaProject.getRawClasspath(), entry), null);
-	}
-	
-	private IFacetedProject createFacetedProject(IProject project) throws CoreException {
-		return ProjectFacetsManager.create(project, true, null);		// true = "convert if necessary"
-	}
-	
-	public IJavaProject createJavaProject(IProject project,  
-										  boolean autoBuild) throws CoreException {
-		facetedProject = createFacetedProject(project);
-		installFacet(facetedProject, "jst.java", "5.0");
-		javaProject = JavaCore.create(project);
-		//sourceFolder = javaProject.getPackageFragmentRoot(project.getFolder("src"));
-		return javaProject;
-	}
-	
-	public static String jpaJarName() {
-		return getSystemProperty(JPA_JAR_NAME_SYSTEM_PROPERTY);
-	}
-	
-	public IFile createEntity(JpaProject jpaProject, String fullyQualifiedName) throws Exception {
-		StringTokenizer tokenizer = new StringTokenizer(fullyQualifiedName, ".");
-		ArrayList<String> nameElements = new ArrayList<String>();
-		while(tokenizer.hasMoreElements()){
-			nameElements.add(tokenizer.nextToken());
-		}
-		ArrayList<String> packageFragments = new ArrayList<String>();
-		for(int i=0;i<nameElements.size()-1;i++){
-			packageFragments.add(nameElements.get(i));
-		}
-		String[] packageStrings = new String[packageFragments.size()];
-		for(int i=0;i<packageFragments.size();i++){
-			packageStrings[i] = packageFragments.get(i);
-		}
-		String name = nameElements.get(Math.max(0, nameElements.size()-1));
-//		SynchronousJpaProjectUpdater updater = new SynchronousJpaProjectUpdater(jpaProject);
-//		updater.start();
-		JpaRootContextNode jpaProjectContent = jpaProject.getRootContextNode();
-		PersistenceXml persXML = jpaProjectContent.getPersistenceXml();
-		int cnt = 0;
-		while ((persXML == null) && (cnt < 100)) {		
-			Thread.sleep(250);
-			persXML = jpaProjectContent.getPersistenceXml();
-			cnt++;
-		}
-		if (persXML == null)
-			throw new NullPointerException("The persistence XML is not created");
-		
-		IFile entity1 = createEntityInProject(jpaProject.getProject(), packageStrings, name);
-		JavaResourceAbstractType jrpt = jpaProject.getJavaResourceType(fullyQualifiedName);
-		cnt = 0;
-		while((jrpt == null) && (cnt < 100)) {
-			try {
-				Thread.sleep(250);
-			} catch (Exception e) {} 
-			jrpt = jpaProject.getJavaResourceType(fullyQualifiedName);
-			cnt++;
-		}
-		if (jrpt == null)
-			throw new NullPointerException("The entity '" + fullyQualifiedName + "' could not be created");		
-		return entity1;
-	}
-	
-	public IFile createEntityInProject(IProject project, 
-									   String[] packageFragments, 
-									   String entityName) throws IOException, 
-									   							 CoreException, 
-									   							 JavaModelException {
-		String folderName = getFolderName(project, packageFragments);
-		String packageName = packageFragments[0];		
-		for (int i = 1; i < packageFragments.length; i++) {
-			packageName += "." + packageFragments[i];
-		}
-		
-		IPath path = new Path(folderName);
-		IFolder folder = project.getFolder(path);		 
-		return createEntity(folder, packageName , entityName);
-	}
-
-	@SuppressWarnings("deprecation")
-	private String getFolderName(IProject project, String[] packageFragments)
-			throws JavaModelException {
-		IJavaProject javaProject = JavaCore.create(project);		
-		IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
-		final IClasspathEntry[] classpathEntries =  javaProject.getRawClasspath();		
-		for (IClasspathEntry classpathEntry : classpathEntries) {
-			if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-				packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
-				break;
-			}  			
-		}
-		
-		String folderName = packageFragmentRoots[0].getResource().getName();
-		for (String fragment : packageFragments) {
-			folderName += Path.SEPARATOR + fragment;
-		}
-		return folderName;
-	}
-	
-	private IFile createEntity(IFolder folder, String packageName, String entityName) throws IOException, CoreException {
-		String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
-		if (!folder.exists()) {
-			createDirectories(folder, true, true, new NullProgressMonitor());
-		}
-		IFile file = folder.getFile(entityShortName + ".java");		
-		if (!file.exists()) {
-			String content = "package " + packageName + ";\n\n" 
-					+ "import javax.persistence.*;\n\n" 
-					+ "@Entity \n"
-					+ "public class " + entityShortName + " {\n"
-					+ "	private int id;\n"
-					+ "	@Id \n"
-					+ "	public int getId() {\n" 
-					+ "		return id;\n"
-					+ "	}\n"
-					+ "	public void setId(int id) {\n"
-					+ "		this.id = id;\n" 
-					+ "	}\n"
-					+ "}"; //$NON-NLS-1$
-			ByteArrayOutputStream stream = new ByteArrayOutputStream();
-			try {
-				stream.write(content.getBytes());
-				stream.flush();
-				file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
-			} finally {
-				stream.close();
-			}	
-		}
-		return file;
-	}	
-	
-	public IFile createEntityWithCompositePKInProject(IProject project,
-			String[] packageFragments, String entityName) throws IOException,
-			CoreException, JavaModelException {
-		String folderName = getFolderName(project, packageFragments);
-
-		String packageName = packageFragments[0];
-		for (int i = 1; i < packageFragments.length; i++) {
-			packageName += "." + packageFragments[i];
-		}
-
-		IPath path = new Path(folderName);
-		IFolder folder = project.getFolder(path);
-		return createEntityWithCompositePK(folder, packageName, entityName);
-	}
-
-	public IFile createIdClassInProject(IProject project,
-			String[] packageFragments, String entityName) throws IOException,
-			CoreException, JavaModelException {
-		String folderName = getFolderName(project, packageFragments);
-
-		String packageName = packageFragments[0];
-		for (int i = 1; i < packageFragments.length; i++) {
-			packageName += "." + packageFragments[i];
-		}
-
-		IPath path = new Path(folderName);
-		IFolder folder = project.getFolder(path);
-		return createIdClass(folder, packageName, entityName);
-	}
-
-	public IFile createEmbeddedClassInProject(IProject project,
-			String[] packageFragments, String entityName) throws IOException,
-			CoreException, JavaModelException {
-		String folderName = getFolderName(project, packageFragments);
-
-		String packageName = packageFragments[0];
-		for (int i = 1; i < packageFragments.length; i++) {
-			packageName += "." + packageFragments[i];
-		}
-
-		IPath path = new Path(folderName);
-		IFolder folder = project.getFolder(path);
-		return createEmbeddedClass(folder, packageName, entityName);
-	}
-
-	public IFile createEntityWithEmbeddedPKInProject(IProject project,
-			String[] packageFragments, String entityName) throws IOException,
-			CoreException, JavaModelException {
-		String folderName = getFolderName(project, packageFragments);
-
-		String packageName = packageFragments[0];
-		for (int i = 1; i < packageFragments.length; i++) {
-			packageName += "." + packageFragments[i];
-		}
-
-		IPath path = new Path(folderName);
-		IFolder folder = project.getFolder(path);
-		return createEntityWithEmbeddedPK(folder, packageName, entityName);
-	}
-	
-		
-		
-		private IFile createEntityWithCompositePK(IFolder folder, String packageName, String entityName) throws IOException, CoreException{
-			String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
-			if (!folder.exists()) {
-				createDirectories(folder, true, true, new NullProgressMonitor());
-			}
-			IFile file = folder.getFile(entityShortName + ".java");		
-			if (!file.exists()) {
-				String content = "package " + packageName + ";\n\n" 
-						+ "import javax.persistence.*;\n\n" 
-						+ "@Entity \n"
-						+ "@IdClass("+entityShortName+"Id.class)"
-					+ "public class " + entityShortName + " {\n"
-						+ "	@Id \n"
-						+ "	private String firstName;\n"
-						+ "	@Id \n"
-						+ "	private String lastName;\n"
-						+ " public "+entityShortName+"Id() {}\n"
-	                    + " public "+entityShortName+"Id(String firstName, String lastName)\n{"
-	                    + "     this.firstName = firstName;\n"
-	                    + "     this.lastName = lastName;\n"
-	                    + " }\n"
-						+ "}"; //$NON-NLS-1$
-				ByteArrayOutputStream stream = new ByteArrayOutputStream();
-				try {
-					stream.write(content.getBytes());
-					stream.flush();
-					file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
-				} finally {
-					stream.close();
-				}	
-			}
-			return file;
-			}
-		
-		private IFile createIdClass(IFolder folder, String packageName, String entityName) throws IOException, CoreException{
-			String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
-			if (!folder.exists()) {
-				createDirectories(folder, true, true, new NullProgressMonitor());
-			}
-			IFile file = folder.getFile(entityShortName + "Id.java");		
-			if (!file.exists()) {
-				String content = "package " + packageName + ";\n\n" 
-						+ "import javax.persistence.*;\n\n" 
-						+"import java.io.Serializable;"
-						+ "public class " + entityShortName + "Id {\n"
-						+ "	private String firstName;\n"
-						+ "	private String lastName;\n"
-						+ "	public String getFirstName() {\n" 
-						+ "		return firstName;\n"
-						+ "	}\n"
-						+ "	public void setFirstName(String firstName) {\n"
-						+ "		this.firstName = firstName;\n" 
-						+ "	}\n"
-						+ "	public String getLastName() {\n" 
-						+ "		return lastName;\n"
-						+ "	}\n"
-						+ "	public void setLastName(String lastName) {\n"
-						+ "		this.lastName = lastName;\n" 
-						+ "	}\n"
-						+ "}"; //$NON-NLS-1$
-				ByteArrayOutputStream stream = new ByteArrayOutputStream();
-				try {
-					stream.write(content.getBytes());
-					stream.flush();
-					file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
-				} finally {
-					stream.close();
-				}	
-			}
-			return file;
-			}
-		
-		private IFile createEntityWithEmbeddedPK(IFolder folder, String packageName, String entityName) throws IOException, CoreException{
-			String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
-			if (!folder.exists()) {
-				createDirectories(folder, true, true, new NullProgressMonitor());
-			}
-			IFile file = folder.getFile(entityShortName + ".java");		
-			if (!file.exists()) {
-				String content = "package " + packageName + ";\n\n" 
-						+ "import javax.persistence.*;\n\n" 					
-						+ "@Entity\n"
-						+ "public class " + entityShortName + " {\n"
-						+ "@EmbeddedId\n"
-						+ "	private "+ entityShortName +"Id id;\n"						
-						+ "public void setId(" + entityShortName+ "Id param) {\n"
-						+ "	this.id = param;\n"
-						+ "}\n"
-						+ "public "+entityShortName+"Id getId() {\n"
-						+	"return id;\n"
-						+ "}\n"						
-						+ "}"; //$NON-NLS-1$
-				ByteArrayOutputStream stream = new ByteArrayOutputStream();
-				try {
-					stream.write(content.getBytes());
-					stream.flush();
-					file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
-				} finally {
-					stream.close();
-				}	
-			}
-			return file;
-			}
-		
-		private IFile createEmbeddedClass(IFolder folder, String packageName, String entityName) throws IOException, CoreException{
-			String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
-			if (!folder.exists()) {
-				createDirectories(folder, true, true, new NullProgressMonitor());
-			}
-			IFile file = folder.getFile(entityShortName + ".java");		
-		if (!file.exists()) {
-			String content = "package " + packageName + ";\n\n"
-			                 + "import javax.persistence.*;\n" 
-			                 + "@Embeddable\n"
-					         + "public class " + entityShortName + " {\n"
-					     	 +"private String firstName;\n"
-					     	 +"public String getFirstName() {\n"
-					     	 + "	return firstName;\n"
-					     	 + "}\n"
-					     	 + "public void setFirstName(String firstName) {\n"
-					     	 +	"this.firstName = firstName;\n"
-					     	 + "}\n"
-					         + "}"; //$NON-NLS-1$
-				ByteArrayOutputStream stream = new ByteArrayOutputStream();
-				try {
-					stream.write(content.getBytes());
-					stream.flush();
-					file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
-				} finally {
-					stream.close();
-				}	
-			}
-			return file;
-			}
-	
-	
-	private void createDirectories(IContainer container, boolean force,
-			boolean local, IProgressMonitor monitor) throws CoreException {
-		if (container != null && container instanceof IFolder) {
-			IFolder folder = (IFolder) container;
-			if (!folder.exists()) {
-				// depth first
-				IContainer parent = folder.getParent();
-				createDirectories(parent, force, local, null);
-				// own second
-				folder.create(force, local, monitor);
-			}
-		}
-	}
-	
-	public static ReadOnlyPersistentAttribute getPersistentAttribute(IFile entity, String attributeName){
-		Set<ReadOnlyPersistentAttribute> result = getEntityFields(entity);
-		for(ReadOnlyPersistentAttribute attribute : result){
-			if(attributeName.equals(attribute.getName())){
-				return attribute;
-			}
-		}
-		return null;
-	}
-	
-	public static PersistentType getPersistentType(IFile file){
-		JpaFile jpaFile = getJpaFile(file);
-		for (JpaStructureNode node : getRootNodes(jpaFile)) {
-			PersistentType entity = (PersistentType) node;
-			return entity;
-		}
-		return null;
-	}
-
-	private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
-		if(jpaFile == null){
-			return EmptyIterable.instance();
-		}
-		return jpaFile.getRootStructureNodes();
-	}
-	
-	public static Set<ReadOnlyPersistentAttribute> getEntityFields(IFile file){
-		Set<ReadOnlyPersistentAttribute> result = new HashSet<ReadOnlyPersistentAttribute>();
-		JpaFile jpaFile = getJpaFile(file);
-		if(jpaFile == null){
-			return result;
-		}
-		for (JpaStructureNode node : getRootNodes(jpaFile)) {
-			PersistentType entity = (PersistentType) node;
-			for (ReadOnlyPersistentAttribute attribute : entity.getAllAttributes()) {
-				result.add(attribute);
-			}
-		}
-		return result;
-	}
-
-	private static JpaFile getJpaFile(IFile file) {
-		return (JpaFile) file.getAdapter(JpaFile.class);
-	}
-	
-	public void addAttributes(IFile entity, String attName, String attType, String annotation, String attActName, boolean isCollection){
-		JavaPersistentType javaPersistentType = (JavaPersistentType)getPersistentType(entity);
-		int cnt = 0;
-		while ((javaPersistentType == null) && (cnt < 100)) {
-			try {
-				Thread.sleep(250);
-			} catch (InterruptedException e) {}
-			javaPersistentType = (JavaPersistentType)getPersistentType(entity);
-			cnt++;
-		}
-		if (javaPersistentType == null)
-			throw new RuntimeException("The entity could not be created");
-		ICompilationUnit compilationUnit = JavaCore.createCompilationUnitFrom(entity);
-		JpaArtifactFactory.instance().addNewAttribute(javaPersistentType, compilationUnit, attName, attType, annotation, attActName, isCollection, null);
-	}
-	
-	private IFile createFieldAnnotatedEntity(IFolder folder, String packageName, String entityName) throws IOException, CoreException {
-		String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
-		if (!folder.exists()) {
-			createDirectories(folder, true, true, new NullProgressMonitor());
-		}
-		IFile file = folder.getFile(entityShortName + ".java");		
-		if (!file.exists()) {
-			String content = "package " + packageName + ";\n\n" 
-					+ "import javax.persistence.*;\n\n" 
-					+ "@Entity \n"
-					+ "public class " + entityShortName + " {\n"
-					+ "	@Id \n"					
-					+ "	private int id;\n"
-					+ "	public int getId() {\n" 
-					+ "		return id;\n"
-					+ "	}\n"
-					+ "	public void setId(int id) {\n"
-					+ "		this.id = id;\n" 
-					+ "	}\n"
-					+ "}"; //$NON-NLS-1$
-			ByteArrayOutputStream stream = new ByteArrayOutputStream();
-			try {
-				stream.write(content.getBytes());
-				stream.flush();
-				file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
-			} finally {
-				stream.close();
-			}	
-		}
-		return file;
-	}	
-
-	public IFile createFieldAnnotatedEntityInProject(IProject project, String[] packageFragments, String entityName) throws IOException, CoreException, JavaModelException {
-		String folderName = getFolderName(project, packageFragments);
-		String packageName = packageFragments[0];		
-		for (int i = 1; i < packageFragments.length; i++) {
-			packageName += "." + packageFragments[i];
-		}
-		
-		IPath path = new Path(folderName);
-		IFolder folder = project.getFolder(path);		 
-		return createFieldAnnotatedEntity(folder, packageName , entityName);
-	}
-	
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPAEditorTestsActivator.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPAEditorTestsActivator.java
deleted file mode 100644
index 7571ee0..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPAEditorTestsActivator.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jpt.common.utility.internal.ReflectionTools;
-import org.eclipse.jpt.jpa.core.JpaProjectManager;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.osgi.framework.BundleContext;
-
-public class JPAEditorTestsActivator extends Plugin {
-
-	/**
-	 * 
-	 */
-	public JPAEditorTestsActivator() {
-	}
-
-	// The shared instance
-	private static JPAEditorTestsActivator plugin;
-	
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-		JpaProjectManager jpaProjectManager = this.getJpaProjectManager();
-		ReflectionTools.executeMethod(jpaProjectManager, "executeCommandsSynchronously"); //$NON-NLS-1$
-	}
-
-	protected JpaProjectManager getJpaProjectManager() {
-		return (JpaProjectManager) ResourcesPlugin.getWorkspace().getAdapter(JpaProjectManager.class);
-	}
-
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static JPAEditorTestsActivator getDefault() {
-		return plugin;
-	}
-
-	
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/CreateDiagramTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/CreateDiagramTest.java
deleted file mode 100644
index e767ac1..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/CreateDiagramTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.editor;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.concurrent.Semaphore;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.CreateDiagramJob;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Test;
-
-public class CreateDiagramTest {
-	
-	@Test
-	public void testCreateDiagramWhenPersistenceUnitHasDifferentNameFromTheProject() throws InterruptedException, CoreException {		
-		JPACreateFactory factory = JPACreateFactory.instance();
-		JpaProject jpaProject = factory.createJPAProject("JPA_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		String persistenceUnitName = jpaProject.getName() + "_unit";
-		PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject); 
-		pu.setName(persistenceUnitName);
-		assertEquals(persistenceUnitName, pu.getName());
-		
-		
-		final CreateDiagramJob createDiagramRunnable = new CreateDiagramJob(pu, 10, true);
-		createDiagramRunnable.setRule(ResourcesPlugin.getWorkspace().getRoot());
-		final Semaphore s = new Semaphore(0); 
-		createDiagramRunnable.addJobChangeListener(new JobChangeAdapter(){
-			public void done(IJobChangeEvent event) {
-				s.release();
-			}
-		});
-		createDiagramRunnable.setUser(true);
-		createDiagramRunnable.schedule();
-		s.acquire();
-		Diagram d = createDiagramRunnable.getDiagram();
-		assertEquals(jpaProject.getName(), d.getName());
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/EditorTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/EditorTest.java
deleted file mode 100644
index b6484a2..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/EditorTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.editor;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertNotNull;
-import org.easymock.EasyMock;
-import org.eclipse.gef.EditPart;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.ui.selection.JpaSelectionManager;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleListener;
-
-@SuppressWarnings("restriction")
-public class EditorTest {
-
-	@Test
-	public void testJPADiagramEditorCreation() {
-		JPADiagramEditor ed = new JPADiagramEditor();
-		assertNotNull(ed);
-	}
-	
-	
-	@Test
-	public void testJPADiagramEditorPlugin() {
-		JPADiagramEditorPlugin plugin = new JPADiagramEditorPlugin();
-		BundleContext bc = EasyMock.createMock(BundleContext.class);
-		Bundle bundle = EasyMock.createMock(Bundle.class);
-		EasyMock.expect(bundle.getSymbolicName()).andStubReturn("");
-		EasyMock.expect(bc.getBundle()).andStubReturn(bundle);
-		bc.addBundleListener(EasyMock.isA(BundleListener.class));
-		bc.removeBundleListener(EasyMock.isA(BundleListener.class));
-		EasyMock.replay(bc, bundle);
-		try {
-			plugin.start(bc);
-			plugin.stop(bc);			
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		EasyMock.verify(bc);
-	}	
-	
-	@Test
-	public void testSelectionChanged() {
-		final IJPAEditorFeatureProvider provider = EasyMock
-				.createMock(IJPAEditorFeatureProvider.class);
-
-		IWorkbenchPart part = replayPart();
-
-		PictogramElement pe = EasyMock.createMock(PictogramElement.class);
-		replay(pe);
-		EditPart editPart = EasyMock.createMock(EditPart.class);
-		expect(editPart.getModel()).andReturn(pe);
-		replay(editPart);
-
-		JpaStructureNode jpaNodeToBeSelected = EasyMock
-				.createMock(JpaStructureNode.class);
-		expect(provider.getBusinessObjectForPictogramElement(pe)).andReturn(
-				jpaNodeToBeSelected);
-		replay(provider);
-
-		// test
-		JpaSelectionManager manager = EasyMock
-				.createMock(JpaSelectionManager.class);
-		manager.setSelection(isA(JpaStructureNode.class));
-		replay(manager);
-
-		JPADiagramEditor.ISelectionManagerFactory factory = EasyMock
-				.createMock(JPADiagramEditor.ISelectionManagerFactory.class);
-		expect(factory.getSelectionManager(isA(IWorkbenchWindow.class)))
-				.andReturn(manager);
-		replay(factory);
-		JPADiagramEditor editor = createEditor(provider, factory);
-		// test
-		editor.selectionChanged(part, new StructuredSelection(editPart));
-		verify(manager);
-	}
-
-	private JPADiagramEditor createEditor(final IJPAEditorFeatureProvider provider,
-			JPADiagramEditor.ISelectionManagerFactory factory) {
-		IWorkbenchPage page = EasyMock.createMock(IWorkbenchPage.class);
-		expect(page.isPartVisible(isA(IWorkbenchPart.class)))
-				.andReturn(false);
-		expect(page.getActiveEditor()).andStubReturn(null);
-		replay(page);
-		final IWorkbenchPartSite site = EasyMock
-				.createMock(IWorkbenchPartSite.class);
-		expect(site.getPage()).andStubReturn(page);
-		replay(site);
-
-		JPADiagramEditor editor = new JPADiagramEditor(factory) {
-			@Override
-			public IJPAEditorFeatureProvider getFeatureProvider() {
-				return provider;
-			}
-
-			public IWorkbenchPartSite getSite() {
-				return site;
-			}
-		};
-		return editor;
-	}
-
-	private IWorkbenchPart replayPart() {
-		IWorkbenchWindow window = EasyMock.createMock(IWorkbenchWindow.class);
-		replay(window);
-		IWorkbenchPage page = EasyMock.createMock(IWorkbenchPage.class);
-		IWorkbenchPartSite site = EasyMock.createMock(IWorkbenchPartSite.class);
-		expect(site.getWorkbenchWindow()).andReturn(window);
-		expect(site.getPage()).andStubReturn(page);
-		replay(site);
-		IWorkbenchPart part = EasyMock.createMock(IWorkbenchPart.class);
-		expect(part.getSite()).andStubReturn(site);
-		expect(page.isPartVisible(isA(IWorkbenchPart.class)))
-				.andReturn(false);
-		expect(page.getActiveEditor()).andReturn(null);
-		replay(page);
-		replay(part);
-		return part;
-	}
-
-	@Test
-	public void testSelectionChangedTextSelection() {
-		JPADiagramEditor editor = createEditor(null, null);
-		editor.selectionChanged(null, new ISelection() {
-			public boolean isEmpty() {
-				return false;
-			}
-		});
-	}
-
-	@Test
-	public void testSelectionChangedNotEditPart() {
-		JPADiagramEditor editor = createEditor(null, null);
-		editor.selectionChanged(null, new StructuredSelection(new Object()));
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddAttributeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddAttributeFeatureTest.java
deleted file mode 100644
index 67958b7..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddAttributeFeatureTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-
-import java.util.Arrays;
-
-import org.easymock.EasyMock;
-import org.easymock.IArgumentMatcher;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.IDirectEditingInfo;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.junit.Before;
-import org.junit.Test;
-
-public class AddAttributeFeatureTest {
-
-	private IJPAEditorFeatureProvider featureProvider;
-
-	private AddContext context;
-
-	private JavaPersistentAttribute jpa;
-
-	private ContainerShape entityShape;
-
-	private ICustomFeature expandFeature;
-
-	private IAddFeature graphicalAdd;
-
-	/**
-	 * @throws java.lang.Exception
-	 */
-	@Before
-	public void setUp() throws Exception {
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		jpa = EasyMock.createMock(JavaPersistentAttribute.class);
-		context = new AddContext();
-		context.setNewObject(jpa);
-		context.setTargetContainer(entityShape);
-		graphicalAdd = EasyMock.createMock(IAddFeature.class);
-		expandFeature = EasyMock.createMock(ICustomFeature.class);
-	}
-
-	@Test
-	public void testAddNotJPA() {
-		context.setNewObject(new Object());
-		assertNull(callAdd());
-	}
-	
-
-	@SuppressWarnings("unused")
-	private void confgirueAttributeShape(ContainerShape attributeContainer) {
-		ContainerShape attributeShape = EasyMock.createMock(ContainerShape.class);
-		expect(featureProvider.getPictogramElementForBusinessObject(jpa)).andReturn(attributeShape);
-		expect(attributeShape.getContainer()).andReturn(attributeContainer);
-		replay(attributeShape);
-	}
-
-	@SuppressWarnings({ "unchecked", "unused" })
-	private ContainerShape replayTextShape(Text text) {
-		EList<GraphicsAlgorithm> children = EasyMock.createMock(EList.class);
-		children.add(text);
-		GraphicsAlgorithm ga = EasyMock.createMock(GraphicsAlgorithm.class);
-		expect(ga.getGraphicsAlgorithmChildren()).andReturn(children);
-		replay(ga);
-		ContainerShape textShape = EasyMock.createMock(ContainerShape.class);
-		expect(textShape.getGraphicsAlgorithm()).andReturn(ga);
-		replay(textShape);
-		return textShape;
-	}
-
-	@SuppressWarnings("unused")
-	private IDirectEditingInfo configureDirectEditing(Text text, ContainerShape textShape) {
-		IDirectEditingInfo info = EasyMock.createMock(IDirectEditingInfo.class);
-		info.setGraphicsAlgorithm(text);
-		info.setMainPictogramElement(textShape);
-		info.setPictogramElement(textShape);
-		expect(featureProvider.getDirectEditingInfo()).andReturn(info);
-		replay(info);
-		return info;
-	}
-
-	@SuppressWarnings("unused")
-	private ICustomContext createCustomContextMatcher(final PictogramElement[] elements) {
-		EasyMock.reportMatcher(new IArgumentMatcher() {
-			public void appendTo(StringBuffer buffer) {
-			}
-
-			public boolean matches(Object argument) {
-				if (!ICustomContext.class.isInstance(argument))
-					return false;
-				ICustomContext context = (ICustomContext) argument;
-				return Arrays.equals(context.getPictogramElements(), elements);
-			}
-		});
-		return null;
-	}
-
-	@SuppressWarnings("unused")
-	private IAddContext contextMatcher() {
-		EasyMock.reportMatcher(new IArgumentMatcher() {
-
-			public void appendTo(StringBuffer buffer) {
-			}
-
-			public boolean matches(Object argument) {
-				if (!IAddContext.class.isInstance(argument))
-					return false;
-				IAddContext context = (IAddContext) argument;
-				// compare by reference
-				if (jpa != context.getNewObject())
-					return false;
-				if (entityShape != context.getTargetContainer())
-					return false;
-				return true;
-
-			}
-
-		});
-		return null;
-	}
-
-	private PictogramElement callAdd() {
-		IAddFeature fixture = createFeature();
-		return fixture.add(context);
-	}
-
-	@Test
-	public void testGetFeatureProvider() {
-		assertSame(featureProvider, createFeature().getFeatureProvider());
-	}
-
-	@Test
-	public void testCanAddObject() {
-		context.setNewObject(new Object());
-		// test
-		assertEquals(false, callCanAdd());
-	}
-
-	@Test
-	public void testCanAddJpt() {
-		// test
-		assertEquals(true, callCanAdd());
-	}
-
-	private boolean callCanAdd() {
-		IAddFeature fixture = createFeature();
-		boolean result = fixture.canAdd(context);
-		return result;
-	}
-
-	private IAddFeature createFeature() {
-		replay(featureProvider);
-		replay(graphicalAdd);
-		replay(expandFeature);
-		return new AddAttributeFeature(featureProvider, graphicalAdd, expandFeature);
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddJPAEntityFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddJPAEntityFeatureTest.java
deleted file mode 100644
index f586ba2..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddJPAEntityFeatureTest.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-
-import org.easymock.EasyMock;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Color;
-import org.eclipse.graphiti.mm.algorithms.styles.Font;
-import org.eclipse.graphiti.mm.algorithms.styles.Orientation;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramsPackage;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.UpdateAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.junit.Before;
-import org.junit.Test;
-
-public class AddJPAEntityFeatureTest {
-	
-	private IJPAEditorFeatureProvider featureProvider;
-	
-	
-	@Before
-	public void setUp() throws Exception {
-		Thread.sleep(2000);
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getAttribsNum((Shape) EasyMock.anyObject())).andStubReturn(0);
-		IDiagramTypeProvider idp = EasyMock.createMock(IDiagramTypeProvider.class);
-		expect(featureProvider.getDiagramTypeProvider()).andStubReturn(idp);
-		expect(featureProvider.increaseAttribsNum((Shape) EasyMock.anyObject())).andStubReturn(1);
-		Diagram d = EasyMock.createMock(Diagram.class);
-		expect(idp.getDiagram()).andStubReturn(d);
-		Color c = EasyMock.createMock(Color.class);
-		expect(c.getBlue()).andStubReturn(0);
-		expect(c.getRed()).andStubReturn(0);
-		expect(c.getGreen()).andStubReturn(0);
-		EList<Color> col = new BasicInternalEList<Color>(Color.class);
-		expect(d.getColors()).andStubReturn(col);
-		Color c1 = EasyMock.createMock(Color.class);
-		c1.setRed(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		c1.setGreen(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		c1.setBlue(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		EList<Font> fonts = new BasicInternalEList<Font>(Font.class);
-		expect(d.getFonts()).andStubReturn(fonts);
-		replay(d, c, c1, idp, featureProvider);
-	}
-	
-
-	@Test
-	public void testAddText() {
-		Font f = EasyMock.createMock(Font.class); 
-		Text t = EasyMock.createMock(Text.class);
-		t.setFont(f);
-		EasyMock.expectLastCall().asStub();
-		expect(t.getX()).andStubReturn(0);
-		expect(t.getY()).andStubReturn(0);
-		
-		f.setName("Arial");
-		EasyMock.expectLastCall().asStub();
-		f.setSize(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();		
-		f.setItalic(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();	
-		f.setBold(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		t.setWidth(EasyMock.anyInt());	
-		EasyMock.expectLastCall().asStub();
-		t.setHeight(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		t.setValue("abc");	
-		EasyMock.expectLastCall().asStub();
-		
-		t.setForeground((Color) EasyMock.anyObject());
-		EasyMock.expectLastCall().asStub();
-		t.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT);
-		EasyMock.expectLastCall().asStub();
-		t.setVerticalAlignment(Orientation.ALIGNMENT_TOP);
-		EasyMock.expectLastCall().asStub();
-		
-		Font f1 = EasyMock.createMock(Font.class);
-		f1.setBold(true);
-		EasyMock.expectLastCall().asStub();
-		expect(t.getFont()).andStubReturn(f1);
-		
-		Rectangle textRectangle = EasyMock.createMock(Rectangle.class);
-		EList<GraphicsAlgorithm> lst = new BasicInternalEList<GraphicsAlgorithm>(GraphicsAlgorithm.class);
-		expect(textRectangle.getGraphicsAlgorithmChildren()).andStubReturn(lst);
-		
-		replay(f1, f, t, textRectangle);
-		UpdateAttributeFeature.addText(featureProvider, textRectangle, "abc");
-	}
-	
-	@Test
-	public void testaddRectangleForIcon() {
-		ContainerShape cs = EasyMock.createMock(ContainerShape.class);
-		Rectangle rect = EasyMock.createMock(Rectangle.class);
-		expect(rect.getX()).andStubReturn(0);
-		expect(rect.getY()).andStubReturn(0);
-		rect.setWidth(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		rect.setHeight(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		cs.setGraphicsAlgorithm(rect);
-		EasyMock.expectLastCall().asStub();
-		rect.setFilled(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		rect.setLineVisible(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		rect.setX(EasyMock.anyInt());
-		rect.setLineVisible(EasyMock.anyBoolean());
-		rect.setY(EasyMock.anyInt());
-		rect.setLineVisible(EasyMock.anyBoolean());
-		rect.setWidth(EasyMock.anyInt());
-		rect.setLineVisible(EasyMock.anyBoolean());
-		cs.setGraphicsAlgorithm(EasyMock.isA(Rectangle.class));
-		EasyMock.expectLastCall().asStub();
-		replay(rect, cs);		
-		UpdateAttributeFeature.addRectangleForIcon(cs, 0);
-	}
-	
-	@Test
-	public void testAddRectangleForText() {
-		ContainerShape cs = EasyMock.createMock(ContainerShape.class);
-		Rectangle rect = EasyMock.createMock(Rectangle.class);
-		expect(rect.getX()).andStubReturn(0);
-		expect(rect.getY()).andStubReturn(0);
-		rect.setWidth(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		rect.setHeight(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		cs.setGraphicsAlgorithm(rect);
-		EasyMock.expectLastCall().asStub();
-		rect.setFilled(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		rect.setLineVisible(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		rect.setX(EasyMock.anyInt());
-		rect.setLineVisible(EasyMock.anyBoolean());
-		rect.setY(EasyMock.anyInt());
-		rect.setLineVisible(EasyMock.anyBoolean());
-		rect.setWidth(EasyMock.anyInt());
-		rect.setLineVisible(EasyMock.anyBoolean());
-		cs.setGraphicsAlgorithm(EasyMock.isA(Rectangle.class));
-		EasyMock.expectLastCall().asStub();
-		replay(rect, cs);		
-		UpdateAttributeFeature.addRectangleForText(cs, 0, 120);
-	}
-	
-	@Test
-	public void testAddAttribute() {
-		GraphicsAlgorithm ga = EasyMock.createMock(GraphicsAlgorithm.class);
-		expect(ga.getWidth()).andStubReturn(20);
-		ContainerShape cs = EasyMock.createMock(ContainerShape.class);
-		expect(cs.getGraphicsAlgorithm()).andStubReturn(ga);
-		Rectangle rect = EasyMock.createMock(Rectangle.class);
-		expect(rect.getX()).andStubReturn(0);
-		expect(rect.getY()).andStubReturn(0);
-		rect.setWidth(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		rect.setHeight(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		rect.setFilled(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		rect.setLineVisible(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		rect.setX(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		rect.setY(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-
-		EList<Property> props = new BasicInternalEList<Property>(Property.class);
-		EList<Property> props1 = new BasicInternalEList<Property>(Property.class);
-
-		expect(cs.getProperties()).andStubReturn(props);
-		
-		cs.setVisible(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		cs.setActive(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		cs.setContainer((ContainerShape) EasyMock.anyObject());
-		EasyMock.expectLastCall().asStub();
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		expect(cs1.getProperties()).andStubReturn(props1);	
-		cs1.setVisible(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		cs1.setActive(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		cs1.setContainer((ContainerShape) EasyMock.anyObject());
-		EasyMock.expectLastCall().asStub();
-		PictogramsPackage p = EasyMock.createMock(PictogramsPackage.class);
-		Property pr = EasyMock.createMock(Property.class);
-		cs1.setGraphicsAlgorithm((GraphicsAlgorithm) EasyMock.anyObject());
-		EasyMock.expectLastCall().asStub();		
-		Image img = EasyMock.createMock(Image.class);
-		expect(img.getX()).andStubReturn(0);
-		expect(img.getY()).andStubReturn(0);
-		img.setWidth(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		img.setHeight(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		img.setX(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		img.setY(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		img.setId("org.eclisp.jpt.ui.diagrameditor.field");
-		EasyMock.expectLastCall().asStub();
-		img.setProportional(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		img.setStretchH(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		img.setStretchV(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		EList<GraphicsAlgorithm> ch = new BasicInternalEList<GraphicsAlgorithm>(GraphicsAlgorithm.class);
-		expect(rect.getGraphicsAlgorithmChildren()).andStubReturn(ch);
-		expect(pr.getKey()).andStubReturn("prop_shape_type");
-		Text t = EasyMock.createMock(Text.class);
-		expect(t.getX()).andStubReturn(0);
-		expect(t.getY()).andStubReturn(0);
-		t.setWidth(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		t.setX(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		t.setY(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		t.setHeight(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		t.setValue("");
-		EasyMock.expectLastCall().asStub();
-		Font f = EasyMock.createMock(Font.class);
-		f.setName((String) EasyMock.anyObject());
-		EasyMock.expectLastCall().asStub();
-		
-		f.setSize(EasyMock.anyInt());
-		EasyMock.expectLastCall().asStub();
-		f.setItalic(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		f.setBold(EasyMock.anyBoolean());
-		EasyMock.expectLastCall().asStub();
-		expect(t.getFont()).andStubReturn(f);
-		t.setFont((Font) EasyMock.anyObject());
-		EasyMock.expectLastCall().asStub();
-		EasyMock.expectLastCall().asStub();
-		t.setForeground((Color) EasyMock.anyObject());
-		t.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT);
-		t.setVerticalAlignment(Orientation.ALIGNMENT_TOP);
-		f.setBold(true);
-		replay(rect, ga, img, cs, cs1, p, pr, t, f);
-	}
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddRelationFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddRelationFeatureTest.java
deleted file mode 100644
index 242dede..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddRelationFeatureTest.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.aryEq;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.easymock.EasyMock;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IAddBendpointFeature;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.context.IAddBendpointContext;
-import org.eclipse.graphiti.features.context.IAddConnectionContext;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ILayoutContext;
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.IGaService;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.swt.graphics.Point;
-import org.junit.Before;
-import org.junit.Test;
-
-public class AddRelationFeatureTest {
-
-	private IJPAEditorFeatureProvider featureProvider;
-
-	private IJPAEditorImageCreator imageCreator;
-	
-	private IJPAEditorUtil jpaEditorUtil;
-
-	private IDiagramTypeProvider diagramProvider;
-
-	private Diagram diagram;
-
-	private IAddConnectionContext context;
-
-	private IPeServiceUtil peUtil;
-	
-	private IGaService gaUtil;
-	
-	private IAddBendpointFeature ft;
-	
-	private Resource resource;
-	
-	private static String OWNER_AT_NAME = "ownerAttr";		//$NON-NLS-1$
-	
-	private static String INVERSE_AT_NAME = "inverseAttr";	//$NON-NLS-1$
-	
-	/**
-	 * @throws java.lang.Exception
-	 */
-	@SuppressWarnings("unchecked")
-	@Before
-	public void setUp() throws Exception {
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		imageCreator = EasyMock.createMock(IJPAEditorImageCreator.class);
-		jpaEditorUtil = EasyMock.createMock(IJPAEditorUtil.class);
-		diagramProvider = EasyMock.createMock(IDiagramTypeProvider.class);
-		diagram = EasyMock.createMock(Diagram.class);
-		context = EasyMock.createMock(IAddConnectionContext.class);
-		peUtil = EasyMock.createMock(IPeServiceUtil.class);
-		gaUtil = EasyMock.createMock(IGaService.class);
-		ft = EasyMock.createMock(IAddBendpointFeature.class);
-		
-		
-		TransactionalEditingDomain defaultTransEditDomain = EasyMock.createMock(TransactionalEditingDomain.class);
-		ResourceSet resourceSet = EasyMock.createMock(ResourceSet.class); 
-		expect(defaultTransEditDomain.getResourceSet()).andStubReturn(resourceSet);
-		EList<Adapter> eAdapters = EasyMock.createMock(EList.class);
-		expect(resourceSet.eAdapters()).andStubReturn(eAdapters);
-		//IFile diagramFile = project.getFile(diagramFileName.removeFirstSegments(1));
-		//IPath diagramFilePath = diagramFile.getFullPath();
-
-		//String pathName = diagramFilePath.toString();
-		//URI resourceURI = URI.createPlatformResourceURI(pathName, true);
-		resource = EasyMock.createMock(Resource.class); 
-		expect(resourceSet.getResource(isA(URI.class), EasyMock.anyBoolean())).andStubReturn(resource);
-		
-		expect(resource.getResourceSet()).andStubReturn(resourceSet);
-		replay(defaultTransEditDomain, resourceSet, resource);
-		
-	}
-
-	@Test
-	public void testCanAddNotAddConnectionContext() {
-		IAddContext context = EasyMock.createMock(IAddContext.class);
-		verifyCanAdd(context, false);
-	}
-
-	@Test
-	public void testCanAddNoRelation() throws Exception {
-		IAddConnectionContext context = EasyMock.createMock(IAddConnectionContext.class);
-		Object notARelation = new Object();
-		expect(context.getNewObject()).andReturn(notARelation);
-		verifyCanAdd(context, false);
-	}
-
-	@Test
-	public void testCanAdd() throws Exception {
-		IAddConnectionContext context = EasyMock.createMock(IAddConnectionContext.class);
-		IRelation relation = EasyMock.createMock(IRelation.class);
-		replay(relation);
-		expect(context.getNewObject()).andReturn(relation);
-		verifyCanAdd(context, true);
-	}
-
-	@Test
-	public void testGetFeatureProvider() {
-		IAddFeature fixture = createFeature();
-		assertSame(featureProvider, fixture.getFeatureProvider());
-	}
-
-	@SuppressWarnings("unused")
-	private void expectManyEndDecorator(double location) {
-		ConnectionDecorator d = EasyMock.createMock(ConnectionDecorator.class);
-		Polyline pl = EasyMock.createMock(Polyline.class);
-		expect(pl.getX()).andReturn(0);
-		expect(pl.getY()).andReturn(0);		
-		expect(imageCreator.createManyEndDecorator(isA(Connection.class), eq(location))).andReturn(d);
-		expect(d.getGraphicsAlgorithm()).andReturn(pl);
-		replay(d, pl);		
-	}
-	
-	@SuppressWarnings("unused")
-	private void expectManyStartDecorator(double location) {
-		ConnectionDecorator d = EasyMock.createMock(ConnectionDecorator.class);
-		Polyline pl = EasyMock.createMock(Polyline.class);
-		expect(pl.getX()).andReturn(0);
-		expect(pl.getY()).andReturn(0);		
-		expect(imageCreator.createManyStartDecorator(isA(Connection.class), eq(location))).andReturn(d);
-		expect(d.getGraphicsAlgorithm()).andReturn(pl);
-		replay(d, pl);		
-	}	
-
-	@SuppressWarnings("unused")
-	private void expectManyEndWithArrow(final double location) {
-		ConnectionDecorator d = EasyMock.createMock(ConnectionDecorator.class);
-		Polyline pl = EasyMock.createMock(Polyline.class);
-		expect(pl.getX()).andReturn(0);
-		expect(pl.getY()).andReturn(0);		
-		expect(imageCreator.createManyEndWithArrowDecorator(isA(Connection.class), eq(location))).andReturn(d);
-		expect(d.getGraphicsAlgorithm()).andReturn(pl);
-		replay(d, pl);		
-	}
-
-	@SuppressWarnings("unused")
-	private void expectArrow(final double location) {
-		ConnectionDecorator d = EasyMock.createMock(ConnectionDecorator.class);
-		Polyline pl = EasyMock.createMock(Polyline.class);
-		expect(pl.getX()).andReturn(0);
-		expect(pl.getY()).andReturn(0);
-		expect(imageCreator.createArrowConnectionDecorator(isA(Connection.class), eq(location))).andReturn(d);
-		expect(d.getGraphicsAlgorithm()).andReturn(pl);
-		replay(d, pl);
-	}
-
-	@SuppressWarnings("unused")
-	private void expectTextConnectionDecorator(String text, double location) {
-		expect(imageCreator.createCardinalityConnectionDecorator(diagram, isA(Connection.class), eq(text), eq(location))).andReturn(
-				null);
-	}
-
-	@SuppressWarnings("unused")
-	private void configureRelation(IRelation relation, final RelDir direction, final RelType type) {
-		expect(relation.getOwnerAttributeName()).andStubReturn(OWNER_AT_NAME);
-		expect(relation.getInverseAttributeName()).andStubReturn(INVERSE_AT_NAME);
-		expect(relation.getRelDir()).andStubReturn(direction);
-		expect(relation.getRelType()).andStubReturn(type);
-	}
-
-	private void configureProvidersForAdd(IRelation relation) {
-		expect(diagramProvider.getDiagram()).andReturn(diagram);
-		expect(featureProvider.getDiagramTypeProvider()).andReturn(diagramProvider);
-		expect(featureProvider.getPeUtil()).andReturn(peUtil);
-		expect(featureProvider.getAddBendpointFeature(isA(IAddBendpointContext.class))).andStubReturn(ft);
-		expect(context.getNewObject()).andReturn(relation);
-
-	}
-
-	@SuppressWarnings("unused")
-	private void verifyAdd(IRelation relation, boolean expectId) {
-		FreeFormConnection connection = configureConnection(relation, expectId);
-		replay(connection);
-		PictogramElement result = callAdd();
-		assertSame(connection, result);
-		verify(context);
-		verify(featureProvider);
-		verify(imageCreator);
-		verify(jpaEditorUtil);
-		verify(diagram);
-		verify(diagramProvider);
-		verify(relation);
-	}
-
-	private PictogramElement callAdd() {
-		IAddFeature fixture = createFeature();
-		PictogramElement result = fixture.add(context);
-		return result;
-	}
-
-	private FreeFormConnection configureConnection(IRelation relation, boolean expectId) {
-		final String relationId = "someId"; //$NON-NLS-1$
-		if (expectId)
-			expect(relation.getId()).andStubReturn(relationId);
-		replay(relation);
-		configureProvidersForAdd(relation);
-		Anchor startAnchor = replayAnchor();
-		Anchor endAnchor = replayAnchor();
-		expect(context.getSourceAnchor()).andReturn(startAnchor);
-		expect(context.getTargetAnchor()).andReturn(endAnchor);
-		
-		gaUtil.setLocation(isA(Polyline.class), EasyMock.anyInt() , EasyMock.anyInt());
-		gaUtil.setLocation(isA(Polyline.class), EasyMock.anyInt() , EasyMock.anyInt());
-
-		FreeFormConnection connection = createConnection(startAnchor, endAnchor);
-		expect(peUtil.createFreeFormConnection(diagram)).andReturn(connection);
-		expect(imageCreator.createConnectionLine(diagram, connection)).andReturn(null);
-		ft.addBendpoint(isA(IAddBendpointContext.class));
-		
-		List<Point> pts = new LinkedList<Point>();
-		Point pt1 = new Point(100, 100);
-		//Point pt2 = new Point(200, 200);
-		pts.add(pt1); 
-		//pts.add(pt2);
-		expect(jpaEditorUtil.createBendPointList(connection, false)).andReturn(pts);
-		featureProvider.putKeyToBusinessObject(relationId, relation);
-		featureProvider.link(eq(connection), aryEq(new IRelation[] { relation }));
-		expect(featureProvider.layoutIfPossible(isA(ILayoutContext.class))).andReturn(null);
-		return connection;
-	}
-
-	private Anchor replayAnchor() {
-		Anchor startAnchor = EasyMock.createMock(Anchor.class);
-		replay(startAnchor);
-		return startAnchor;
-	}
-
-	private FreeFormConnection createConnection(Anchor startAnchor, Anchor endAnchor) {
-		FreeFormConnection connection = EasyMock.createMock(FreeFormConnection.class);
-		connection.setStart(startAnchor);
-		connection.setEnd(endAnchor);
-		connection.setVisible(true);
-		connection.setActive(true);
-		
-		org.eclipse.graphiti.mm.algorithms.styles.Point pt = EasyMock.createMock(org.eclipse.graphiti.mm.algorithms.styles.Point.class);
-		expect(pt.getX()).andStubReturn(100);
-		expect(pt.getY()).andStubReturn(100);
-		
-		org.eclipse.graphiti.mm.algorithms.styles.Point pt1 = EasyMock.createMock(org.eclipse.graphiti.mm.algorithms.styles.Point.class);
-		expect(pt1.getX()).andStubReturn(200);
-		expect(pt1.getY()).andStubReturn(200);
-		
-		
-		EList<org.eclipse.graphiti.mm.algorithms.styles.Point> pts1 = new BasicInternalEList<org.eclipse.graphiti.mm.algorithms.styles.Point>(org.eclipse.graphiti.mm.algorithms.styles.Point.class);
-		pts1.add(pt);	
-		pts1.add(pt1);
-		expect(connection.getBendpoints()).andStubReturn(pts1);
-		replay(pt, pt1);
-		return connection;
-	}
-
-	private void verifyCanAdd(IAddContext context, final boolean expected) {
-		replay(context);
-		boolean result = callCanAdd(context);
-		assertEquals(expected, result);
-		verify(context);
-	}
-
-	private boolean callCanAdd(IAddContext context) {
-		IAddFeature fixture = createFeature();
-		return fixture.canAdd(context);
-	}
-
-	private IAddFeature createFeature() {
-		replay(featureProvider);
-		replay(imageCreator);
-		replay(jpaEditorUtil);
-		replay(diagramProvider);
-		replay(diagram);
-		replay(context);
-		replay(peUtil);
-		replay(gaUtil);
-		replay(ft);
-		return new AddRelationFeature(featureProvider, imageCreator, jpaEditorUtil);
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/ClickAddFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/ClickAddFeatureTest.java
deleted file mode 100644
index 0181267..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/ClickAddFeatureTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IDirectEditingInfo;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickAddAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util.IEditor;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ClickAddFeatureTest {
-	
-	private IJPAEditorFeatureProvider featureProvider;
-	private ICreateContext context;
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	JavaPersistentType jpt = null;
-	ICompilationUnit cu = null;
-	
-	@Before
-	public void setUp() throws Exception {
-		System.setProperty(JPACreateFactory.JPA_JAR_NAME_SYSTEM_PROPERTY, "C:\\lib\\persistence-api-1.0.jar");
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
-		ContainerShape cs = EasyMock.createMock(ContainerShape.class);
-		context = EasyMock.createMock(ICreateContext.class);
-		expect(context.getTargetContainer()).andStubReturn(cs);
-		expect(context.getX()).andStubReturn(0);
-		expect(context.getY()).andStubReturn(0);
-		expect(context.getWidth()).andStubReturn(100);
-		expect(context.getHeight()).andStubReturn(100);
-		expect(context.getTargetConnection()).andStubReturn(null);
-		IDirectEditingInfo dei = EasyMock.createMock(IDirectEditingInfo.class);
-		dei.setActive(true);
-		Thread.sleep(2000);
-		jpt = (JavaPersistentType)JPACreateFactory.getPersistentType(entity);
-		int cnt = 0;
-		while ((cnt < 50) && (jpt == null)) {
-			Thread.sleep(200);
-			jpt = (JavaPersistentType)JPACreateFactory.getPersistentType(entity);
-			cnt++;
-		}
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs)).andStubReturn(jpt);		
-		expect(featureProvider.getPictogramElementForBusinessObject(jpt)).andStubReturn(null);
-		cu = JavaCore.createCompilationUnitFrom(entity);
-		cnt = 0;
-		while ((cnt < 50) && (cu == null)) {
-			Thread.sleep(200);
-			cu = JavaCore.createCompilationUnitFrom(entity);
-			cnt++;
-		}		
-		expect(featureProvider.getCompilationUnit((JavaPersistentType) EasyMock.anyObject())).andReturn(cu).anyTimes();
-		expect(featureProvider.addIfPossible(isA(IAddContext.class))).andStubReturn(null);
-		expect(featureProvider.getDirectEditingInfo()).andStubReturn(dei);
-		
-		IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
-		expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
-		
-		IDiagramTypeProvider diagramTypeProvider = EasyMock.createMock(IDiagramTypeProvider.class);
-		expect(featureProvider.getDiagramTypeProvider()).andStubReturn(diagramTypeProvider);
-		IEditor ed = EasyMock.createMock(IEditor.class);
-		expect(diagramTypeProvider.getDiagramEditor()).andStubReturn(ed);
-		IWorkbenchPartSite ws = EasyMock.createMock(IWorkbenchPartSite.class);
-		expect(ed.getSite()).andStubReturn(ws);
-		ut.formatCode((ICompilationUnit)EasyMock.anyObject(), (IWorkbenchPartSite)EasyMock.anyObject());
-		
-		featureProvider.addAddIgnore(jpt, "attribute1");
-		
-		replay(featureProvider, cs, context, dei, diagramTypeProvider, ed, ws, ut);
-	}
-	
-	@Test
-	public void testClickAddAttributeButtonFeature(){ 
-		if ((jpt == null) || (cu == null))
-			return;		// The test wasn't setup properly
-		ClickAddAttributeButtonFeature feature = new ClickAddAttributeButtonFeature(featureProvider);
-		Object[] created = feature.create(context);
-		assertNotNull(created[0]);
-	}
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateDeleteOnlyAttributeTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateDeleteOnlyAttributeTest.java
deleted file mode 100644
index 9d6264b..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateDeleteOnlyAttributeTest.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.model.event.ListAddEvent;
-import org.eclipse.jpt.common.utility.model.event.ListChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.ListClearEvent;
-import org.eclipse.jpt.common.utility.model.event.ListMoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListRemoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListReplaceEvent;
-import org.eclipse.jpt.common.utility.model.listener.ListChangeListener;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class CreateDeleteOnlyAttributeTest {
-
-	private IJPAEditorFeatureProvider featureProvider;
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	JavaPersistentType jpt = null;
-	
-	@Before
-	public void setUp() throws Exception{
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
-		jpt = (JavaPersistentType)JPACreateFactory.getPersistentType(entity);
-		int c = 0;
-		while ((jpt == null) && (c < 100)) {
-			try {
-				Thread.sleep(250);
-			} catch (Exception e) {}
-			jpt = (JavaPersistentType)JPACreateFactory.getPersistentType(entity);
-			c++;
-		}
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(isA(ContainerShape.class))).andStubReturn(jpt);		
-		expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity));
-		expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
-		expect(featureProvider.addIfPossible(isA(IAddContext.class))).andStubReturn(null);
-		expect(featureProvider.getPictogramElementForBusinessObject(jpt)).andStubReturn(isA(ContainerShape.class));
-		ICompilationUnit cu = JavaCore.createCompilationUnitFrom(entity);
-		expect(featureProvider.getCompilationUnit(jpt)).andStubReturn(cu);
-		replay(featureProvider);
-	}
-	
-	
-	@Test
-	public void testCreatePropertyAnnotatedAttribute() throws Exception {
-		EntityAttributesChangeTestListener lsnr = new EntityAttributesChangeTestListener(0, 1);
-		jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		deleteAttribute("id");
-		assertTrue(lsnr.waitForEvents());
-		jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		lsnr = new EntityAttributesChangeTestListener(2, 0);
-		jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		JpaArtifactFactory.instance().makeNewAttribute(featureProvider, jpt, featureProvider.getCompilationUnit(jpt), "aaa", "java.lang.String", null, "aaa", null, false, true);
-		assertFalse(lsnr.waitForEvents());
-		assertEquals(1, lsnr.incrementCounter);
-		assertEquals(0, lsnr.decrementCounter);		
-	}
-	
-	
-	
-	@Test
-	public void testCreateFieldAnnotatedAttribute() throws Exception {
-		EntityAttributesChangeTestListener lsnr = new EntityAttributesChangeTestListener(0, 1);
-		jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		deleteAttribute("id");
-		assertTrue(lsnr.waitForEvents());
-		jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		lsnr = new EntityAttributesChangeTestListener(2, 0);
-		jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		JpaArtifactFactory.instance().makeNewAttribute(featureProvider, jpt, featureProvider.getCompilationUnit(jpt), "aaa", "java.lang.String", null, "aaa", null, false, false);
-		assertFalse(lsnr.waitForEvents());
-		assertEquals(1, lsnr.incrementCounter);
-		assertEquals(0, lsnr.decrementCounter);		
-	}	
-	
-	
-	@Test
-	public void testDeletePropertyAnnotatedAttribute() throws Exception {
-		EntityAttributesChangeTestListener lsnr = new EntityAttributesChangeTestListener(0, 2);
-		jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		deleteAttribute("id");
-		assertFalse(lsnr.waitForEvents());
-		assertEquals(0, lsnr.incrementCounter);
-		assertEquals(1, lsnr.decrementCounter);		
-	}	
-	
-
-	@Test
-	public void testDeleteFieldAnnotatedAttribute() throws Exception  {
-		EntityAttributesChangeTestListener lsnr = new EntityAttributesChangeTestListener(1, 1);
-		jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		deleteAttribute("id");
-		JpaArtifactFactory.instance().makeNewAttribute(featureProvider, jpt, featureProvider.getCompilationUnit(jpt), "aaa", "java.lang.String", null, "aaa", null, false, false);
-		assertTrue(lsnr.waitForEvents());
-		jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		lsnr = new EntityAttributesChangeTestListener(0, 2);
-		jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
-		deleteAttribute("aaa");
-		assertFalse(lsnr.waitForEvents());
-		assertEquals(0, lsnr.incrementCounter);
-		assertEquals(1, lsnr.decrementCounter);		
-	}
-	
-	
-	
-	private void deleteAttribute(String attrName) {
-		JpaArtifactFactory.instance().deleteAttribute(jpt, attrName, featureProvider);
-	}	
-	
-	
-	public static class EntityAttributesChangeTestListener implements ListChangeListener {
-		
-		private Semaphore sem = new Semaphore(1);
-		
-		private int toBeAdded;
-		private int toBeRemove;
-
-		public EntityAttributesChangeTestListener(int add, int remove) {
-			this.toBeAdded = add;
-			this.toBeRemove = remove;
-			try {
-				sem.acquire(1);
-			} catch (InterruptedException e) {
-				e.printStackTrace();
-			}
-		}
-		
-		public boolean waitForEvents() throws InterruptedException {
-			return sem.tryAcquire(5, TimeUnit.SECONDS);
-		}
-		
-		public int incrementCounter = 0;
-		public int decrementCounter = 0;
-		
-		public void listChanged(ListChangeEvent event) {
-		}
-
-		public void itemsAdded(ListAddEvent arg0) {
-			incrementCounter++;
-			if(this.incrementCounter >= toBeAdded && this.decrementCounter>= toBeRemove ) {
-				sem.release();
-			}
-		}
-
-		public void itemsMoved(ListMoveEvent arg0) {
-		}
-
-		public void itemsRemoved(ListRemoveEvent arg0) {
-			decrementCounter++;
-			if(this.incrementCounter >= toBeAdded && this.decrementCounter>= toBeRemove ) {
-				sem.release();
-			}
-		}
-
-		public void itemsReplaced(ListReplaceEvent arg0) {
-		}
-
-		public void listCleared(ListClearEvent arg0) {
-		}
-	};
-	
-	@After	
-	public void tearDown() throws Exception {		
-		deleteAllProjects();
-	}
-	
-	private void deleteAllProjects() throws Exception {
-		IProgressMonitor monitor= new NullProgressMonitor();
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				IProject project = jpaProject.getProject();
-			    project.close(monitor);	    	
-			    project.close(monitor);
-			    project.delete(true, true, monitor);				
-			}
-		} , monitor);
-	}	
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateRelationFeaturesTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateRelationFeaturesTest.java
deleted file mode 100644
index 2406595..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateRelationFeaturesTest.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICreateConnectionContext;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToManyBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToManyUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToOneBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToOneUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToManyUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToOneBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToOneUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class CreateRelationFeaturesTest {
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	IEclipseFacade eclipseFacade = null;
-	
-	@Before
-	public void setUp() throws Exception {
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		Thread.sleep(2000);
-	}
-	
-	@Test
-	public void testCreateOneToOneUniDirRelationFeature() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.test.Address");
-		assertNotNull(addressType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-
-		
-		CreateOneToOneUniDirRelationFeature ft = new CreateOneToOneUniDirRelationFeature(featureProvider);
-		ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-		
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-		
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-		
-		Anchor a1 = EasyMock.createMock(Anchor.class);
-		Anchor a2 = EasyMock.createMock(Anchor.class);
-		expect(a1.getParent()).andStubReturn(cs1);
-		expect(a2.getParent()).andStubReturn(cs2);
-		expect(ctx.getSourceAnchor()).andStubReturn(a1);
-		expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
-		cu1.becomeWorkingCopy(new NullProgressMonitor());
-		ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-		cu2.becomeWorkingCopy(new NullProgressMonitor());
-		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Connection conn = EasyMock.createMock(Connection.class);
-		expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
-		replay(featureProvider, a1, a2, cs1, cs2, ctx);
-		ft.create(ctx);
-		OneToOneUniDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
-		assertNotNull(rel);
-		assertNotNull(rel.getId());
-		assertEquals(RelType.ONE_TO_ONE, rel.getRelType());
-		assertEquals(RelDir.UNI, rel.getRelDir());		
-		assertSame(rel.getOwner(), t1);
-		assertSame(rel.getInverse(), t2);
-		assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
-		assertTrue(JpaArtifactFactory.instance().isMethodAnnotated(t1));
-		JavaPersistentAttribute jpa = t1.getAttributeNamed("id");
-		assertFalse(JpaArtifactFactory.instance().isRelationAnnotated(jpa));
-		jpa = t1.getAttributeNamed(rel.getOwnerAttributeName());
-		assertTrue(JpaArtifactFactory.instance().isRelationAnnotated(jpa));
-	}
-	
-	@Test
-	public void testCreateOneToOneBiDirRelationFeature() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.test.Address");
-		assertNotNull(addressType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-
-		
-		CreateOneToOneBiDirRelationFeature ft = new CreateOneToOneBiDirRelationFeature(featureProvider);
-		ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-		
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-		
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-		
-		Anchor a1 = EasyMock.createMock(Anchor.class);
-		Anchor a2 = EasyMock.createMock(Anchor.class);
-		expect(a1.getParent()).andStubReturn(cs1);
-		expect(a2.getParent()).andStubReturn(cs2);
-		expect(ctx.getSourceAnchor()).andStubReturn(a1);
-		expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
-		ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Connection conn = EasyMock.createMock(Connection.class);
-		expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
-		replay(featureProvider, a1, a2, cs1, cs2, ctx);
-		ft.create(ctx);
-		OneToOneBiDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
-		assertNotNull(rel);
-		assertNotNull(rel.getId());
-		assertEquals(RelType.ONE_TO_ONE, rel.getRelType());
-		assertEquals(RelDir.BI, rel.getRelDir());
-		assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
-		assertNotNull(t2.getAttributeNamed(rel.getInverseAttributeName()));		
-	}
-	
-	
-	@Test
-	public void testCreateManyToOneUniDirRelationFeature() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.test.Address");
-		assertNotNull(addressType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-
-		
-		CreateManyToOneUniDirRelationFeature ft = new CreateManyToOneUniDirRelationFeature(featureProvider);
-		ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-		
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-		
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-		
-		Anchor a1 = EasyMock.createMock(Anchor.class);
-		Anchor a2 = EasyMock.createMock(Anchor.class);
-		expect(a1.getParent()).andStubReturn(cs1);
-		expect(a2.getParent()).andStubReturn(cs2);
-		expect(ctx.getSourceAnchor()).andStubReturn(a1);
-		expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
-		ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Connection conn = EasyMock.createMock(Connection.class);
-		expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
-		replay(featureProvider, a1, a2, cs1, cs2, ctx);
-		ft.create(ctx);
-		ManyToOneUniDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
-		assertNotNull(rel);
-		assertNotNull(rel.getId());
-		assertEquals(RelType.MANY_TO_ONE, rel.getRelType());
-		assertEquals(RelDir.UNI, rel.getRelDir());
-		assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
-	}
-	
-	
-	@Test
-	public void testCreateManyToOneBiDirRelationFeature() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.test.Address");
-		assertNotNull(addressType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-
-		
-		CreateManyToOneBiDirRelationFeature ft = new CreateManyToOneBiDirRelationFeature(featureProvider);
-		ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-		
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-		
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-		
-		Anchor a1 = EasyMock.createMock(Anchor.class);
-		Anchor a2 = EasyMock.createMock(Anchor.class);
-		expect(a1.getParent()).andStubReturn(cs1);
-		expect(a2.getParent()).andStubReturn(cs2);
-		expect(ctx.getSourceAnchor()).andStubReturn(a1);
-		expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
-		ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Connection conn = EasyMock.createMock(Connection.class);
-		expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
-		replay(featureProvider, a1, a2, cs1, cs2, ctx);
-		ft.create(ctx);
-		ManyToOneBiDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
-		assertNotNull(rel);
-		assertNotNull(rel.getId());
-		assertEquals(RelType.MANY_TO_ONE, rel.getRelType());
-		assertEquals(RelDir.BI, rel.getRelDir());
-		assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
-		assertNotNull(t2.getAttributeNamed(rel.getInverseAttributeName()));		
-	}
-	
-	@Test
-	public void testCreateOneToManyUniDirRelationFeature() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.test.Address");
-		assertNotNull(addressType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-
-		
-		CreateOneToManyUniDirRelationFeature ft = new CreateOneToManyUniDirRelationFeature(featureProvider);
-		ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-		
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-		
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-		
-		Anchor a1 = EasyMock.createMock(Anchor.class);
-		Anchor a2 = EasyMock.createMock(Anchor.class);
-		expect(a1.getParent()).andStubReturn(cs1);
-		expect(a2.getParent()).andStubReturn(cs2);
-		expect(ctx.getSourceAnchor()).andStubReturn(a1);
-		expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
-		ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Connection conn = EasyMock.createMock(Connection.class);
-		expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
-		replay(featureProvider, a1, a2, cs1, cs2, ctx);
-		ft.create(ctx);
-		OneToManyUniDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
-		assertNotNull(rel);
-		assertNotNull(rel.getId());
-		assertEquals(RelType.ONE_TO_MANY, rel.getRelType());
-		assertEquals(RelDir.UNI, rel.getRelDir());	
-		assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
-	}
-	
-	@Test
-	public void testCreateManyToManyUniDirRelationFeature() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.test.Address");
-		assertNotNull(addressType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-
-		
-		CreateManyToManyUniDirRelationFeature ft = new CreateManyToManyUniDirRelationFeature(featureProvider);
-		ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-		
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-		
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-		
-		Anchor a1 = EasyMock.createMock(Anchor.class);
-		Anchor a2 = EasyMock.createMock(Anchor.class);
-		expect(a1.getParent()).andStubReturn(cs1);
-		expect(a2.getParent()).andStubReturn(cs2);
-		expect(ctx.getSourceAnchor()).andStubReturn(a1);
-		expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
-		ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Connection conn = EasyMock.createMock(Connection.class);
-		expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
-		replay(featureProvider, a1, a2, cs1, cs2, ctx);
-		ft.create(ctx);
-		ManyToManyUniDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
-		assertNotNull(rel);
-		assertNotNull(rel.getId());
-		assertEquals(RelType.MANY_TO_MANY, rel.getRelType());
-		assertEquals(RelDir.UNI, rel.getRelDir());	
-		assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
-	}
-	
-	@Test
-	public void testCreateManyToManyBiDirRelationFeature() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.test.Address");
-		assertNotNull(addressType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-
-		
-		CreateManyToManyBiDirRelationFeature ft = new CreateManyToManyBiDirRelationFeature(featureProvider);
-		ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-		
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-		
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-		
-		Anchor a1 = EasyMock.createMock(Anchor.class);
-		Anchor a2 = EasyMock.createMock(Anchor.class);
-		expect(a1.getParent()).andStubReturn(cs1);
-		expect(a2.getParent()).andStubReturn(cs2);
-		expect(ctx.getSourceAnchor()).andStubReturn(a1);
-		expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
-		ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Connection conn = EasyMock.createMock(Connection.class);
-		expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
-		replay(featureProvider, a1, a2, cs1, cs2, ctx);
-		ft.create(ctx);
-		ManyToManyBiDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
-		assertNotNull(rel);
-		assertNotNull(rel.getId());
-		assertEquals(RelType.MANY_TO_MANY, rel.getRelType());
-		assertEquals(RelDir.BI, rel.getRelDir());	
-		assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
-		assertNotNull(t2.getAttributeNamed(rel.getInverseAttributeName()));		
-	}
-	
-	
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DeleteRelationFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DeleteRelationFeatureTest.java
deleted file mode 100644
index b5548c9..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DeleteRelationFeatureTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-
-import org.easymock.EasyMock;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util.IEditor;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.junit.Test;
-
-public class DeleteRelationFeatureTest {		
-	
-	@Test
-	public void testPostDelete(){		
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getRemoveFeature(isA(IRemoveContext.class))).andReturn(null);
-		IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
-		expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
-		IDeleteContext ctx = EasyMock.createMock(IDeleteContext.class);
-		PictogramElement pe = EasyMock.createMock(PictogramElement.class);
-		expect(ctx.getPictogramElement()).andStubReturn(pe);
-		BidirectionalRelation rel = EasyMock.createMock(BidirectionalRelation.class); 
-		ICompilationUnit cu1 = EasyMock.createMock(ICompilationUnit.class);
-		ICompilationUnit cu2 = EasyMock.createMock(ICompilationUnit.class);
-		JavaPersistentType jpt1 = EasyMock.createMock(JavaPersistentType.class);
-		JavaPersistentType jpt2 = EasyMock.createMock(JavaPersistentType.class);
-
-		expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(rel);
-		expect(rel.getOwner()).andStubReturn(jpt1);
-		expect(rel.getInverse()).andStubReturn(jpt2);
-		expect(featureProvider.getCompilationUnit(jpt1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(jpt2)).andStubReturn(cu2);
-		
-		IWorkbenchPartSite ws = EasyMock.createMock(IWorkbenchPartSite.class);
-		
-		IDiagramTypeProvider p = EasyMock.createMock(IDiagramTypeProvider.class);
-		IEditor e = EasyMock.createMock(IEditor.class);
-		expect(featureProvider.getDiagramTypeProvider()).andStubReturn(p);
-		expect(p.getDiagramEditor()).andStubReturn(e);
-		expect(e.getSite()).andStubReturn(ws);
-		ut.organizeImports(cu1, ws);
-		ut.organizeImports(cu2, ws);
-		
-		replay(featureProvider, ctx, ut, rel, jpt1, jpt2, cu1, cu2, pe, p, e, ws);
-		
-		DeleteRelationFeature feature = new DeleteRelationFeature(featureProvider);		
-		feature.postDelete(ctx);
-	}
-}
-
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DirectEditAttributeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DirectEditAttributeFeatureTest.java
deleted file mode 100644
index a48ee0d..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DirectEditAttributeFeatureTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-
-import java.text.MessageFormat;
-
-import org.easymock.EasyMock;
-import org.eclipse.graphiti.features.IDirectEditingFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDirectEditingContext;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DirectEditAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.junit.Before;
-import org.junit.Test;
-
-public class DirectEditAttributeFeatureTest {
-
-	/**
-	 * @throws java.lang.Exception
-	 */
-	@Before
-	public void setUp() throws Exception {
-	}
-
-	@Test
-	public void testCheckValueValidStringByJavaConventions() {
-		JavaPersistentType jpt = EasyMock.createNiceMock(JavaPersistentType.class);
-		JavaPersistentAttribute jpa = configureJpaForJpt(jpt);
-		expect(jpt.getAttributeNamed(isA(String.class))).andStubReturn(jpa);
-		replay(jpa, jpt);
-
-		IFeatureProvider provider = replayJpaForNullPe(jpa);
-		IDirectEditingContext context = replayNullPeContext();
-
-		IDirectEditingFeature feature = new DirectEditAttributeFeature(provider);
-		assertNotValidJavaConventionField(feature, context, "");
-		assertNotValidJavaConventionField(feature, context, "1a");
-		assertNotValidJavaConventionField(feature, context, "d d");
-		assertValidField(feature, context, "$d");
-		assertNotValidJavaConventionField(feature, context, "enum");
-	}
-
-	@Test
-	public void testCheckValueValidStringDuplicateAttribute() {
-		JavaPersistentAttribute otherJpa = EasyMock.createMock(JavaPersistentAttribute.class);
-		JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
-		expect(jpt.getAttributeNamed("attrName")).andStubReturn(otherJpa);
-
-		JavaPersistentAttribute jpa = configureJpaForJpt(jpt);
-		replay(jpa, jpt, otherJpa);
-
-		IFeatureProvider provider = replayJpaForNullPe(jpa);
-		IDirectEditingContext context = replayNullPeContext();
-
-		IDirectEditingFeature feature = new DirectEditAttributeFeature(provider);
-
-		assertEquals(MessageFormat.format(JPAEditorMessages.DirectEditAttributeFeature_attributeExists, "attrName"), feature.checkValueValid("attrName", context));
-	}
-
-	private IFeatureProvider replayJpaForNullPe(JavaPersistentAttribute jpa) {
-		IFeatureProvider provider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(provider.getBusinessObjectForPictogramElement(null)).andStubReturn(jpa);
-		replay(provider);
-		return provider;
-	}
-
-	private JavaPersistentAttribute configureJpaForJpt(JavaPersistentType jpt) {
-		JavaPersistentAttribute jpa = EasyMock.createMock(JavaPersistentAttribute.class);
-		expect(jpa.getParent()).andStubReturn(jpt);
-		return jpa;
-	}
-
-	private IDirectEditingContext replayNullPeContext() {
-		IDirectEditingContext context = EasyMock.createMock(IDirectEditingContext.class);
-		expect(context.getPictogramElement()).andStubReturn(null);
-		replay(context);
-		return context;
-	}
-
-	private void assertValidField(IDirectEditingFeature feature, IDirectEditingContext context, String field) {
-		assertEquals(null, feature.checkValueValid(field, context));
-	}
-
-	private void assertNotValidJavaConventionField(IDirectEditingFeature feature, IDirectEditingContext context,
-			String field) {
-		final String sourceLevel = "1.5";
-		final String complianceLevel = "1.5";
-		assertEquals(JavaConventions.validateFieldName(field, sourceLevel, complianceLevel).getMessage(), feature
-				.checkValueValid(field, context));
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/LayoutEntityFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/LayoutEntityFeatureTest.java
deleted file mode 100644
index e9fbe85..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/LayoutEntityFeatureTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import org.easymock.EasyMock;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.features.context.ILayoutContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.LayoutJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IGraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.junit.Test;
-
-public class LayoutEntityFeatureTest {
-
-	@Test
-	public void testIfNewlyAddedEntityShapeIsExpanded() {
-		IJPAEditorFeatureProvider fp = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		ILayoutContext ctx = EasyMock.createMock(ILayoutContext.class);
-		ContainerShape cs = EasyMock.createMock(ContainerShape.class);
-		GraphicsAlgorithm ga = EasyMock.createMock(GraphicsAlgorithm.class);
-		EasyMock.expect(cs.getGraphicsAlgorithm()).andStubReturn(ga);
-		EasyMock.expect(ctx.getPictogramElement()).andStubReturn(cs);
-		EasyMock.expect(ga.getHeight()).andStubReturn(80);
-		EasyMock.expect(ga.getWidth()).andStubReturn(100);
-		//EasyMock.expect(cs.is___Alive()).andStubReturn(true);
-		EList<Shape> shList = new BasicInternalEList<Shape>(Shape.class); 
-		EasyMock.expect(cs.getChildren()).andStubReturn(shList);
-		IPeServiceUtil peUtil = EasyMock.createMock(IPeServiceUtil.class);
-		EasyMock.expect(fp.getPeUtil()).andStubReturn(peUtil);
-		EasyMock.expect(peUtil.getProperty(cs, JPAEditorConstants.COLLAPSE_FEATURES)).andStubReturn(null);
-		EasyMock.expect(peUtil.removeProperty(cs, JPAEditorConstants.COLLAPSE_FEATURES)).andStubReturn(false);
-		IGraphicsUpdater gu = EasyMock.createMock(IGraphicsUpdater.class);
-		EasyMock.expect(fp.getGraphicsUpdater()).andStubReturn(gu);
-		gu.updateEntityHeigth(cs);
-		
-		EasyMock.replay(fp, ctx, cs, ga, peUtil, gu);		
-		LayoutJPAEntityFeature ft = new LayoutJPAEntityFeature(fp);		
-		ft.layout(ctx);
-	}
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/OpenMiniatureViewFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/OpenMiniatureViewFeatureTest.java
deleted file mode 100644
index 80b95a5..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/OpenMiniatureViewFeatureTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.OpenMiniatureViewFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class OpenMiniatureViewFeatureTest {
-	
-	private IJPAEditorFeatureProvider featureProvider;
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;	
-	
-	@Before
-	public void setUp() throws Exception{
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
-		Thread.sleep(2000);
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity));
-		expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
-		replay(featureProvider);
-	}
-	
-	@Test
-	public void testExecute() {
-		OpenMiniatureViewFeature ft = new OpenMiniatureViewFeature(featureProvider);
-		IAddContext ctx = EasyMock.createMock(IAddContext.class);
-		ft.execute(ctx);
-	}
-
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RefactorAttributeTypeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RefactorAttributeTypeFeatureTest.java
deleted file mode 100644
index 4f60031..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RefactorAttributeTypeFeatureTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Date;
-import java.util.List;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RefactorAttributeTypeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class RefactorAttributeTypeFeatureTest {
-	
-	private IJPAEditorFeatureProvider featureProvider;
-	private ICustomContext context;
-	final String TEST_PROJECT = "Test"+(new Date()).getTime();
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	private IFile entity;
-	
-	@Before
-	public void setUp() throws Exception{
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		entity = factory.createEntity(jpaProject, "org.eclipse.Ent");
-		Thread.sleep(2000);
-		factory.addAttributes(entity, "att", "java.lang.String", "", "att", false);
-		
-	}
-	
-	@Test
-	public void testRefactorAttributeTypeFeature(){
-		PictogramElement[] elements = new PictogramElement[1];
-		PictogramElement element = EasyMock.createNiceMock(PictogramElement.class);
-		replay(element);
-		elements[0] = element;
-		
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(element)).andReturn(null);
-		replay(featureProvider);
-		
-		context = EasyMock.createMock(ICustomContext.class);
-		expect(context.getPictogramElements()).andReturn(elements);
-		replay(context);
-		
-		RefactorAttributeTypeFeature feature = new RefactorAttributeTypeFeature(featureProvider);
-		feature.execute(context);
-	}
-	
-	@Test
-	public void testAttributeUtils(){
-		PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
-		JavaPersistentType jpt = (JavaPersistentType)pu.getPersistentType("org.eclipse.Ent");
-		JavaPersistentAttribute at = jpt.getAttributeNamed("id");
-		List<String> lst = JpaArtifactFactory.instance().getAnnotationStrings(at);
-		assertEquals(1, lst.size());
-		assertTrue(lst.contains("@Id"));
-		String typeName1 = JPAEditorUtil.getAttributeTypeName(at);
-		assertEquals("int", typeName1);
-		String typeName2 = JPAEditorUtil.getAttributeTypeName(at.getResourceAttribute());
-		assertEquals("int", typeName2);		
-	}
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RemoveAttributeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RemoveAttributeFeatureTest.java
deleted file mode 100644
index 31b46a4..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RemoveAttributeFeatureTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Date;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class RemoveAttributeFeatureTest {
-	
-	private IJPAEditorFeatureProvider featureProvider;
-	private IRemoveContext context;
-	final String TEST_PROJECT = "Test"+(new Date()).getTime();
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	private IFile entity;
-	
-	@Before
-	public void setUp() throws Exception{
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		entity = factory.createEntity(jpaProject, "org.eclipse.Ent");
-		Thread.sleep(2000);
-		factory.addAttributes(entity, "att", "java.lang.String", "", "att", false);
-		
-	}
-	
-	@SuppressWarnings("unchecked")
-	@Test
-	public void testRemoveAttributeFeature() {
-		GraphicsAlgorithm algorithm = EasyMock.createNiceMock(GraphicsAlgorithm.class);
-		replay(algorithm);
-		
-		EList<Anchor> list = EasyMock.createMock(EList.class);
-		Shape shape = EasyMock.createNiceMock(Shape.class);
-		
-		expect(shape.getGraphicsAlgorithm()).andReturn(algorithm);
-		expect(shape.getAnchors()).andReturn(list);
-		replay(shape);
-		
-		//EList<Shape> listShape = new BasicInternalEList<Shape>(Shape.class);
-		
-		ContainerShape pictogramElement = EasyMock.createMock(ContainerShape.class);
-		Resource res = EasyMock.createMock(Resource.class);
-		expect(pictogramElement.eResource()).andStubReturn(res);
-		
-		ResourceSet rs = EasyMock.createMock(ResourceSet.class);
-		expect(res.getResourceSet()).andStubReturn(rs);
-		EList<Adapter> ead = new BasicInternalEList<Adapter>(Adapter.class); 
-		expect(rs.eAdapters()).andStubReturn(ead);
-
-		replay(pictogramElement, res, rs);
-		
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(pictogramElement)).andReturn(JPACreateFactory.getPersistentAttribute(entity, "att"));
-		expect(featureProvider.decreaseAttribsNum(pictogramElement)).andReturn(0);
-		expect(featureProvider.getKeyForBusinessObject(isA(Object.class))).andReturn("");
-		expect(featureProvider.remove("")).andReturn(null);
-		expect(featureProvider.getRelationRelatedToAttribute(isA(JavaPersistentAttribute.class))).andReturn(null);
-		replay(featureProvider);
-		
-		context = EasyMock.createMock(IRemoveContext.class);
-		expect(context.getPictogramElement()).andReturn(pictogramElement);
-		replay(context);
-		
-		ICustomFeature graphicalRemove = EasyMock.createMock(ICustomFeature.class);
-		graphicalRemove.execute(isA(ICustomContext.class));
-		replay(graphicalRemove);
-		
-		RemoveAttributeFeature feature = new RemoveAttributeFeature(featureProvider, graphicalRemove);
-		feature.preRemove(context);
-	}
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/SaveEntityFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/SaveEntityFeatureTest.java
deleted file mode 100644
index 2e90717..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/SaveEntityFeatureTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.SaveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class SaveEntityFeatureTest {
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;	
-	
-	@Before
-	public void setUp() throws Exception{
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		Thread.sleep(2000);
-	}
-	
-	@Test
-	public void testExecute() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		PictogramElement pe = EasyMock.createMock(PictogramElement.class);
-
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		int cnt = 0;
-		while ((cnt < 25) && (t1 == null)) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-			cnt++;
-		}
-		if (t1 == null)
-			return;
-		expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(t1);
-		expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(createCompilationUnitFrom(customerFile)).anyTimes();
-
-		
-		SaveEntityFeature ft = new SaveEntityFeature(featureProvider);
-		ICustomContext ctx = EasyMock.createMock(ICustomContext.class);
-		
-		PictogramElement[] pes = new PictogramElement[1];
-		pes[0] = pe;
-		expect(ctx.getPictogramElements()).andStubReturn(pes);
-		
-		replay(featureProvider, ctx, pe);
-		ft.execute(ctx);
-	}
-	
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}
-	
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/UpdateAttributeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/UpdateAttributeFeatureTest.java
deleted file mode 100644
index 792c7c3..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/UpdateAttributeFeatureTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Date;
-import java.util.Iterator;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.UpdateAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class UpdateAttributeFeatureTest {
-	
-	private IJPAEditorFeatureProvider featureProvider;
-	private ICustomContext context;
-	final String TEST_PROJECT = "Test"+(new Date()).getTime();
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	private IFile entity;
-	
-	@Before
-	public void setUp() throws Exception {
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		entity = factory.createEntity(jpaProject, "org.eclipse.Ent");
-		Thread.sleep(2000);
-		factory.addAttributes(entity, "att", "java.lang.String", "", "att", false);
-	}
-	
-	
-	@SuppressWarnings({ "unchecked", "deprecation" })
-	@Test
-	public void testUpdateAttributeFeature(){
-		Text text = EasyMock.createMock(Text.class);
-		text.setValue(EasyMock.isA(java.lang.String.class));
-		EasyMock.replay(text);
-		
-		EList<GraphicsAlgorithm> listChildren = new BasicInternalEList<GraphicsAlgorithm>(GraphicsAlgorithm.class);
-		
-		
-		EasyMock.expect(listChildren.get(0)).andReturn(text);
-		EasyMock.replay(listChildren);
-		
-		
-		Rectangle rectangle = EasyMock.createMock(Rectangle.class);
-		EasyMock.expect(rectangle.getGraphicsAlgorithmChildren()).andReturn(listChildren);
-		EasyMock.expect(rectangle.getY()).andReturn(0).times(2);
-		EasyMock.replay(rectangle);
-		
-		Iterator<Shape> iteratorShape = EasyMock.createNiceMock(Iterator.class);
-		EasyMock.expect(iteratorShape.hasNext()).andReturn(false);
-		EasyMock.replay(iteratorShape);
-		
-		EList<Shape> listShape = new BasicInternalEList<Shape>(Shape.class);
-		
-		ContainerShape containerShape = EasyMock.createMock(ContainerShape.class);
-		EasyMock.expect(containerShape.getChildren()).andReturn(listShape);
-		EasyMock.replay(containerShape);
-		
-		Shape shape = EasyMock.createMock(Shape.class);
-		Resource res = EasyMock.createMock(Resource.class);
-		ResourceSet rs = EasyMock.createMock(ResourceSet.class);
-		EasyMock.expect(res.getResourceSet()).andStubReturn(rs);
-		EList<Adapter> ads = new BasicInternalEList<Adapter>(Adapter.class);
-		EasyMock.expect(rs.eAdapters()).andStubReturn(ads);
-		EasyMock.expect(shape.eResource()).andStubReturn(res);
-		
-
-		
-		EasyMock.expect(shape.getGraphicsAlgorithm()).andReturn(rectangle).times(3);
-		EasyMock.expect(shape.getContainer()).andReturn(containerShape);
-		
-		
-		EasyMock.replay(shape, res, rs);
-		
-		context = EasyMock.createMock(ICustomContext.class);
-		EasyMock.expect(context.getInnerPictogramElement()).andReturn(shape);
-		EasyMock.replay(context);
-		
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		EasyMock.expect(featureProvider.getBusinessObjectForPictogramElement(shape)).andReturn(null);
-		EasyMock.replay(featureProvider);
-		
-		UpdateAttributeFeature feature = new UpdateAttributeFeature(featureProvider);
-		feature.execute(context);
-	}
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/listener/JPAProjectListenerTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/listener/JPAProjectListenerTest.java
deleted file mode 100644
index d619530..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/listener/JPAProjectListenerTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.listener;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.IRemoveFeature;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-
-public class JPAProjectListenerTest {
-	private IJPAEditorFeatureProvider featureProvider;
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	IEclipseFacade eclipseFacade = null;
-	
-	@Before
-	public void setUp() throws Exception {
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
-		Thread.sleep(2000);
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity));
-		expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
-	}
-
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}
-	
-	@Test
-	public void testJPAProjectListener() {
-		JPASolver slv = new JPASolver(); 
-		slv.setFeatureProvider(featureProvider);
-		jpaProject.addCollectionChangeListener("mark", slv.new JPAProjectListener());
-		PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
-		JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT("org.eclipse.Entity1", pu);
-		ContainerShape cs = EasyMock.createMock(ContainerShape.class);
-		expect(featureProvider.getPictogramElementForBusinessObject(jpt)).andStubReturn(cs);
-		IRemoveFeature ft = EasyMock.createMock(IRemoveFeature.class);
-		expect(featureProvider.getRemoveFeature(isA(IRemoveContext.class))).andReturn(ft);
-		// The remove method should be invoked exactly once
-		ft.remove(isA(IRemoveContext.class));
-		replay(ft, cs, featureProvider);
-		JpaArtifactFactory.instance().deleteEntityClass(jpt, featureProvider);
-	}
-	
-	@Test
-	public void testJPAProjectListenerNoRemove() {
-		JPASolver slv = new JPASolver(); 
-		slv.setFeatureProvider(featureProvider);
-		jpaProject.addCollectionChangeListener("mark", slv.new JPAProjectListener());
-		PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
-		JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT("org.eclipse.Entity1", pu);
-		expect(featureProvider.getPictogramElementForBusinessObject(jpt)).andStubReturn(null);
-		IRemoveFeature ft = EasyMock.createMock(IRemoveFeature.class);
-		expect(featureProvider.getRemoveFeature(isA(IRemoveContext.class))).andReturn(ft);
-		replay(ft, featureProvider);
-		// if the container shape is null the remove method of the feature should not be invoked
-		JpaArtifactFactory.instance().deleteEntityClass(jpt, featureProvider);
-	}
-	
-	
-	@After	
-	public void tearDown() throws Exception {		
-		deleteAllProjects();
-	}
-	
-	private void deleteAllProjects() throws Exception {
-		IProgressMonitor monitor= new NullProgressMonitor();
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				try {
-					IProject project = jpaProject.getProject();
-				    project.close(monitor);	    	
-				    project.close(monitor);
-				    project.delete(true, true, monitor);
-				} catch (Exception e) {
-					//ignore
-				}
-			}
-		} , monitor);
-	}	
-	
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/ui/ModelIntegrationTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/ui/ModelIntegrationTest.java
deleted file mode 100644
index 34e3ba1..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/ui/ModelIntegrationTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.ui;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.IModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPADiagramEditorInput;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.PartInitException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ModelIntegrationTest {
-	
-	private static final String CODE_GENERATED = "CODE_GENERATED";
-	private IJPAEditorFeatureProvider featureProvider;
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	IEclipseFacade eclipseFacade = null;
-	private String testProjectName = TEST_PROJECT + "_" + System.currentTimeMillis();
-	IFile entityFile = null;
-	
-	@Before
-	public void setUp() throws Exception {
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(testProjectName);
-		assertNotNull(jpaProject);
-		entityFile = factory.createEntity(jpaProject, "org.eclipse.Entity1");
-		Thread.sleep(2000);
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entityFile));
-		expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entityFile)).anyTimes();
-	}
-	
-	@Test
-	public void testJPAEditorMatchingStrategyWithEntityFileEditorInputTrue() {
-		IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
-		IFileEditorInput input = EasyMock.createMock(IFileEditorInput.class);
-		expect(input.getFile()).andStubReturn(entityFile);
-		expect(input.getName()).andStubReturn(CODE_GENERATED);
-		ICompilationUnit cu = createCompilationUnitFrom(entityFile); 
-		
-		IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
-		JavaPersistentType inputJptType = (JavaPersistentType) JPACreateFactory.getPersistentType(entityFile);
-		expect(ut.getJPType(cu)).andStubReturn(inputJptType);
-		expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
-		Diagram d = EasyMock.createMock(Diagram.class);
-		IJPADiagramEditorInput dEdInput = EasyMock.createMock(IJPADiagramEditorInput.class);
-		try {
-			expect(editorRef.getEditorInput()).andStubReturn(dEdInput);
-		} catch (PartInitException e) {
-			e.printStackTrace();
-		}
-		expect(dEdInput.getDiagram()).andStubReturn(d);
-		IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
-		expect(featureProvider.getDiagramTypeProvider()).andStubReturn(dtp);
-		IModelIntegrationUtil moinIntUtil = EasyMock.createMock(IModelIntegrationUtil.class); 
-		expect(featureProvider.getMoinIntegrationUtil()).andStubReturn(moinIntUtil);
-		expect(moinIntUtil.getProjectByDiagram(d)).andStubReturn(jpaProject);
-		PictogramElement pe = EasyMock.createMock(PictogramElement.class);
-		expect(featureProvider.getPictogramElementForBusinessObject(inputJptType)).andStubReturn(pe);
-		IDiagramEditor dEd = EasyMock.createMock(IDiagramEditor.class);
-		expect(dtp.getDiagramEditor()).andStubReturn(dEd);
-		dEd.setPictogramElementForSelection(pe);
-
-		JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);
-		
-		EasyMock.replay(editorRef, d, dtp, pe, dEd, moinIntUtil, dEdInput, ut, input, featureProvider);
-		assertTrue(str.matches(editorRef, input));
-	}
-	
-	@Test
-	public void testJPAEditorMatchingStrategyWithEntityFileEditorInputFalse() {		
-		IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
-		IFileEditorInput input = EasyMock.createMock(IFileEditorInput.class);
-		expect(input.getFile()).andStubReturn(entityFile);
-		expect(input.getName()).andStubReturn(CODE_GENERATED);
-		ICompilationUnit cu = createCompilationUnitFrom(entityFile); 
-		
-		IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
-		JavaPersistentType inputJptType = (JavaPersistentType) JPACreateFactory.getPersistentType(entityFile);
-		expect(ut.getJPType(cu)).andStubReturn(inputJptType);
-		expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
-		Diagram d = EasyMock.createMock(Diagram.class);
-		IJPADiagramEditorInput dEdInput = EasyMock.createMock(IJPADiagramEditorInput.class);
-		try {
-			expect(editorRef.getEditorInput()).andStubReturn(dEdInput);
-		} catch (PartInitException e) {
-			e.printStackTrace();
-		}
-		expect(dEdInput.getDiagram()).andStubReturn(d);
-		IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
-		expect(featureProvider.getDiagramTypeProvider()).andStubReturn(dtp);
-		IModelIntegrationUtil moinIntUtil = EasyMock.createMock(IModelIntegrationUtil.class); 
-		expect(featureProvider.getMoinIntegrationUtil()).andStubReturn(moinIntUtil);
-		JpaProject anotherJpaProject = EasyMock.createMock(JpaProject.class);
-		expect(moinIntUtil.getProjectByDiagram(d)).andStubReturn(anotherJpaProject);
-		PictogramElement pe = EasyMock.createMock(PictogramElement.class);
-		expect(featureProvider.getPictogramElementForBusinessObject(inputJptType)).andStubReturn(pe);
-		IDiagramEditor dEd = EasyMock.createMock(IDiagramEditor.class);
-		expect(dtp.getDiagramEditor()).andStubReturn(dEd);
-		dEd.setPictogramElementForSelection(pe);
-
-		JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);
-		
-		EasyMock.replay(editorRef, d, dtp, pe, dEd, moinIntUtil, anotherJpaProject, dEdInput, ut, input, featureProvider);
-		assertFalse(str.matches(editorRef, input));
-	}	
-	
-	@Test
-	public void testJPAEditorMatchingStrategyWithJPADiagramEditorInputTrue() {		
-		IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
-		expect(editorRef.getPartName()).andStubReturn("ProjectName");
-		IJPADiagramEditorInput input = EasyMock.createMock(IJPADiagramEditorInput.class);
-		expect(input.getProjectName()).andStubReturn("ProjectName");
-		JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);		
-		EasyMock.replay(editorRef, input, featureProvider);
-		assertTrue(str.matches(editorRef, input));
-	}
-
-	@Test
-	public void testJPAEditorMatchingStrategyWithJPADiagramEditorInputFalse() {		
-		IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
-		expect(editorRef.getPartName()).andStubReturn("ProjectName");
-		IJPADiagramEditorInput input = EasyMock.createMock(IJPADiagramEditorInput.class);
-		expect(input.getProjectName()).andStubReturn("DifferentProjectName");
-		JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);		
-		EasyMock.replay(editorRef, input, featureProvider);
-		assertFalse(str.matches(editorRef, input));
-	}	
-	
-	
-//	@Test
-//	public void testJPAEditorMatchingStrategyWithFileEditorInput() {
-//		IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
-//		IFileEditorInput input = EasyMock.createMock(IFileEditorInput.class);
-//		IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
-//		expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
-//		JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
-//		ICompilationUnit cu = JavaCore.createCompilationUnitFrom(entityFile);
-//		expect(ut.getJPType(cu)).andStubReturn(jpt);
-//		PersistenceUnit pu = EasyMock.createMock(PersistenceUnit.class);
-//		expect(jpt.getPersistenceUnit()).andStubReturn(pu);
-//		expect(pu.getJpaProject()).andStubReturn(jpaProject);
-//		expect(input.getFile()).andStubReturn(entityFile);
-//		expect(input.getName()).andStubReturn(entityFile.getName());
-//		JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);		
-//		EasyMock.replay(editorRef, input, ut, jpt, pu, featureProvider);
-//		assertFalse(str.matches(editorRef, input));
-//	}
-	
-	
-	
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}
-		
-	@After	
-	public void tearDown() throws Exception {		
-		deleteAllProjects();
-	}
-	
-	private void deleteAllProjects() throws Exception {
-		IProgressMonitor monitor= new NullProgressMonitor();
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				IProject project = jpaProject.getProject();
-			    project.close(monitor);	    	
-			    project.close(monitor);
-			    project.delete(true, true, monitor);				
-			}
-		} , monitor);
-	}	
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/util/ModelIntegrationUtilTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/util/ModelIntegrationUtilTest.java
deleted file mode 100644
index 4c8dfe3..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/util/ModelIntegrationUtilTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.util;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleListener;
-
-
-@SuppressWarnings("unchecked")
-public class ModelIntegrationUtilTest {
-	
-	@Test
-	public void getMOINNoResourceFolderTest() {
-		IProject project = EasyMock.createMock(IProject.class);
-		//EList rr = new BasicInternalEList(String.class);
-		EasyMock.expect(project.getProjectRelativePath()).andStubReturn(new Path("src"));
-		EasyMock.replay(project);
-		IPath p = ModelIntegrationUtil.getEMFResourceFolderPath(project);
-		assertNotNull(p);
-		assertEquals(2, p.segmentCount());
-		assertEquals(p.segment(0), "src");
-	}
-	
-	@SuppressWarnings("rawtypes")
-	@Test
-	public void getMOINSrcResourceFolderTest() {
-		IProject project = EasyMock.createMock(IProject.class);
-		EList rr = new BasicInternalEList(String.class);
-		rr.add("src");
-		EasyMock.expect(project.getProjectRelativePath()).andStubReturn(new Path("src"));
-		EasyMock.replay(project);
-		IPath p = ModelIntegrationUtil.getEMFResourceFolderPath(project);
-		assertNotNull(p);
-		assertEquals(2, p.segmentCount());
-		assertEquals(p.segment(0), "src");
-	}
-	
-	@Test
-	public void copyExistingXMIContentAndDeleteFileTest() throws Exception {
-		Bundle b = EasyMock.createMock(Bundle.class);
-		BundleContext bc = EasyMock.createMock(BundleContext.class);
-		EasyMock.expect(bc.getBundle()).andStubReturn(b);
-		EasyMock.expect(b.getSymbolicName()).andStubReturn("jpa_editor");
-		bc.addBundleListener(EasyMock.isA(BundleListener.class));
-		EasyMock.replay(bc, b);
-		
-		JPADiagramEditorPlugin p = new JPADiagramEditorPlugin();
-		p.start(bc);
-		
-		IPreferenceStore store = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
-		store.putValue(JPAEditorPreferenceInitializer.PROPERTY_DIAGRAM_FOLDER, "diagrams");
-		store.getString(JPAEditorPreferenceInitializer.PROPERTY_DIAGRAM_FOLDER);
-		
-		JPACreateFactory factory = JPACreateFactory.instance();
-		JpaProject jpaProject = factory.createJPAProject("Test_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);		
-		ModelIntegrationUtil.copyExistingXMIContentAndDeleteFile(jpaProject.getProject(), "diagram_name", null);
-	}
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferenceInitializerTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferenceInitializerTest.java
deleted file mode 100644
index f34965d..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferenceInitializerTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences;
-
-import static org.junit.Assert.*;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceStore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer;
-import org.junit.Test;
-
-public class JPAEditorPreferenceInitializerTest {
-	@Test
-	public void testInitializeDefaultPreferences() {
-		IPreferenceStore store = new PreferenceStore();
-		AbstractPreferenceInitializer fixture = new JPAEditorPreferenceInitializer(
-				store);
-		fixture.initializeDefaultPreferences();
-		String pack = store
-				.getDefaultString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE);
-		assertEquals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ENTITY_PACKAGE, pack);
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferencesPageTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferencesPageTest.java
deleted file mode 100644
index 718896e..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferencesPageTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class JPAEditorPreferencesPageTest {
-
-	private IPreferenceStore store;
-	private String oldValue;
-
-	@Before
-	public void setUp() {
-		store = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
-		oldValue = store
-				.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE);
-	}
-
-	@After
-	public void tearDown() {
-		store.setValue(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE,
-				oldValue);
-	}
-
-	/*
-	@Test
-	public void testCheckState() {
-		JPAEditorPreferencesPage page = createControl();
-		assertNull(page.getErrorMessage());
-	}
-
-	@Test
-	public void testCheckStateErrorMessage() {
-		store.setValue(JPAEditorPreferenceInitializer.DEFAULT_ENTITY_PACKAGE,
-				"d omd");
-		JPAEditorPreferencesPage page = createControl();
-		assertNotNull(page.getErrorMessage());
-	}
-
-	@Test
-	public void testCheckStateWarningMessage() {
-		store.setValue(JPAEditorPreferenceInitializer.DEFAULT_ENTITY_PACKAGE,
-				"CapitalLetter");
-		JPAEditorPreferencesPage page = createControl();
-		assertNull(page.getMessage());
-		assertTrue(page.isValid());
-	}
-	*/
-
-	@Test
-	public void testInit() {
-		JPAEditorPreferencesPage page = new JPAEditorPreferencesPage();
-		page.init(null);
-	}
-
-	@SuppressWarnings("unused")
-	private JPAEditorPreferencesPage createControl() {
-		JPAEditorPreferencesPage page = new JPAEditorPreferencesPage();
-		Composite composite = new Composite(Display.getDefault()
-				.getActiveShell(), SWT.NONE);
-		page.createControl(composite);
-		return page;
-	}
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorFeatureProviderTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorFeatureProviderTest.java
deleted file mode 100644
index eb46f65..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorFeatureProviderTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.provider;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IDeleteFeature;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickRemoveAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJpaSolver;
-import org.junit.Before;
-import org.junit.Test;
-
-
-public class JPAEditorFeatureProviderTest {
-	
-
-	private IJpaSolver solver;
-	private String businessObjectKey;
-
-	/**
-	 * @throws java.lang.Exception
-	 */
-	@Before
-	public void setUp() throws Exception {
-		solver = EasyMock.createMock(IJpaSolver.class);
-		businessObjectKey = "someValue";
-	}
-	
-	@Test
-	public void testAttributesGroupDeleteFeature(){		
-		PictogramElement pe = replayPictogramElement();
-	
-		expect(solver.getBusinessObjectForKey(businessObjectKey)).andReturn(new Object());
- 		IJPAEditorFeatureProvider provider = createFeatureProvider();
- 		
-		//test
-		IDeleteContext context = replayDeleteContext(pe);
-		assertNull(provider.getDeleteFeature(context));
-	}
-	
-	@Test
-	public void testAttributeDeleteFeature(){
-		PictogramElement pe = replayPictogramElement();
-		JavaPersistentAttribute jpa = replayAttribute();
-		expect(solver.getBusinessObjectForKey(businessObjectKey)).andStubReturn(jpa);
-		IJPAEditorFeatureProvider provider = createFeatureProvider();
-		
-		//test
-		IDeleteContext context = replayDeleteContext(pe);
-		assertNotNull(provider.getDeleteFeature(context));
-		IDeleteFeature feature = provider.getDeleteFeature(context);
-		assertTrue(feature instanceof ClickRemoveAttributeButtonFeature);
-	}
-	
-	@Test
-	public void testEntityDeleteFeature(){
-		PictogramElement pe = replayPictogramElement();
-		JavaPersistentType jpt = replayJPT("TestEntity");
-		
-		expect(solver.getBusinessObjectForKey(businessObjectKey)).andStubReturn(jpt);
-		IJPAEditorFeatureProvider provider = createFeatureProvider();
-		
-		//test
-		IDeleteContext context = replayDeleteContext(pe);
-		assertNotNull(provider.getDeleteFeature(context));
-		IDeleteFeature deleteFeature = provider.getDeleteFeature(context);
-		assertTrue(deleteFeature instanceof DeleteJPAEntityFeature);
-	}
-	
-	@Test
-	public void testRelationDeleteFeature(){
-		PictogramElement pe = replayPictogramElement();
-		JavaPersistentType jpt1 = replayJPT("TestEntity1");
-		JavaPersistentType jpt2 = replayJPT("TestEntity2");
-		IJPAEditorFeatureProvider provider = createFeatureProvider();
-
-		AbstractRelation relation = new ManyToManyUniDirRelation(provider, jpt1, jpt2, "attribute1", false, null, null);
-		expect(solver.getBusinessObjectForKey(businessObjectKey)).andStubReturn(relation);
-		
-		//test
-		IDeleteContext context = replayDeleteContext(pe);
-		assertNotNull(provider.getDeleteFeature(context));
-		IDeleteFeature deleteFeature = provider.getDeleteFeature(context);
-		assertTrue(deleteFeature instanceof DeleteRelationFeature);
-	}
-
-	private JavaPersistentType replayJPT(String name){
-		JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
-		expect(jpt.getName()).andReturn(name);
-		replay(jpt);
-		return jpt;
-	}
-	
-	private JavaPersistentAttribute replayAttribute(){
-		JavaPersistentAttribute attribute = EasyMock.createMock(JavaPersistentAttribute.class);
-		expect(attribute.getName()).andReturn("attribute");
-		replay(attribute);
-		return attribute;
-	}
-	
-	@SuppressWarnings("unchecked")
-	private PictogramElement replayPictogramElement(){
-		PictogramElement pe = EasyMock.createMock(PictogramElement.class);
-		Resource r = EasyMock.createMock(Resource.class);
-		expect(pe.eResource()).andStubReturn(r);
-		//expect(pe.is___Alive()).andStubReturn(true);
-		EList<Property> properties = EasyMock.createMock(EList.class);
-		Property prop = EasyMock.createMock(Property.class);
-		expect(prop.getKey()).andStubReturn("independentObject");
-		expect(prop.getValue()).andStubReturn(businessObjectKey);
-		replay(prop, r);
-		properties.add(prop);
-		expect(pe.getProperties()).andStubReturn(properties);
-		replay(pe);
-		return pe;
-	}
-
-	private IJPAEditorFeatureProvider createFeatureProvider() {
-		IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
-		replay(dtp);
-		solver.setFeatureProvider(isA(IJPAEditorFeatureProvider.class));
-		replay(solver);
-		IJPAEditorFeatureProvider provider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(provider.getDiagramTypeProvider()).andStubReturn(dtp);
-		//provider.get
-		replay(provider);
-		return provider;
-	}
-	
-	private IDeleteContext replayDeleteContext(PictogramElement pe){
-		IDeleteContext context = EasyMock.createMock(IDeleteContext.class);
-		expect(context.getPictogramElement()).andStubReturn(pe);
-		replay(context);
-		return context;
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorToolBehaviorProviderTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorToolBehaviorProviderTest.java
deleted file mode 100644
index a987680..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorToolBehaviorProviderTest.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.provider;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDoubleClickContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.tb.IDecorator;
-import org.eclipse.graphiti.tb.IToolBehaviorProvider;
-import org.eclipse.graphiti.tb.ImageDecorator;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorToolBehaviorProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IStaticIDE;
-import org.eclipse.ui.PartInitException;
-import org.junit.Before;
-import org.junit.Test;
-
-public class JPAEditorToolBehaviorProviderTest {
-
-	/**
-	 * @throws java.lang.Exception
-	 */
-	@Before
-	public void setUp() throws Exception {
-	}
-
-	@Test
-	public void testGetRenderingDecoratorsPictogramElementError() throws Exception {
-		PictogramElement pe = replayPictogramElement(100, 100);
-		IMarker marker = replayMarker(IMarker.SEVERITY_ERROR, "Error message");
-		JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { marker });
-		IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
-		IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
-		IDecorator[] decorators = provider.getDecorators(pe);
-		assertEquals(1, decorators.length);
-		assertEquals("Error message", decorators[0].getMessage());
-	}
-
-	@Test
-	public void testGetRenderingDecoratorsPictogramElementWarning() throws Exception {
-		PictogramElement pe = replayPictogramElement(100, 100);
-
-		IMarker marker = replayMarker(IMarker.SEVERITY_WARNING, "Warning message");
-		JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { marker });
-		IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
-		IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
-		IDecorator[] decorators = provider.getDecorators(pe);
-		assertEquals(1, decorators.length);
-		assertEquals("Warning message", decorators[0].getMessage());
-	}
-
-	@Test
-	public void testGetRenderingDecoratorsPictogramElementInfo() throws Exception {
-		PictogramElement pe = replayPictogramElement(100, 100);
-		IMarker marker = replayMarker(IMarker.SEVERITY_INFO, "Info message");
-		JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { marker });
-		IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
-		IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
-		IDecorator[] decorators = provider.getDecorators(pe);
-		assertEquals(1, decorators.length);
-		assertEquals("Info message", decorators[0].getMessage());
-	}
-
-	@Test
-	public void testGetRenderingDecoratorsPictogramElementNoMarkers() throws Exception {
-		PictogramElement pe = replayPictogramElement(100, 100);
-		JavaPersistentType jpt = replayJptWithMarker(new IMarker[0]);
-		IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
-		IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
-		IDecorator[] decorators = provider.getDecorators(pe);
-		assertEquals(0, decorators.length);
-	}
-
-	@Test
-	public void testGetRenderingDecoratorsPictogramElementTwoMarkers() throws Exception {
-		PictogramElement pe = replayPictogramElement(100, 100);
-		IMarker warningMarker = replayMarker(IMarker.SEVERITY_WARNING, "warning");
-		IMarker errorMarker = replayMarker(IMarker.SEVERITY_ERROR, "error");
-		JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { errorMarker, warningMarker });
-		IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-		IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
-		IDecorator[] decorators = provider.getDecorators(pe);
-		assertEquals(1, decorators.length);
-		assertEquals("error", decorators[0].getMessage());
-	}
-	
-	@Test
-	public void testGetRenderingDecoratorsPictogramElementLocation() throws Exception {
-		PictogramElement pe = replayPictogramElement(100, 100);
-		IMarker marker = replayMarker(IMarker.SEVERITY_ERROR, "Error message");
-		JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { marker });
-		IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
-		IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
-		IDecorator[] decorators = provider.getDecorators(pe);
-		assertEquals(1, decorators.length);
-		assertEquals(80, ((ImageDecorator) decorators[0]).getX());
-		assertEquals(80, ((ImageDecorator) decorators[0]).getY());
-	}
-	
-	@Test
-	public void testGetDoubleClickOnJptFeature() throws PartInitException, CoreException {
-		PictogramElement pe = replayPictogramElement(100, 100);
-		IFile file = replayResource();
-		JavaPersistentType jpt = replayJpt(pe, file);
-		IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-		
-		IEclipseFacade facade = EasyMock.createMock(IEclipseFacade.class);
-		IStaticIDE ide = EasyMock.createMock(IStaticIDE.class);
-		expect(facade.getIDE()).andStubReturn(ide);
-		ide.openEditor(file);
-		replay(facade, ide);
-		IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp, facade);
-      
-		IDoubleClickContext context = replayDoubleClickContext(pe);
-		provider.getDoubleClickFeature(context);
-		verify(ide);
-	}
-	
-	@Test
-	public void testGetDoubleClickOnJpaFeature() throws Exception {
-		PictogramElement pe = replayPictogramElement(100, 100);
-		IFile file = replayResource();
-		JavaPersistentAttribute jpa = replayJpa(pe, file);
-		IDiagramTypeProvider dtp = replayDiagramProviderForJpa(pe, jpa);
-		
-		IEclipseFacade eclipseFacade = EasyMock.createMock(IEclipseFacade.class);
-		IStaticIDE ide = EasyMock.createMock(IStaticIDE.class);
-		expect(eclipseFacade.getIDE()).andStubReturn(ide);
-		ide.openEditor(file);
-		replay(eclipseFacade, ide);
-		IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp, eclipseFacade);
-		
-		IDoubleClickContext context = replayDoubleClickContext(pe);
-		provider.getDoubleClickFeature(context);
-		verify(ide);
-	}
-	
-	private IDiagramTypeProvider replayDiagramProvider(PictogramElement pe, JavaPersistentType jpt) {
-		IFeatureProvider featureProvider = EasyMock.createMock(IFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(jpt);
-		IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
-		expect(dtp.getFeatureProvider()).andStubReturn(featureProvider);
-		replay(dtp, featureProvider);
-		return dtp;
-	}
-
-	private IMarker replayMarker(int severity, String message) throws CoreException {
-		IMarker marker = EasyMock.createMock(IMarker.class);
-		expect(marker.getAttribute(IMarker.SEVERITY)).andStubReturn(severity);
-		expect(marker.getAttribute(IMarker.MESSAGE)).andStubReturn(message);
-		replay(marker);
-		return marker;
-	}
-
-	private JavaPersistentType replayJptWithMarker(IMarker[] markers) throws CoreException {
-		JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
-		IFile file = EasyMock.createMock(IFile.class);
-		expect(file.exists()).andReturn(true);
-		expect(file.findMarkers(null, true, IResource.DEPTH_INFINITE)).andStubReturn(markers);
-		expect(jpt.getResource()).andStubReturn(file);
-		replay(file, jpt);
-		return jpt;
-	}
-	
-	private IFile replayResource() throws CoreException {
-		IFile file = EasyMock.createMock(IFile.class);
-		file.setSessionProperty(new QualifiedName(null, JPAEditorMatchingStrategy.DOUBLE_CLICK), "true");
-		EasyMock.expectLastCall().asStub();
-		expect(file.getType()).andStubReturn(IResource.FILE);
-		replay(file);
-		return file;
-	}
-	
-	private IDoubleClickContext replayDoubleClickContext(PictogramElement pe){
-		IDoubleClickContext context = EasyMock.createMock(IDoubleClickContext.class);
-		expect(context.getPictogramElements()).andStubReturn(new PictogramElement[] {pe});
-		replay(context);
-		return context;
-	}
-	
-	private JavaPersistentType replayJpt(PictogramElement pe, IFile file){
-		IFeatureProvider featureProvider = EasyMock.createMock(IFeatureProvider.class);
-		JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(jpt);
-		expect(jpt.getResource()).andReturn(file);
-		replay(jpt, featureProvider);
-		return jpt;
-	}
-	
-	private JavaPersistentAttribute replayJpa(PictogramElement pe, IFile file){
-		IFeatureProvider featureProvider = EasyMock.createMock(IFeatureProvider.class);
-		JavaPersistentAttribute jpa = EasyMock.createMock(JavaPersistentAttribute.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(jpa);
-		expect(jpa.getResource()).andReturn(file);
-		replay(jpa, featureProvider);
-		return jpa;
-	}
-	
-	private IDiagramTypeProvider replayDiagramProviderForJpa(PictogramElement pe, JavaPersistentAttribute jpa) {
-		IFeatureProvider featureProvider = EasyMock.createMock(IFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(jpa);
-		IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
-		expect(dtp.getFeatureProvider()).andStubReturn(featureProvider);
-		replay(dtp, featureProvider);
-		return dtp;
-	}
-
-	private PictogramElement replayPictogramElement(int width, int height) {
-		PictogramElement pe = EasyMock.createMock(PictogramElement.class);
-		GraphicsAlgorithm algo = EasyMock.createMock(GraphicsAlgorithm.class);
-		expect(algo.getWidth()).andStubReturn(width);
-		expect(algo.getHeight()).andStubReturn(height);
-		expect(pe.getGraphicsAlgorithm()).andStubReturn(algo);
-		replay(pe, algo);
-		return pe;
-	}
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationAttributesTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationAttributesTest.java
deleted file mode 100644
index d2cc65a..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationAttributesTest.java
+++ /dev/null
@@ -1,604 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.relation;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class CreateRelationAttributesTest {
-	
-	private IJPAEditorFeatureProvider featureProvider;
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	IEclipseFacade eclipseFacade = null;
-	
-	@Before
-	public void setUp() throws Exception {
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
-		Thread.sleep(2000);
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity));
-		expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
-		replay(featureProvider);
-	}
-		
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		ICompilationUnit cu = JavaCore.createCompilationUnitFrom(file);
-		if (!cu.isWorkingCopy())
-			try {
-				cu.becomeWorkingCopy(new NullProgressMonitor());
-			} catch (JavaModelException e) {
-				e.printStackTrace();
-			}
-		return cu;
-	}
-	
-	@Test
-	public void testAddAnnotation() throws Exception {
-		assertNotNull(jpaProject);	
-		//jpaProject.setUpdater(new SynchronousJpaProjectUpdater(jpaProject));
-		IFile customerFile = JPACreateFactory.instance().createEntityInProject(jpaProject.getProject(), new String[]{"abc"}, "Customer");	
-		IFile addressFile = JPACreateFactory.instance().createEntityInProject(jpaProject.getProject(), new String[]{"abc"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("abc.Customer");
-		assertNotNull(customerType);
-		
-		
-		PersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("abc.Address");
-		assertNotNull(customerType);
-
-		
-		PersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
- 
-		JavaPersistentAttribute attr = JpaArtifactFactory.instance().
-				addAttribute(featureProvider, (JavaPersistentType)t1, (JavaPersistentType)t2, "add", "add", false, 
-						createCompilationUnitFrom(customerFile),
-						createCompilationUnitFrom(addressFile));
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		PersistenceUnit pu = jpaProject.getRootContextNode().getPersistenceXml().getPersistence().getPersistenceUnits().iterator().next();
-		t1 = pu.getPersistentType("abc.Customer");
-		assertNotNull(attr);			
-
-	}
-	
-	
-	@Test
-	public void testAddOneToOneUnidirectionalRelationAttributes() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		PersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		PersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
- 
-		JavaPersistentAttribute attr = JpaArtifactFactory.instance().
-			addAttribute(featureProvider, (JavaPersistentType)t1, (JavaPersistentType)t2, "address", "address", false, 						
-					createCompilationUnitFrom((IFile)t1.getResource()),
-					createCompilationUnitFrom((IFile)t2.getResource()));		
-		assertNotNull(attr);
-			
-		JpaArtifactFactory.instance().addOneToOneUnidirectionalRelation(featureProvider, (JavaPersistentType)t1, attr);
-		
-		PersistentType pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (pt == null) {
-			Thread.sleep(200);
-			pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute cPersistentAttribute = pt.resolveAttribute("address");	
-		assertNotNull(cPersistentAttribute);
-
-	}	
-		
-	
-	@Test
-	public void testAddOneToOneBidirectionalRelationAttributes() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Customer");
-		
-		IFile creditCardFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "CreditCard");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.Customer");
-		assertNotNull(customerType);
-		
-		
-		PersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(creditCardFile.exists());
-		JavaResourceAbstractType creditCardType = jpaProject.getJavaResourceType("com.CreditCard");
-		assertNotNull(creditCardFile);
-
-		
-		PersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, creditCardType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, creditCardType.getQualifiedName());
-		}
- 
-		JavaPersistentAttribute attr = JpaArtifactFactory.instance().
-			addAttribute( featureProvider, (JavaPersistentType)t1, (JavaPersistentType)t2, "creditCard", "creditCard", false,
-					createCompilationUnitFrom((IFile)t1.getResource()),
-					createCompilationUnitFrom((IFile)t2.getResource()));		
-		assertNotNull(attr);
-
-		JavaPersistentAttribute attr2 = JpaArtifactFactory.instance().
-			addAttribute(featureProvider, (JavaPersistentType)t2, (JavaPersistentType)t1, "customer", "customer", false, 
-					createCompilationUnitFrom((IFile)t2.getResource()),
-					createCompilationUnitFrom((IFile)t1.getResource()));		
-		assertNotNull(attr2);
-		
-		JpaArtifactFactory.instance().addOneToOneBidirectionalRelation(featureProvider, (JavaPersistentType)t1, attr, (JavaPersistentType)t2, attr2);
-		
-		PersistentType ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (ownerPersistentType == null) {
-			Thread.sleep(200);
-			ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute ownerPersistentAttribute = ownerPersistentType.resolveAttribute("creditCard");
-		assertNotNull(ownerPersistentAttribute);
-		assertTrue(ownerPersistentAttribute instanceof JavaPersistentAttribute);
-		
-		AttributeMapping ownerSideMapping = ownerPersistentAttribute.getMapping();
-		assertTrue(ownerSideMapping instanceof JavaOneToOneMapping); 
-		
-		assertTrue(((JavaOneToOneMapping)ownerSideMapping).isRelationshipOwner());
-		
-		PersistentType inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, creditCardType.getQualifiedName());
-		while (inversePersistentType == null) {
-			Thread.sleep(200);
-			inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, creditCardType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute inversePersistentAttribute = inversePersistentType.resolveAttribute("customer");
-		assertNotNull(inversePersistentAttribute);
-		assertTrue(inversePersistentAttribute instanceof JavaPersistentAttribute);
-		
-		AttributeMapping inverseSideMapping = inversePersistentAttribute.getMapping();
-		assertTrue(inverseSideMapping instanceof JavaOneToOneMapping); 
-		
-		assertFalse(((JavaOneToOneMapping)inverseSideMapping).isRelationshipOwner());
-	}	
-	
-	
-	@Test
-	public void testAddOneToManyUnidirectionalRelationAttributes() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Customer");
-		
-		IFile phoneFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Phone");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.Customer");
-		assertNotNull(customerType);
-		
-		
-		PersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(phoneFile.exists());
-		JavaResourceAbstractType phoneType = jpaProject.getJavaResourceType("com.Phone");
-		assertNotNull(customerType);
-
-		
-		PersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, phoneType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, phoneType.getQualifiedName());
-		}
- 
-		JavaPersistentAttribute attr = JpaArtifactFactory.instance().addAttribute(featureProvider, (JavaPersistentType)t1, (JavaPersistentType)t2, "phones", "phones", true, 
-				createCompilationUnitFrom((IFile)t1.getResource()),
-				createCompilationUnitFrom((IFile)t2.getResource()));		
-		assertNotNull(attr);
-			
-		JpaArtifactFactory.instance().addOneToManyUnidirectionalRelation(featureProvider, (JavaPersistentType)t1, attr, false);
-		
-		PersistentType pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (pt == null) {
-			Thread.sleep(200);
-			pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, phoneType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute cPersistentAttribute = pt.resolveAttribute("phones");		
-		assertNotNull(cPersistentAttribute);
-		
-		AttributeMapping mapping = cPersistentAttribute.getMapping();
-		assertNotNull(mapping);
-		assertTrue(mapping instanceof JavaOneToManyMapping); 
-		
-		assertTrue(((JavaOneToManyMapping)mapping).isRelationshipOwner());
-	}	
-	
-	
-	@Test
-	public void testAddOneToManyBidirectionalRelationAttributes() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile cruiseFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Cruise");		
-		IFile reservationFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Reservation");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(cruiseFile.exists());
-		JavaResourceAbstractType cruiseType = jpaProject.getJavaResourceType("com.Cruise");
-		assertNotNull(cruiseType);
-		
-		
-		PersistentType singleSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
-		while (singleSidePersistentType == null) {
-			Thread.sleep(200);
-			singleSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
-		}
-		
-		assertTrue(reservationFile.exists());
-		JavaResourceAbstractType reservationType= jpaProject.getJavaResourceType("com.Reservation");
-		assertNotNull(reservationFile);
-
-		
-		PersistentType manySidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		while (manySidePersistentType == null) {
-			Thread.sleep(200);
-			manySidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		}
- 
-		JavaPersistentAttribute singleSideAttribute = JpaArtifactFactory.instance().
-			addAttribute(featureProvider, (JavaPersistentType)singleSidePersistentType, (JavaPersistentType)manySidePersistentType, "reservations", "reservations", true, 
-				createCompilationUnitFrom((IFile)singleSidePersistentType.getResource()),
-				createCompilationUnitFrom((IFile)manySidePersistentType.getResource()));		
-		assertNotNull(singleSideAttribute);
-
-		JavaPersistentAttribute manySideAttribute = JpaArtifactFactory.instance().
-			addAttribute(featureProvider, (JavaPersistentType)manySidePersistentType, (JavaPersistentType)singleSidePersistentType, "cruise", "cruise", false, 
-				createCompilationUnitFrom((IFile)manySidePersistentType.getResource()),
-				createCompilationUnitFrom((IFile)singleSidePersistentType.getResource()));		
-		assertNotNull(manySideAttribute);
-		
-		JpaArtifactFactory.instance().addOneToManyBidirectionalRelation(featureProvider, (JavaPersistentType)singleSidePersistentType, singleSideAttribute, (JavaPersistentType)manySidePersistentType, manySideAttribute, false);
-		
-		// In one-to-many bidirectional relation many side is ALWAYS owner
-		PersistentType inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
-		while (inversePersistentType == null) {
-			Thread.sleep(200);
-			inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute inversePersistentAttribute = inversePersistentType.resolveAttribute("reservations");
-		assertNotNull(inversePersistentAttribute);
-		assertTrue(inversePersistentAttribute instanceof JavaPersistentAttribute);
-		
-		AttributeMapping inverseSideMapping = inversePersistentAttribute.getMapping();
-		assertTrue(inverseSideMapping instanceof JavaOneToManyMapping); 
-		
-		assertFalse(((JavaOneToManyMapping)inverseSideMapping).isRelationshipOwner());
-		
-		// In one-to-many bidirectional relation many side is ALWAYS owner
-		PersistentType ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		int c = 0;
-		while ((ownerPersistentType == null) && (c < 50)) {
-			Thread.sleep(200);
-			ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-			c++;
-		}
-		assertNotNull(ownerPersistentType);
-		
-		ReadOnlyPersistentAttribute ownerPersistentAttribute = ownerPersistentType.resolveAttribute("cruise");
-		c = 0;
-		while ((ownerPersistentAttribute == null) && (c < 50)) {
-			Thread.sleep(200);
-			ownerPersistentAttribute = ownerPersistentType.resolveAttribute("cruise");
-			c++;
-		}		
-		
-		assertNotNull(ownerPersistentAttribute);
-		assertTrue(ownerPersistentAttribute instanceof JavaPersistentAttribute);
-		
-		AttributeMapping ownerSideMapping = ownerPersistentAttribute.getMapping();
-		c = 0;
-		while ((ownerSideMapping == null) && (c < 50)) {
-			Thread.sleep(200);
-			ownerSideMapping = ownerPersistentAttribute.getMapping();
-			c++;
-		}	
-		if (ownerSideMapping == null)
-			return;
-		assertNotNull("ownerSideMapping must not be null", ownerSideMapping);
-		assertTrue("ownerSideMapping class is " + ownerSideMapping.getClass().getName(), JavaManyToOneMapping.class.isInstance(ownerSideMapping));
-		
-		assertTrue(((JavaManyToOneMapping)ownerSideMapping).isRelationshipOwner());
-	}	
-
-	
-	@Test
-	public void testAddManyToOneUnidirectionalRelationAttributes() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile cruiseFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Cruise");
-		IFile shipFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Ship");
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(cruiseFile.exists());
-		JavaResourceAbstractType cruiseType = jpaProject.getJavaResourceType("com.Cruise");
-		assertNotNull(cruiseType);
-			
-		PersistentType manySidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
-		while (manySidePersistentType == null) {
-			Thread.sleep(200);
-			manySidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
-		}
-		
-		assertTrue(shipFile.exists());
-		JavaResourceAbstractType shipType = jpaProject.getJavaResourceType("com.Ship");
-		assertNotNull(cruiseType);
-
-		
-		PersistentType singleSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, shipType.getQualifiedName());
-		while (singleSidePersistentType == null) {
-			Thread.sleep(200);
-			singleSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, shipType.getQualifiedName());
-		}
- 
-		JavaPersistentAttribute mappedAttribute = JpaArtifactFactory.instance().
-			addAttribute(featureProvider, (JavaPersistentType)manySidePersistentType, (JavaPersistentType)singleSidePersistentType, "ship", "ship", true, 
-					createCompilationUnitFrom((IFile)manySidePersistentType.getResource()),
-					createCompilationUnitFrom((IFile)singleSidePersistentType.getResource()));		
-		assertNotNull(mappedAttribute);
-			
-		JpaArtifactFactory.instance().addManyToOneUnidirectionalRelation(featureProvider, (JavaPersistentType)manySidePersistentType, mappedAttribute);
-		
-		PersistentType pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
-		while (pt == null) {
-			Thread.sleep(200);
-			pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, shipType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute cPersistentAttribute = pt.resolveAttribute("ship");	
-		int cnt = 0;
-		while ((cPersistentAttribute == null) && (cnt < 100)) {
-			Thread.sleep(250);
-			cPersistentAttribute = pt.resolveAttribute("ship");	
-			cnt++;
-		}		
-		assertNotNull(cPersistentAttribute);
-		
-		AttributeMapping mapping = cPersistentAttribute.getMapping();
-		cnt = 0;
-		while ((mapping == null) && (cnt < 100)) {
-			Thread.sleep(250);
-			mapping = cPersistentAttribute.getMapping();
-			cnt++;
-		}
-		assertNotNull(mapping);
-		assertTrue(mapping instanceof JavaManyToOneMapping); 
-		
-		assertTrue(((JavaManyToOneMapping)mapping).isRelationshipOwner());
-	}	
-	
-	
-	@Test
-	public void testAddManyToManyBidirectionalRelationAttributes() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile reservationFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Reservation");
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Customer");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(reservationFile.exists());
-		JavaResourceAbstractType reservationType = jpaProject.getJavaResourceType("com.Reservation");
-		assertNotNull(reservationType);
-		
-		PersistentType ownerSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		while (ownerSidePersistentType == null) {
-			Thread.sleep(200);
-			ownerSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		}
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.Customer");
-		assertNotNull(customerFile);
-
-		
-		PersistentType inverseSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (inverseSidePersistentType == null) {
-			Thread.sleep(200);
-			inverseSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
- 
-		JavaPersistentAttribute ownerSideAttribute = JpaArtifactFactory.instance().
-			addAttribute(featureProvider, (JavaPersistentType)ownerSidePersistentType, (JavaPersistentType)inverseSidePersistentType, "customers", "customers", true,
-					createCompilationUnitFrom((IFile)ownerSidePersistentType.getResource()),
-					createCompilationUnitFrom((IFile)inverseSidePersistentType.getResource()));		
-		assertNotNull(ownerSideAttribute);
-
-		JavaPersistentAttribute inverseSideAttributes = JpaArtifactFactory.instance().addAttribute(featureProvider, (JavaPersistentType)inverseSidePersistentType, (JavaPersistentType)ownerSidePersistentType, "reservations", "reservations", true, 
-				createCompilationUnitFrom((IFile)inverseSidePersistentType.getResource()),
-				createCompilationUnitFrom((IFile)ownerSidePersistentType.getResource()));		
-		assertNotNull(inverseSideAttributes);
-		
-		JpaArtifactFactory.instance().addManyToManyBidirectionalRelation(featureProvider, (JavaPersistentType)ownerSidePersistentType, ownerSideAttribute, (JavaPersistentType)inverseSidePersistentType, inverseSideAttributes, false);
-		
-		PersistentType ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		while (ownerPersistentType == null) {
-			Thread.sleep(200);
-			ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute ownerPersistentAttribute = ownerPersistentType.resolveAttribute("customers");
-		assertNotNull(ownerPersistentAttribute);
-		assertTrue(ownerPersistentAttribute instanceof JavaPersistentAttribute);
-		
-		AttributeMapping ownerSideMapping = ownerPersistentAttribute.getMapping();
-		assertTrue(ownerSideMapping instanceof JavaManyToManyMapping); 
-		
-		assertTrue(((JavaManyToManyMapping)ownerSideMapping).isRelationshipOwner());
-	
-		PersistentType inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (inversePersistentType == null) {
-			Thread.sleep(200);
-			inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute inversePersistentAttribute = inversePersistentType.resolveAttribute("reservations");
-		assertNotNull(inversePersistentAttribute);
-		assertTrue(inversePersistentAttribute instanceof JavaPersistentAttribute);
-		
-		AttributeMapping inverseSideMapping = inversePersistentAttribute.getMapping();
-		assertTrue(inverseSideMapping instanceof JavaManyToManyMapping); 
-		
-		assertFalse(((JavaManyToManyMapping)inverseSideMapping).isRelationshipOwner());
-	}	
-	
-	@Test
-	public void testAddManyToManyUnidirectionalRelationAttributes() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile reservationFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Reservation");
-		IFile cabinFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Cabin");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(reservationFile.exists());
-		JavaResourceAbstractType reservationType = jpaProject.getJavaResourceType("com.Reservation");
-		assertNotNull(reservationType);
-		
-		PersistentType annotatedPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		while (annotatedPersistentType == null) {
-			Thread.sleep(200);
-			annotatedPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		}
-		
-		assertTrue(cabinFile.exists());
-		JavaResourceAbstractType cabinType = jpaProject.getJavaResourceType("com.Cabin");
-		assertNotNull(cabinFile);
-
-		
-		PersistentType referencedPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cabinType.getQualifiedName());
-		while (referencedPersistentType == null) {
-			Thread.sleep(200);
-			referencedPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cabinType.getQualifiedName());
-		}
- 
-		JavaPersistentAttribute annotatedSideAttribute = JpaArtifactFactory.instance().
-			addAttribute(featureProvider, (JavaPersistentType)annotatedPersistentType, (JavaPersistentType)referencedPersistentType, "cabins", "cabins", true,
-					createCompilationUnitFrom((IFile)annotatedPersistentType.getResource()),
-					createCompilationUnitFrom((IFile)referencedPersistentType.getResource()));		
-		assertNotNull(annotatedSideAttribute);
-		
-		JpaArtifactFactory.instance().addManyToManyUnidirectionalRelation(featureProvider, (JavaPersistentType)annotatedPersistentType, annotatedSideAttribute, false);
-		
-		PersistentType persistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		while (persistentType == null) {
-			Thread.sleep(200);
-			persistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
-		}
-		
-		ReadOnlyPersistentAttribute persistentAttribute = persistentType.resolveAttribute("cabins");
-		assertNotNull(persistentAttribute);
-		assertTrue(persistentAttribute instanceof JavaPersistentAttribute);
-		
-		AttributeMapping mapping = persistentAttribute.getMapping();
-		assertTrue(mapping instanceof JavaManyToManyMapping); 
-		
-		assertTrue(((JavaManyToManyMapping)mapping).isRelationshipOwner());
-		}	
-	
-
-	
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsInFieldAnnotatedEntitiesTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsInFieldAnnotatedEntitiesTest.java
deleted file mode 100644
index f313512..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsInFieldAnnotatedEntitiesTest.java
+++ /dev/null
@@ -1,492 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.relation;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Set;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.OwnableRelationshipMappingAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class CreateRelationsInFieldAnnotatedEntitiesTest {
-
-	private IJPAEditorFeatureProvider featureProvider;
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	IEclipseFacade eclipseFacade = null;
-	
-	@Before
-	public void setUp() throws Exception {
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
-		Thread.sleep(2000);
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity));
-		expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
-		replay(featureProvider);
-	}
-	
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}
-	
-
-	@Test
-	public void testCreateOneToOneUnidirRelation() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-		ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
-		AbstractRelation rel = new OneToOneUniDirRelation(featureProvider, t1, t2, "address",
-								  					true, 
-								  					cu1,
-								  					createCompilationUnitFrom((IFile)t2.getResource()));
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
-		assertTrue(annotations.contains("OneToOne"));
-		assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());		
-		
-		assertTrue(cu1.isWorkingCopy());
-		IType javaType = cu1.findPrimaryType();
-		IField f = javaType.getField("address");
-		assertTrue(f.exists());
-				
-	}
-		
-	@Test
-	public void testCreateOneToOneBidirRelation() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-		ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
-		ICompilationUnit cu2 = createCompilationUnitFrom((IFile)t2.getResource());
-		AbstractRelation rel = new OneToOneBiDirRelation(featureProvider, t1, t2, "address", "customer",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
-		assertTrue(annotations.contains("OneToOne"));
-		assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());
-		
-		JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
-		assertNotNull(inverseAt);
-		annotations = JpaArtifactFactory.instance().getAnnotationNames(inverseAt);
-		assertTrue(annotations.contains("OneToOne"));
-		assertEquals("address", ((OwnableRelationshipMappingAnnotation)inverseAt.getMapping()).getMappedBy());
-
-		assertTrue(cu1.isWorkingCopy());
-		assertTrue(cu2.isWorkingCopy());
-		
-		IType javaType1 = cu1.findPrimaryType();
-		IField f1 = javaType1.getField("address");
-		assertTrue(f1.exists());
-		IType javaType2 = cu2.findPrimaryType();
-		IField f2 = javaType2.getField("customer");
-		assertTrue(f2.exists());		
-				
-	}
-	
-	@Test
-	public void testCreateOneToManyUnidirRelation() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-		ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
-		AbstractRelation rel = new OneToManyUniDirRelation(featureProvider, t1, t2, "address",
-								  					true, 
-								  					cu1,
-								  					createCompilationUnitFrom((IFile)t2.getResource()));
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
-		assertTrue(annotations.contains("OneToMany"));
-		assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());	
-		
-		assertTrue(cu1.isWorkingCopy());
-		
-		IType javaType1 = cu1.findPrimaryType();
-		IField f1 = javaType1.getField("address");
-		assertTrue(f1.exists());
-	
-	}
-	
-	@Test
-	public void testCreateManyToOneUnidirRelation() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-		ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
-		AbstractRelation rel = new ManyToOneUniDirRelation(featureProvider, t1, t2, "address",
-								  					true, 
-								  					cu1,
-								  					createCompilationUnitFrom((IFile)t2.getResource()));
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
-		assertTrue(annotations.contains("ManyToOne"));
-		
-		assertTrue(cu1.isWorkingCopy());
-		
-		IType javaType1 = cu1.findPrimaryType();
-		IField f1 = javaType1.getField("address");
-		assertTrue(f1.exists());	
-		
-	}
-	
-	
-	@Test
-	public void testCreateManyToOneBidirRelation() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-		ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
-		ICompilationUnit cu2 = createCompilationUnitFrom((IFile)t2.getResource());
-		AbstractRelation rel = new ManyToOneBiDirRelation(featureProvider, t1, t2, "address", "customer",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
-		assertTrue(annotations.contains("ManyToOne"));
-		
-		JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
-		assertNotNull(inverseAt);
-		annotations = JpaArtifactFactory.instance().getAnnotationNames(inverseAt);
-		assertTrue(annotations.contains("OneToMany"));
-		assertEquals("address", ((OwnableRelationshipMappingAnnotation)inverseAt.getMapping()).getMappedBy());
-		
-		assertTrue(cu1.isWorkingCopy());
-		assertTrue(cu2.isWorkingCopy());
-		
-		IType javaType1 = cu1.findPrimaryType();
-		IField f1 = javaType1.getField("address");
-		assertTrue(f1.exists());
-		IType javaType2 = cu2.findPrimaryType();
-		IField f2 = javaType2.getField("customer");
-		assertTrue(f2.exists());	
-				
-	}
-	
-	@Test
-	public void testCreateManyToManyUnidirRelation() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-		ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
-		AbstractRelation rel = new ManyToManyUniDirRelation(featureProvider, t1, t2, "address",
-								  					true, 
-								  					cu1,
-								  					createCompilationUnitFrom((IFile)t2.getResource()));
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
-		assertTrue(annotations.contains("ManyToMany"));
-		assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());
-		
-		assertTrue(cu1.isWorkingCopy());
-		
-		IType javaType1 = cu1.findPrimaryType();
-		IField f1 = javaType1.getField("address");
-		assertTrue(f1.exists());		
-		
-	}
-	
-	@Test
-	public void testCreateManyToManyBidirRelation() throws Exception {
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-		ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
-		ICompilationUnit cu2 = createCompilationUnitFrom((IFile)t2.getResource());
-		AbstractRelation rel = new ManyToManyBiDirRelation(featureProvider, t1, t2, "address", "customer",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
-		assertTrue(annotations.contains("ManyToMany"));
-		assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());
-		
-		JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
-		assertNotNull(inverseAt);
-		annotations = JpaArtifactFactory.instance().getAnnotationNames(inverseAt);
-		assertTrue(annotations.contains("ManyToMany"));
-		assertEquals("address", ((OwnableRelationshipMappingAnnotation)inverseAt.getMapping()).getMappedBy());
-		
-		assertTrue(cu1.isWorkingCopy());
-		assertTrue(cu2.isWorkingCopy());
-		
-		IType javaType1 = cu1.findPrimaryType();
-		IField f1 = javaType1.getField("address");
-		assertTrue(f1.exists());
-		IType javaType2 = cu2.findPrimaryType();
-		IField f2 = javaType2.getField("customer");
-		assertTrue(f2.exists());
-		
-	}
-	
-	
-}
-
-
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsTest.java
deleted file mode 100644
index 7f420ed..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsTest.java
+++ /dev/null
@@ -1,481 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.relation;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import java.util.Iterator;
-import java.util.Properties;
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
-import org.eclipse.jpt.common.utility.internal.iterables.SubIterableWrapper;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.Embeddable;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JPA;
-import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.ManyToManyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.ManyToOneAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToManyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-
-@SuppressWarnings({ "unused", "nls" })
-public class CreateRelationsTest {
-
-	private IJPAEditorFeatureProvider featureProvider;
-	final String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	IEclipseFacade eclipseFacade = null;
-	private static final int MAX_NUM_OF_ITERATIONS = 250;
-	JavaPersistentType t1 = null;
-	ICompilationUnit cu1 = null;
-	JavaPersistentType t2 = null;
-	ICompilationUnit cu2 = null;
-	private IJPAEditorFeatureProvider featureProvider20;
-	private JpaProject jpa20Project;
-	
-	
-	@Before
-	public void setUp() throws Exception {
-		
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		
-		IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
-		featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity));
-		expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
-		
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		
-		t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(isA(Shape.class));
-		cu1 = JavaCore.createCompilationUnitFrom(customerFile);
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);		
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.Address");
-		assertNotNull(customerType);
-
-		
-		t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(isA(Shape.class));
-		cu2 = JavaCore.createCompilationUnitFrom(addressFile);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Properties props = new Properties();
-		props.setProperty(JPADiagramPropertyPage.PROP_COLLECTION_TYPE.getLocalName(), "collection");
-		expect(featureProvider.loadProperties(jpaProject.getProject())).andStubReturn(props);
-		
-		replay(featureProvider);	
-		
-		jpa20Project = factory.createJPA20Project(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpa20Project);
-
-		IFile entity20 = factory.createEntity(jpa20Project,	"org.eclipse.Entity1");
-		Thread.sleep(2000);
-		featureProvider20 = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(featureProvider20.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity20));
-		expect(featureProvider20.getCompilationUnit(isA(JavaPersistentType.class)))
-				.andReturn(JavaCore.createCompilationUnitFrom(entity20)).anyTimes();
-	}
-	
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}
-	
-	@Test
-	public void testCreateOneToOneUnidirRelation() throws Exception {
-				
-		AbstractRelation rel = new OneToOneUniDirRelation(featureProvider, t1, t2, "address",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		OneToOneAnnotation an = (OneToOneAnnotation)ownerAt.getResourceAttribute().getAnnotation(OneToOneAnnotation.ANNOTATION_NAME);
-		assertNotNull(an);
-		assertNull(an.getMappedBy());
-	}
-		
-	
-	@Test
-	public void testCreateOneToOneBidirRelation() throws Exception {
-		
-		AbstractRelation rel = new OneToOneBiDirRelation(featureProvider, t1, t2, "address", "customer",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		OneToOneAnnotation an = (OneToOneAnnotation)ownerAt.getResourceAttribute().getAnnotation(OneToOneAnnotation.ANNOTATION_NAME);
-		assertNotNull(an);
-		assertNull(an.getMappedBy());
-				
-		JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
-		assertNotNull(inverseAt);
-		an = (OneToOneAnnotation)inverseAt.getResourceAttribute().getAnnotation(OneToOneAnnotation.ANNOTATION_NAME);
-		assertNotNull(an);
-		assertEquals("address", an.getMappedBy());
-		
-	}
-	
-	
-	@Test
-	public void testCreateOneToManyUnidirRelation() throws Exception {
-		AbstractRelation rel = new OneToManyUniDirRelation(featureProvider, t1, t2, "address",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		
-		OneToManyAnnotation an = (OneToManyAnnotation)ownerAt.getResourceAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
-		assertNull(an.getMappedBy());		
-	}
-	
-	
-	
-	@Test
-	public void testCreateManyToOneUnidirRelation() throws Exception {
-		AbstractRelation rel = new ManyToOneUniDirRelation(featureProvider, t1, t2, "address",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		ManyToOneAnnotation an = (ManyToOneAnnotation)ownerAt.getResourceAttribute().getAnnotation(ManyToOneAnnotation.ANNOTATION_NAME);
-		assertNotNull(an);
-	}
-	
-	@Test
-	public void testCreateManyToOneBidirRelation() throws Exception {
-		AbstractRelation rel = new ManyToOneBiDirRelation(featureProvider, t1, t2, "address", "customer",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		ManyToOneAnnotation an = (ManyToOneAnnotation)ownerAt.getResourceAttribute().getAnnotation(ManyToOneAnnotation.ANNOTATION_NAME);
-		assertNotNull(an);
-		
-		assertEquals("customer", rel.getInverseAttributeName());
-		JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
-		assertNotNull(inverseAt);
-		OneToManyAnnotation an1 = (OneToManyAnnotation)inverseAt.getResourceAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
-		assertNotNull(an1);
-		assertEquals("address", an1.getMappedBy());
-	}
-	
-	@Test
-	public void testCreateManyToManyUnidirRelation() throws Exception {
-		AbstractRelation rel = new ManyToManyUniDirRelation(featureProvider, t1, t2, "address",
-								  					true, 
-								  					cu1,
-								  					cu2);
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		ManyToManyAnnotation an = (ManyToManyAnnotation)ownerAt.getResourceAttribute().getAnnotation(ManyToManyAnnotation.ANNOTATION_NAME);
-		assertNotNull(an);
-		assertNull(an.getMappedBy());
-	}
-	
-	@Test
-	public void testCreateManyToManyBidirRelation() throws Exception {
-		AbstractRelation rel = new ManyToManyBiDirRelation(featureProvider, t1, t2, "address", "customer",
-								  					true, 
-								  					createCompilationUnitFrom((IFile)t1.getResource()),
-								  					createCompilationUnitFrom((IFile)t2.getResource()));
-		assertNotNull(rel);
-		assertSame(t1, rel.getOwner());
-		assertSame(t2, rel.getInverse());
-		assertEquals("address", rel.getOwnerAttributeName());
-		JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-		assertNotNull(ownerAt);
-		ManyToManyAnnotation an = (ManyToManyAnnotation)ownerAt.getResourceAttribute().getAnnotation(ManyToManyAnnotation.ANNOTATION_NAME);
-		assertNotNull(an);
-		assertNull(an.getMappedBy());
-				
-		JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
-		assertNotNull(inverseAt);
-		an = (ManyToManyAnnotation)inverseAt.getResourceAttribute().getAnnotation(ManyToManyAnnotation.ANNOTATION_NAME);
-		assertNotNull(an);
-		assertEquals("address", an.getMappedBy());
-		
-	}
-
-	@Test
-		public void testCreateOneToManyUnidirRelation20() throws Exception {
-			
-			assertNotNull(jpa20Project);	
-			IFile customerFile = factory.createEntityInProject(jpa20Project.getProject(), new String[]{"com","test"}, "Customer");
-			
-			IFile addressFile = factory.createEntityInProject(jpa20Project.getProject(), new String[]{"com"}, "Address");
-			
-			jpa20Project.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-	
-			assertTrue(customerFile.exists());
-			JavaResourceAbstractType customerType = jpa20Project.getJavaResourceType("com.test.Customer");
-			assertNotNull(customerType);
-					
-			JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, customerType.getQualifiedName());
-					
-			expect(featureProvider20.getPictogramElementForBusinessObject(t1)).andStubReturn(isA(Shape.class));
-			ICompilationUnit cu1 = JavaCore.createCompilationUnitFrom(customerFile);
-			expect(featureProvider20.getCompilationUnit(t1)).andStubReturn(cu1);
-				
-			assertTrue(addressFile.exists());
-			JavaResourceAbstractType addressType = jpa20Project.getJavaResourceType("com.Address");
-			assertNotNull(customerType);
-	
-			
-			JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, addressType.getQualifiedName());
-
-			expect(featureProvider20.getPictogramElementForBusinessObject(t2)).andStubReturn(isA(Shape.class));
-			ICompilationUnit cu2 = JavaCore.createCompilationUnitFrom(addressFile);
-			expect(featureProvider20.getCompilationUnit(t2)).andStubReturn(cu2);
-			
-			Properties props = new Properties();
-			props.setProperty(JPADiagramPropertyPage.PROP_COLLECTION_TYPE.getLocalName(), "list");
-			expect(featureProvider20.loadProperties(jpa20Project.getProject())).andReturn(props);
-			replay(featureProvider20);
-							
-			AbstractRelation rel = new OneToManyUniDirRelation(featureProvider20, t1, t2, "address",
-									  					true, 
-									  					cu1,
-									  					cu2);
-			assertNotNull(rel);
-			assertSame(t1, rel.getOwner());
-			assertSame(t2, rel.getInverse());
-			assertEquals("address", rel.getOwnerAttributeName());
-			JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
-			assertNotNull(ownerAt);
-			
-			Object o1 = ownerAt.getResourceAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
-			assertNotNull(o1);
-			
-			Object o2 = ownerAt.getResourceAttribute().getAnnotation(JoinColumnAnnotation.ANNOTATION_NAME);
-			assertNotNull(o2);
-			
-			JoinColumnAnnotation joinColumn = (JoinColumnAnnotation) o2;
-			assertNotNull(joinColumn.getName());
-			
-			assertNotNull(joinColumn.getReferencedColumnName());
-			
-			assertEquals("Customer_id", joinColumn.getName());
-			assertEquals("id", joinColumn.getReferencedColumnName());
-						
-		}
-		
-		
-		@Test
-		public void testCreateOneToManyUnidirIDClassRelation20() throws Exception {
-			
-			assertNotNull(jpa20Project);	
-			IFile simpleEmployeeFile = factory.createIdClassInProject(jpa20Project.getProject(), new String[]{"com","test"}, "Employee");
-			IFile employeeFile = factory.createEntityWithCompositePKInProject(jpa20Project.getProject(), new String[]{"com","test"}, "Employee");
-	
-			IFile projectFile = factory.createEntityInProject(jpa20Project.getProject(), new String[]{"com"}, "Project");
-			
-			jpa20Project.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-			
-			assertTrue(simpleEmployeeFile.exists());
-			assertTrue(employeeFile.exists());
-			JavaResourceAbstractType employeeType = jpa20Project.getJavaResourceType("com.test.Employee");
-			assertNotNull(employeeType);
-					
-			JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, employeeType.getQualifiedName());
-					
-			expect(featureProvider20.getPictogramElementForBusinessObject(t1)).andStubReturn(isA(Shape.class));
-			ICompilationUnit cu1 = JavaCore.createCompilationUnitFrom(employeeFile);
-			expect(featureProvider20.getCompilationUnit(t1)).andStubReturn(cu1);
-				
-			assertTrue(projectFile.exists());
-			JavaResourceAbstractType projectType = jpa20Project.getJavaResourceType("com.Project");
-			assertNotNull(employeeType);
-	
-			
-			JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, projectType.getQualifiedName());
-
-			expect(featureProvider20.getPictogramElementForBusinessObject(t2)).andStubReturn(isA(Shape.class));
-			ICompilationUnit cu2 = JavaCore.createCompilationUnitFrom(projectFile);
-			expect(featureProvider20.getCompilationUnit(t2)).andStubReturn(cu2);
-			Properties props = new Properties();
-			props.setProperty(JPADiagramPropertyPage.PROP_COLLECTION_TYPE.getLocalName(), "list");
-			expect(featureProvider20.loadProperties(jpa20Project.getProject())).andReturn(props);
-			replay(featureProvider20);
-							
-			AbstractRelation rel = new OneToManyUniDirRelation(featureProvider20, t1, t2, "project",
-									  					true, 
-									  					cu1,
-									  					cu2);
-			assertNotNull(rel);
-			assertSame(t1, rel.getOwner());
-			assertSame(t2, rel.getInverse());
-			assertEquals("project", rel.getOwnerAttributeName());
-			JavaPersistentAttribute ownerAt = t1.getAttributeNamed("project");
-			assertNotNull(ownerAt);
-			
-			Object o1 = ownerAt.getResourceAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
-			assertNotNull(o1);
-			
-			Object o2 = ownerAt.getResourceAttribute().getAnnotation(JPA.JOIN_COLUMNS);
-			assertNotNull(o2);
-			
-			assertEquals(2, ownerAt.getResourceAttribute().getAnnotationsSize(JPA.JOIN_COLUMN));			
-						
-		}
-		
-		@Test
-		public void testCreateOneToManyUnidirEmbeddedRelation20() throws Exception {
-			
-			assertNotNull(jpa20Project);	
-			IFile simpleEmployeeFile = factory.createEmbeddedClassInProject(jpa20Project.getProject(), new String[]{"com","test"}, "EmployeerId");
-			IFile employeeFile = factory.createEntityWithEmbeddedPKInProject(jpa20Project.getProject(), new String[]{"com","test"}, "Employeer");
-	
-			IFile projectFile = factory.createEntityInProject(jpa20Project.getProject(), new String[]{"com"}, "Person");
-			
-			jpa20Project.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-			
-			assertTrue(simpleEmployeeFile.exists());
-			assertTrue(employeeFile.exists());
-			JavaResourceAbstractType employeeType = jpa20Project.getJavaResourceType("com.test.Employeer");
-			assertNotNull(employeeType);
-			
-					
-			JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, employeeType.getQualifiedName());
-					
-			expect(featureProvider20.getPictogramElementForBusinessObject(t1)).andStubReturn(isA(Shape.class));
-			ICompilationUnit cu1 = JavaCore.createCompilationUnitFrom(employeeFile);
-			expect(featureProvider20.getCompilationUnit(t1)).andStubReturn(cu1);
-			
-			
-			Embeddable emb = JpaArtifactFactory.instance().getPersistenceUnit(t1).getEmbeddable("com.test.EmployeerId");
-			Iterator<AttributeMapping> embIt = emb.getAllAttributeMappings().iterator();
-							
-			assertTrue(projectFile.exists());
-			JavaResourceAbstractType projectType = jpa20Project.getJavaResourceType("com.Person");
-			assertNotNull(employeeType);
-	
-			
-			JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, projectType.getQualifiedName());
-			
-			expect(featureProvider20.getPictogramElementForBusinessObject(t2)).andStubReturn(isA(Shape.class));
-			ICompilationUnit cu2 = JavaCore.createCompilationUnitFrom(projectFile);
-			expect(featureProvider20.getCompilationUnit(t2)).andStubReturn(cu2);
-			Properties props = new Properties();
-			props.setProperty(JPADiagramPropertyPage.PROP_COLLECTION_TYPE.getLocalName(), "list");
-			expect(featureProvider20.loadProperties(jpa20Project.getProject())).andReturn(props);
-			replay(featureProvider20);
-										
-			AbstractRelation rel = new OneToManyUniDirRelation(featureProvider20, t1, t2, "person",
-									  					true, 
-									  					cu1,
-									  					cu2);
-			assertNotNull(rel);
-			assertSame(t1, rel.getOwner());
-			assertSame(t2, rel.getInverse());
-			assertEquals("person", rel.getOwnerAttributeName());
-		    JavaPersistentAttribute ownerAt = t1.getAttributeNamed("person");
-			assertNotNull(ownerAt);
-						
-			Object o1 = ownerAt.getResourceAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
-			assertNotNull(o1);
-			
-			Object o2 = ownerAt.getResourceAttribute().getAnnotation(JPA.JOIN_COLUMNS);
-			assertNotNull(o2);
-			
-			assertEquals(1,  ownerAt.getResourceAttribute().getAnnotationsSize(JPA.JOIN_COLUMN));
-			Iterable<JoinColumnAnnotation> nestedAnnotations = new SubIterableWrapper<NestableAnnotation, JoinColumnAnnotation>(ownerAt.getResourceAttribute().getAnnotations(JPA.JOIN_COLUMN));
-			Iterator<JoinColumnAnnotation> nestedIterator = nestedAnnotations.iterator();
-			while(nestedIterator.hasNext()){
-				JoinColumnAnnotation joinColumn = nestedIterator.next();
-				assertEquals("Employeer_firstName",joinColumn.getName());
-				assertEquals("firstName",joinColumn.getReferencedColumnName());
-			}
-						
-		}
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/CreateDeleteEntity.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/CreateDeleteEntity.java
deleted file mode 100644
index 668cf6e..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/CreateDeleteEntity.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.JpaRootContextNode;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.Persistence;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-
-public class CreateDeleteEntity {
-	
-	private static final String TEST_PROJECT = "Test";
-	private JPACreateFactory factory = JPACreateFactory.instance();
-	private JpaProject jpaProject = null;
-
-	@Before
-	public void setUp() throws Exception {
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		Thread.sleep(2000);
-	}
-
-	@Test
-	public void testCreateAndDeleteEntity() throws Exception {	
-		assertNotNull(jpaProject);
-//		SynchronousJpaProjectUpdater updater = new SynchronousJpaProjectUpdater(jpaProject);
-//		updater.start();
-		JpaRootContextNode jpaProjectContent = jpaProject.getRootContextNode();
-		assertNotNull(jpaProjectContent);		
-//		if(jpaProjectContent.getPersistenceXml() == null) {		
-//			updater = new SynchronousJpaProjectUpdater(jpaProject);
-//			updater.start();			
-//		}
-		Thread.sleep(2000);		
-		PersistenceXml persistenceXml = jpaProjectContent.getPersistenceXml();
-		assertNotNull(persistenceXml);
-		Persistence p = persistenceXml.getPersistence();
-		int cnt = 0;
-		while ((p == null) && (cnt < 25)) {
-			Thread.sleep(250);
-			p = persistenceXml.getPersistence();
-			cnt++;
-		}
-		assertTrue("Can't obtain persistence object", p != null);
-		assertTrue(persistenceXml.getPersistence().getPersistenceUnitsSize() == 1);
-		//java.lang.UnsupportedOperationException: No PersistenceUnit in this context
-		//PersistenceUnit persistenceUnit = persistenceXml.getPersistence().getPersistenceUnit();
-		PersistenceUnit persistenceUnit = persistenceXml.getPersistence().getPersistenceUnits().iterator().next();
-		assertNotNull(persistenceUnit);
-		assertTrue(persistenceUnit.getClassRefsSize() == 0);
-		IFile entity1 = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Entity1");		
-		assertTrue(entity1.exists());
-//		if(jpaProject.getJavaResourceType("com.Entity1") == null) {			
-//			updater = new SynchronousJpaProjectUpdater(jpaProject);
-//			updater.start();
-//		}
-		JavaResourceAbstractType persistenceType = jpaProject.getJavaResourceType("com.Entity1");
-		int c = 0;
-		while ((persistenceType == null) && (c < 100)) {
-			Thread.sleep(500);
-			jpaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
-			persistenceType = jpaProject.getJavaResourceType("com.Entity1");
-			c++;
-		}
-		assertNotNull(persistenceType);
-		PersistentType t = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, persistenceType.getQualifiedName());
-		c = 0;
-		while ((t == null) && (c < 100)) {
-			Thread.sleep(500);
-			t = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, persistenceType.getQualifiedName());
-			c++;
-		}
-		JpaArtifactFactory.instance().deletePersistenceTypeResource(t);
-		assertFalse(entity1.exists());
-//		updater = new SynchronousJpaProjectUpdater(jpaProject);
-//		updater.start();
-		jpaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-		persistenceType = jpaProject.getJavaResourceType("com.Entity1");
-		c = 0;
-		while ((persistenceType != null) && (c < 250)) {
-			Thread.sleep(500);
-			persistenceType = jpaProject.getJavaResourceType("com.Entity1");
-			c++;
-		}
-		assertNull(persistenceType);		
-		assertNotNull(jpaProject);
-	}	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/IEditor.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/IEditor.java
deleted file mode 100644
index 4e5c9a7..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/IEditor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.ui.IEditorPart;
-
-public interface IEditor extends IEditorPart, IDiagramEditor {	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPAEditorUtilTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPAEditorUtilTest.java
deleted file mode 100644
index 27896cb..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPAEditorUtilTest.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.AnchorContainer;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.SizePosition;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.eclipse.swt.graphics.Point;
-import org.junit.Test;
-
-public class JPAEditorUtilTest {
-	@Test
-	public void testCapitalizeFirstLetter() {
-		String s = "abcdef";
-		String res = JPAEditorUtil.capitalizeFirstLetter(s);
-		assertEquals(res.substring(0, 1), "A");
-		assertEquals(s.substring(1), res.substring(1));
-	}
-	
-	@Test
-	public void testDecapitalizeFirstLetter() { 		
-		String s = "ABCDEFGHIJK";
-		String res = JPAEditorUtil.decapitalizeFirstLetter(s);
-		assertEquals(res.substring(0, 1), "a");
-		assertEquals(s.substring(1), res.substring(1));
-	}
-	
-	@Test
-	public void testRevertFirstLetterCase() {
-		String s = "ABCDEFGHIJK";
-		String res = JPAEditorUtil.revertFirstLetterCase(s);
-		assertEquals(res.substring(0, 1), "a");
-		assertEquals(s.substring(1), res.substring(1));
-		String res1 = JPAEditorUtil.revertFirstLetterCase(res);
-		assertEquals(res1.substring(0, 1), "A");
-		assertEquals(res1.substring(1), res.substring(1));
-	}
-	
-	@Test
-	public void testEqualsIgnoreFirstLetterCase() {
-		String s1 = "abcdefg";
-		String s2 = "Abcdefg";
-		assertTrue(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-		
-		s1 = "";
-		s2 = "";
-		assertTrue(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-		
-		s1 = "gjgIyguiyGUYuGUYGuyg";
-		s2 = "gjgIyguiyGUYuGUYGuyg";
-		assertTrue(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-		
-		s1 = "LjgIyguiyGUYuGUYGuyg";
-		s2 = "LjgIyguiyGUYuGUYGuyg";
-		assertTrue(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));		
-		
-		s1 = "gjgIyguiyGUYuGUYGuygs";
-		s2 = "gjgIyguiyGUYuGUYGuyg";
-		assertFalse(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-		
-		s1 = "LjgIyguiyGUyuGUYGuyg";
-		s2 = "LjgIyguiyGUYuGUYGuyg";
-		assertFalse(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));			
-	}
-	
-	@Test
-	public void testReturnSimpleName() {
-		String s = "";
-		String res = JPAEditorUtil.returnSimpleName(s);
-		assertEquals(s, res);
-		s = "jdhksajhdk";
-		res = JPAEditorUtil.returnSimpleName(s);
-		assertEquals(s, res);		
-		s = "jdhksajhdk.";
-		res = JPAEditorUtil.returnSimpleName(s);
-		assertEquals("", res);
-		s = ".jdhksajhdk";
-		res = JPAEditorUtil.returnSimpleName(s);
-		assertEquals("jdhksajhdk", res);
-		s = "jdhks.ajhdk";
-		res = JPAEditorUtil.returnSimpleName(s);
-		assertEquals("ajhdk", res);
-		s = "dss.dsdsd.jd.hks.ajhdk";
-		res = JPAEditorUtil.returnSimpleName(s);
-		assertEquals("ajhdk", res);
-	}
-	
-	
-	@Test
-	public void testStripQuotes() {
-		String s = "";
-		String res = JPAEditorUtil.stripQuotes(s);
-		assertEquals("", res);
-		
-		s = "\"\"";
-		res = JPAEditorUtil.stripQuotes(s);
-		assertEquals("", res);
-		
-		s = "\"fdsjfjslkdjflks\"";
-		res = JPAEditorUtil.stripQuotes(s);
-		assertEquals("fdsjfjslkdjflks", res);
-		
-		s = "\"fdsjfjslkdjflks";
-		res = JPAEditorUtil.stripQuotes(s);
-		assertEquals("\"fdsjfjslkdjflks", res);	
-		
-		s = "fdsjfjslkdjflks\"";
-		res = JPAEditorUtil.stripQuotes(s);
-		assertEquals("fdsjfjslkdjflks\"", res);			
-	}
-	
-	//@Test 
-	public void testGetJPType() throws Exception {
-		
-		String TEST_PROJECT = "Test";
-		JpaProject jpaProject = null;
-		JPACreateFactory factory = null;
-		String testProjectName = TEST_PROJECT + "_" + System.currentTimeMillis();
-	
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(testProjectName);
-		assertNotNull(jpaProject);
-		Thread.sleep(2000);
-	
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		ICompilationUnit cu = createCompilationUnitFrom(customerFile);
-		Thread.sleep(2000);
-		JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
-		assertEquals(customerType.getQualifiedName(), jpt.getName());
-	}
-	
-	@Test
-	public void testProduceValidAttributeName() {
-		String s = "a";
-		String res = JPAEditorUtil.produceValidAttributeName(s);
-		assertEquals(s, res);
-		
-		s = "A";
-		res = JPAEditorUtil.produceValidAttributeName(s);
-		assertEquals("a", res);		
-		
-		s = "aT";
-		res = JPAEditorUtil.produceValidAttributeName(s);
-		assertEquals("AT", res);
-		
-		s = "At";
-		res = JPAEditorUtil.produceValidAttributeName(s);
-		assertEquals("at", res);
-		
-		s = "AT";
-		res = JPAEditorUtil.produceValidAttributeName(s);
-		assertEquals("AT", res);		
-		
-		s = "a1";
-		res = JPAEditorUtil.produceValidAttributeName(s);
-		assertEquals("a1", res);		
-		
-		s = "A1";
-		res = JPAEditorUtil.produceValidAttributeName(s);
-		assertEquals("a1", res);				
-
-	}
-	
-	//@Test
-	public void testCreateImports() throws Exception {
-		String TEST_PROJECT = "Test";
-		JpaProject jpaProject = null;
-		JPACreateFactory factory = null;
-		String testProjectName = TEST_PROJECT + "_" + System.currentTimeMillis();
-	
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(testProjectName);
-		assertNotNull(jpaProject);
-		Thread.sleep(2000);		
-	
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		ICompilationUnit cu = createCompilationUnitFrom(customerFile);
-		
-		JPAEditorUtil.createImports(cu, "java.util.Hashtable<java.lang.StringBuffer,java.lang.Set<java.lang.String>>");
-	}
-	
-	@Test 
-	public void testSizePosition() {
-		SizePosition sp = new SizePosition(1,2,3,4);
-		assertTrue(sp.getWidth() == 1);
-		assertTrue(sp.getHeight() == 2);		
-		assertTrue(sp.getX() == 3);
-		assertTrue(sp.getY() == 4);
-	}
-	
-	//@Test
-	public void testGetText() throws Exception {
-		String TEST_PROJECT = "Test";
-		JpaProject jpaProject = null;
-		JPACreateFactory factory = null;
-		String testProjectName = TEST_PROJECT + "_" + System.currentTimeMillis();
-	
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(testProjectName);
-		assertNotNull(jpaProject);
-		Thread.sleep(2000);		
-	
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		int cnt = 0;
-		while ((cnt < 25) && (t1 == null)) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-			cnt++;
-		}
-		if (t1 == null)
-			return;
-		assertNotNull(JPAEditorUtil.getText(t1));
-		assertNotNull(JPAEditorUtil.getTooltipText(t1));
-		JavaPersistentAttribute jpa = t1.getAttributeNamed("id");
-		assertNotNull(jpa);
-		assertNotNull(JPAEditorUtil.getText(jpa));
-		assertNotNull(JPAEditorUtil.getTooltipText(jpa));
-
-	}
-	
-	//@Test
-	public void testSetJPTNameInShape() {
-		final String NEW_NAME = "NewJPTName";
-		ContainerShape cs = EasyMock.createMock(ContainerShape.class);
-		Shape sh = EasyMock.createMock(Shape.class);
-		GraphicsAlgorithm ga = EasyMock.createMock(GraphicsAlgorithm.class);
-		IPeServiceUtil peUtil = EasyMock.createMock(IPeServiceUtil.class);
-		EasyMock.expect(peUtil.getPropertyValue(sh, JPAEditorConstants.PROP_SHAPE_TYPE)).andStubReturn(ShapeType.HEADER.toString());
-		EList<Shape> shapes = new BasicInternalEList<Shape>(Shape.class);
-		shapes.add(sh);
-		EasyMock.expect(cs.getChildren()).andStubReturn(shapes);
-		Text txt = EasyMock.createMock(Text.class);
-		EList<GraphicsAlgorithm> gaCh = new BasicInternalEList<GraphicsAlgorithm>(GraphicsAlgorithm.class);  
-		gaCh.add(txt);
-		EasyMock.expect(sh.getGraphicsAlgorithm()).andStubReturn(ga);
-		EasyMock.expect(ga.getGraphicsAlgorithmChildren()).andStubReturn(gaCh);
-		txt.setValue(NEW_NAME);
-		EasyMock.replay(cs, sh, ga, peUtil, txt);
-		JPAEditorUtil.setJPTNameInShape(cs, NEW_NAME, peUtil);
-	}
-	
-	//@Test
-	public void testCreateBendPointList1() {
-		FreeFormConnection c = EasyMock.createMock(FreeFormConnection.class);
-		Anchor startAnchor = EasyMock.createMock(Anchor.class);
-		Anchor endAnchor = EasyMock.createMock(Anchor.class);
-		AnchorContainer startAnchorContainer = EasyMock.createMock(AnchorContainer.class);
-		AnchorContainer endAnchorContainer = EasyMock.createMock(AnchorContainer.class);
-		expect(c.getStart()).andStubReturn(startAnchor);
-		expect(c.getEnd()).andStubReturn(endAnchor);
-		expect(startAnchor.getParent()).andStubReturn(startAnchorContainer);
-		expect(endAnchor.getParent()).andStubReturn(endAnchorContainer);
-		RoundedRectangle rectStart = createMock(RoundedRectangle.class);
-		RoundedRectangle rectEnd = createMock(RoundedRectangle.class);
-		expect(startAnchorContainer.getGraphicsAlgorithm()).andStubReturn(rectStart);
-		expect(endAnchorContainer.getGraphicsAlgorithm()).andStubReturn(rectEnd);
-		expect(rectStart.getX()).andStubReturn(100);
-		expect(rectStart.getY()).andStubReturn(100);
-		expect(rectStart.getWidth()).andStubReturn(200);
-		expect(rectStart.getHeight()).andStubReturn(120);
-		expect(rectEnd.getX()).andStubReturn(100);
-		expect(rectEnd.getY()).andStubReturn(800);
-		expect(rectEnd.getWidth()).andStubReturn(200);
-		expect(rectEnd.getHeight()).andStubReturn(120);
-		
-		EList<Connection> ccc = new BasicInternalEList<Connection>(Connection.class);  
-		expect(startAnchor.getOutgoingConnections()).andStubReturn(ccc);
-		expect(endAnchor.getOutgoingConnections()).andStubReturn(ccc);
-
-		EasyMock.replay(c, startAnchor, endAnchor, startAnchorContainer, endAnchorContainer, rectStart, rectEnd);
-		
-		
-		
-		List<Point> lst = JPAEditorUtil.createBendPointList(c, false);
-		assertTrue(lst.size() == 2);
-		for (Point p : lst) {
-			assertTrue(p.x >= 0);
-			assertTrue(p.y >= 0);
-			
-			assertTrue(p.x <= 1000000);
-			assertTrue(p.y <= 1000000);			
-		}
-		
-	}
-	
-	//@Test
-	public void testCreateBendPointList2() {
-		FreeFormConnection c = EasyMock.createMock(FreeFormConnection.class);
-		Anchor startAnchor = EasyMock.createMock(Anchor.class);
-		Anchor endAnchor = EasyMock.createMock(Anchor.class);
-		AnchorContainer startAnchorContainer = EasyMock.createMock(AnchorContainer.class);
-		AnchorContainer endAnchorContainer = EasyMock.createMock(AnchorContainer.class);
-		expect(c.getStart()).andStubReturn(startAnchor);
-		expect(c.getEnd()).andStubReturn(endAnchor);
-		expect(startAnchor.getParent()).andStubReturn(startAnchorContainer);
-		expect(endAnchor.getParent()).andStubReturn(endAnchorContainer);
-		RoundedRectangle rectStart = createMock(RoundedRectangle.class);
-		RoundedRectangle rectEnd = createMock(RoundedRectangle.class);
-		expect(startAnchorContainer.getGraphicsAlgorithm()).andStubReturn(rectStart);
-		expect(endAnchorContainer.getGraphicsAlgorithm()).andStubReturn(rectEnd);
-		expect(rectStart.getX()).andStubReturn(100);
-		expect(rectStart.getY()).andStubReturn(100);
-		expect(rectStart.getWidth()).andStubReturn(200);
-		expect(rectStart.getHeight()).andStubReturn(120);
-		expect(rectEnd.getX()).andStubReturn(800);
-		expect(rectEnd.getY()).andStubReturn(100);
-		expect(rectEnd.getWidth()).andStubReturn(200);
-		expect(rectEnd.getHeight()).andStubReturn(120);
-
-		EList<Connection> ccc = new BasicInternalEList<Connection>(Connection.class);  
-		expect(startAnchor.getOutgoingConnections()).andStubReturn(ccc);		
-		expect(endAnchor.getOutgoingConnections()).andStubReturn(ccc);		
-		
-		EasyMock.replay(c, startAnchor, endAnchor, startAnchorContainer, endAnchorContainer, rectStart, rectEnd);
-		
-		List<Point> lst = JPAEditorUtil.createBendPointList(c, false);
-		assertTrue(lst.size() == 2);
-		for (Point p : lst) {
-			assertTrue(p.x >= 0);
-			assertTrue(p.y >= 0);
-			
-			assertTrue(p.x <= 1000000);
-			assertTrue(p.y <= 1000000);			
-		}
-		
-	}
-	
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}	
-	
-	@Test
-	public void testAreHeadersEqual() {
-		assertTrue(JPAEditorUtil.areHeadersEqual("header", "header"));
-		assertTrue(JPAEditorUtil.areHeadersEqual(JPAEditorConstants.HEADER_PREFIX_DIRTY + "header", "header"));
-		assertTrue(JPAEditorUtil.areHeadersEqual("header", JPAEditorConstants.HEADER_PREFIX_DIRTY + "header"));
-		
-		assertFalse(JPAEditorUtil.areHeadersEqual("header", "headers"));
-		assertFalse(JPAEditorUtil.areHeadersEqual("headers", "header"));
-		
-		assertFalse(JPAEditorUtil.areHeadersEqual(JPAEditorConstants.HEADER_PREFIX_DIRTY + "headers", "header"));
-		assertFalse(JPAEditorUtil.areHeadersEqual(JPAEditorConstants.HEADER_PREFIX_DIRTY + "header", "headers"));
-		
-		assertFalse(JPAEditorUtil.areHeadersEqual("headers", JPAEditorConstants.HEADER_PREFIX_DIRTY + "header"));
-		assertFalse(JPAEditorUtil.areHeadersEqual("header", JPAEditorConstants.HEADER_PREFIX_DIRTY + "headers"));
-	}
-	
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPASolverTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPASolverTest.java
deleted file mode 100644
index d578244..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPASolverTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-import java.net.URI;
-
-import org.easymock.EasyMock;
-import org.easymock.IArgumentMatcher;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarkerDelta;
-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.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.PictogramsPackage;
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaTypeMapping;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("unused")
-public class JPASolverTest {
-
-	private IEclipseFacade eclipseFacade;
-
-	/**
-	 * @throws java.lang.Exception
-	 */
-	@Before
-	public void setUp() throws Exception {
-		eclipseFacade = createEclipseFacade();
-	}
-
-	@Test
-	public void testResourceListenerRegistered() {
-		IWorkspace workspace = EasyMock.createMock(IWorkspace.class);
-		workspace.addResourceChangeListener(isA(IResourceChangeListener.class), eq(IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.POST_BUILD));
-		replay(workspace);
-		IEclipseFacade facade = EasyMock.createMock(IEclipseFacade.class);
-		expect(facade.getWorkspace()).andStubReturn(workspace);
-		replay(facade);
-		new JPASolver(facade, null);
-		verify(workspace, facade);
-	}
-
-	private IFile replayFile() {
-		IFile file = EasyMock.createMock(IFile.class);
-		URI uri = URI.create("file://project//aaa");
-		expect(file.getLocationURI()).andStubReturn(uri);
-		expect(file.exists()).andStubReturn(true);
-		IProject proj = EasyMock.createMock(IProject.class);
-		expect(proj.getType()).andStubReturn(IResource.PROJECT);
-		expect(file.getType()).andStubReturn(IResource.FILE);
-		expect(file.getFullPath()).andStubReturn(new Path("C:\\project\\aaa"));
-		IFile clsPath = EasyMock.createMock(IFile.class); 
-		expect(proj.getFile(".classpath")).andStubReturn(clsPath);
-		try {
-			expect(proj.hasNature("org.eclipse.jdt.core.javanature")).andStubReturn(true);
-		} catch (CoreException e) {}
-		expect(file.getProject()).andStubReturn(proj);
-		replay(file, proj);
-		return file;
-	}
-
-	private JavaPersistentType createJptForResource(IFile file, String name) {
-		JavaPersistentType jpt = EasyMock.createNiceMock(JavaPersistentType.class);
-		JpaProject jpaProject = EasyMock.createNiceMock(JpaProject.class);
-		JavaTypeMapping m = EasyMock.createNiceMock(JavaTypeMapping.class);
-		expect(jpt.getResource()).andStubReturn(file);
-		expect(jpt.getJpaProject()).andStubReturn(jpaProject);
-		expect(jpt.getMapping()).andStubReturn(m);
-		if (name != null)
-			expect(jpt.getName()).andStubReturn(name);
-		replay(jpt, jpaProject);
-		return jpt;
-	}
-
-	private IEclipseFacade createEclipseFacade() {
-		IEclipseFacade facade = EasyMock.createMock(IEclipseFacade.class);
-		return facade;
-	}
-
-	private void configureForWorkspace(IEclipseFacade facade) {
-		IWorkspace workspace = EasyMock.createMock(IWorkspace.class);
-		workspace.addResourceChangeListener(isA(IResourceChangeListener.class), eq(IResourceChangeEvent.POST_BUILD));
-		replay(workspace);
-		expect(facade.getWorkspace()).andStubReturn(workspace);
-	}
-
-	private IJPAEditorFeatureProvider configureRefreshEditorProvider() {
-		IDiagramEditor editor = EasyMock.createMock(IDiagramEditor.class);
-		editor.refresh();
-		replay(editor);
-		IDiagramTypeProvider diagramProvider = EasyMock.createMock(IDiagramTypeProvider.class);
-		expect(diagramProvider.getDiagramEditor()).andStubReturn(editor);
-		replay(diagramProvider);
-		IJPAEditorFeatureProvider provider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		expect(provider.getDiagramTypeProvider()).andStubReturn(diagramProvider);
-		return provider;
-	}
-
-	private IMarkerDelta replayDelta(IResource resource) {
-		IMarkerDelta delta = EasyMock.createMock(IMarkerDelta.class);
-		expect(delta.getResource()).andStubReturn(resource);
-		replay(delta);
-		return delta;
-	}
-
-	private JPASolver createSolver(IEclipseFacade facade, IJPAEditorUtil util) {
-		return new JPASolver(facade, util);
-	}
-
-	public static IResourceChangeListener eqResourceListener(IArgumentMatcher matcher) {
-		EasyMock.reportMatcher(matcher);
-		return null;
-	}
-
-	private IResourceChangeEvent replayEvent(IResource resource) {
-		IResourceChangeEvent event = EasyMock.createMock(IResourceChangeEvent.class);
-		expect(event.findMarkerDeltas(null, true)).andStubReturn(new IMarkerDelta[] { replayDelta(resource) });
-		replay(event);
-		return event;
-	}
-
-	private IResourceChangeEvent replayEmptyEvent() {
-		IResourceChangeEvent event = EasyMock.createMock(IResourceChangeEvent.class);
-		expect(event.findMarkerDeltas(null, true)).andStubReturn(new IMarkerDelta[] {});
-		replay(event);
-		return event;
-	}
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JpaArtifactFactoryTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JpaArtifactFactoryTest.java
deleted file mode 100644
index cae7c86..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JpaArtifactFactoryTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2011 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms 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 - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType;
-import org.eclipse.jpt.common.utility.model.event.ListAddEvent;
-import org.eclipse.jpt.common.utility.model.event.ListChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.ListClearEvent;
-import org.eclipse.jpt.common.utility.model.event.ListMoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListRemoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListReplaceEvent;
-import org.eclipse.jpt.common.utility.model.listener.ListChangeListener;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class JpaArtifactFactoryTest {
-	
-	String TEST_PROJECT = "Test";
-	private JpaProject jpaProject = null;
-	private JPACreateFactory factory = null;
-	IEclipseFacade eclipseFacade = null;
-	public static int cnt = 0;
-	
-	@Before
-	public void setUp() throws Exception {
-		factory = JPACreateFactory.instance();
-		jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
-		assertNotNull(jpaProject);
-		Thread.sleep(2000);
-	}
-	
-	/*
-	@Test
-	public void testJpaArtifactoryAttributeRelatedMethods() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-		
-		assertTrue(addressFile.exists());
-		JavaResourceAbstractType addressType = jpaProject.getJavaResourceType("com.test.Address");
-		assertNotNull(addressType);
-		
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}
-		JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		while (t2 == null) {
-			Thread.sleep(200);
-			t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
-		}
-
-		
-		CreateOneToOneBiDirRelationFeature ft = new CreateOneToOneBiDirRelationFeature(featureProvider);
-		ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-		
-		ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
-		ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-		
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
-		expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
-		expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
-		expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-		
-		Anchor a1 = EasyMock.createMock(Anchor.class);
-		Anchor a2 = EasyMock.createMock(Anchor.class);
-		expect(a1.getParent()).andStubReturn(cs1);
-		expect(a2.getParent()).andStubReturn(cs2);
-		expect(ctx.getSourceAnchor()).andStubReturn(a1);
-		expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
-		ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-		
-		Connection conn = EasyMock.createMock(Connection.class);
-		expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
-		replay(featureProvider, a1, a2, cs1, cs2, ctx);
-		ft.create(ctx);
-		OneToOneBiDirRelation rel = ft.createRelation(cs1, cs2);
-		assertNotNull(rel);
-		assertNotNull(rel.getId());
-		assertEquals(RelType.ONE_TO_ONE, rel.getRelType());
-		assertEquals(RelDir.BI, rel.getRelDir());
-		assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
-		assertNotNull(t2.getAttributeNamed(rel.getInverseAttributeName()));		
-		
-		JavaPersistentAttribute jpa = t1.getAttributeNamed(rel.getOwnerAttributeName());
-		assertTrue(JpaArtifactFactory.instance().hasEntityAnnotation(t1));
-		
-		//JavaPersistentAttribute jpa1 =  JpaArtifactFactory.instance().getRelatedAttribute(t1, t2);
-		//assertNotNull(jpa1);
-		//assertSame(jpa1, t2.getAttributeNamed(rel.getInverseAttributeName()));
-		
-		List<String> ans = JpaArtifactFactory.instance().getAnnotationStrings(jpa);
-		assertNotNull(ans);
-		assertTrue(ans.size() > 0);		
-		assertTrue(ans.contains("@OneToOne"));		
-		JpaArtifactFactory.instance().deleteAttribute(t1, rel.getOwnerAttributeName(), featureProvider);
-		jpa = t1.getAttributeNamed(rel.getOwnerAttributeName());
-		assertNull(jpa);
-	}
-	*/
-	
-	@Test 
-	public void testEntityListener() throws Exception {
-		IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
-		assertNotNull(jpaProject);	
-		IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-		
-		jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-		
-		assertTrue(customerFile.exists());
-		JavaResourceAbstractType customerType = jpaProject.getJavaResourceType("com.test.Customer");
-		assertNotNull(customerType);
-				
-		JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		while (t1 == null) {
-			Thread.sleep(200);
-			t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
-		}		
-		ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);		
-		expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-		replay(featureProvider);		
-
-//		Catches problem with multiple events - Eclipse bugzilla bug #259103
-		
-//		cnt = 0;
-//		t1.addListChangeListener(new EntityAttributesChangeListener());
-//		JpaArtifactFactory.instance().deleteAttribute(t1, "id", featureProvider);
-//		Thread.sleep(10000);
-//		assertTrue("The listener is being triggered " + cnt + " times", cnt == 1);
-		
-	}
-	
-	public ICompilationUnit createCompilationUnitFrom(IFile file) {
-		return JavaCore.createCompilationUnitFrom(file);
-	}
-
-	
-	
-	public class EntityAttributesChangeListener implements ListChangeListener {
-		
-		public void listChanged(ListChangeEvent event) {
-		}
-
-		public void itemsAdded(ListAddEvent arg0) {
-		}
-
-		public void itemsMoved(ListMoveEvent arg0) {
-		}
-
-		public void itemsRemoved(ListRemoveEvent arg0) {
-			cnt++;
-		}
-
-		public void itemsReplaced(ListReplaceEvent arg0) {
-		}
-
-		public void listCleared(ListClearEvent arg0) {
-		}
-	};
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/URLEscaper.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/URLEscaper.java
deleted file mode 100644
index 1a66ba2..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/URLEscaper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-public class URLEscaper {
-	private static final String specialChars = " <>#%{}|^~[]`;?@=&$";
-	private static final String escapeCodes  = "%20%3C%3E%23%25%7B%7D%7C%5E%7E%5B%5D%60%3B%3F%40%3D%26%24";
-	
-	public static String escape(String s) {
-		if (s == null)
-			return null;
-		StringBuffer res = new StringBuffer("");
-		for (int i = 0; i < s.length(); i++) {
-			char ch = s.charAt(i);
-			int ind = specialChars.indexOf(ch);
-			res.append(((ind >= 0) ? escapeCodes.substring(ind * 3, ind * 3 + 3) : ch));   
-		}
-		return res.toString();
-	}
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/test.xml b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/test.xml
deleted file mode 100644
index 98ad188..0000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/test.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-	<!-- The property ${eclipse-home} should be passed into this script -->
-	<!-- Set a meaningful default value for when it is not. -->
-	<echo message="basedir ${basedir}" />
-	<echo message="eclipse place ${eclipse-home}" />
-	<!-- sets the properties plugin-name -->
-	<property name="plugin-name" value="org.eclipse.jpt.jpadiagrameditor.ui.tests"/>
-	<echo level="debug" message="testRoot: ${testRoot}" />
-	<fail message="testRoot must be set" unless="testRoot" />
-
-	<!-- This target holds all initialization code that needs to be done for -->
-	<!-- all tests that are to be run. Initialization for individual tests -->
-	<!-- should be done within the body of the suite target. -->
-	<target name="init">
-		<tstamp/>
-		<delete>
-			<fileset dir="${eclipse-home}" includes="org*.xml"/>
-		</delete>
-	</target>
-
-	<!-- This target defines the tests that need to be run. -->
-	<target name="suite1">
-    	<property file="${testRoot}/testServer.properties"/>
-	    <property name="jpae-folder" value="${eclipse-home}/jpae_folder"/>
-	    <delete dir="${jpae-folder}" quiet="true"/>
-		
-		<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-			<property name="data-dir" value="${jpae-folder}"/>
-			<property name="plugin-name" value="${plugin-name}"/>
-			<property name="classname" value="org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.AllJpaEditorTests" />
-			<property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
-			<property name="extraVMargs" value="-Dorg.eclipse.jpt.jpa.jar=${testDir}/${jpt-persistence-jar} -Dorg.eclipse.jpt.eclipselink.jar=${testDir}/${jpt-eclipselink-jar}"/>
-		</ant>
-</target>
-
-	<!-- This target holds code to cleanup the testing environment after -->
-	<!-- after all of the tests have been run. You can use this target to -->
-	<!-- delete temporary files that have been created. -->
-	<target name="cleanup">
-	</target>
-
-	<!-- This target runs the test suite. Any actions that need to happen -->
-	<!-- after all the tests have been run should go here. -->
-	<target name="run" depends="init, suite1, cleanup">
-	</target>
-</project>